[vlc-devel] [PATCH] resource: do not keep the free vout as free when it's going to be reused
Thomas Guillem
thomas at gllm.fr
Wed Jan 8 13:27:43 CET 2020
LGTM
On Wed, Jan 8, 2020, at 08:03, Steve Lhomme wrote:
> Replaces https://patches.videolan.org/patch/25912/
>
> The assert wasn't right given the code just above it. The cfg->vout
> could be a secondary vout which is not the free vout. In that case the
> free vout (which should only be the primary one) shouldn't be touched.
>
> On 2020-01-08 8:01, Steve Lhomme wrote:
> > Calling input_resource_GetVoutDecoderDevice() with a known vout means it's
> > going to be used and thus it's not free anymore.
> >
> > This prevents the es_out to release the vout when the decoder has actually
> > reused it.
> > ---
> > src/input/resource.c | 3 +++
> > 1 file changed, 3 insertions(+)
> >
> > diff --git a/src/input/resource.c b/src/input/resource.c
> > index a0dfbc3a687..4ff6edd79c0 100644
> > --- a/src/input/resource.c
> > +++ b/src/input/resource.c
> > @@ -410,6 +410,9 @@ vout_thread_t *input_resource_GetVoutDecoderDevice(input_resource_t *p_resource,
> > assert(p_resource->i_vout > 0);
> > *order = p_resource->pp_vout[0] == cfg->vout ? VLC_VOUT_ORDER_PRIMARY
> > : VLC_VOUT_ORDER_SECONDARY;
> > + /* the caller is going to reuse the free vout, it's not free anymore */
> > + if (p_resource->p_vout_free == cfg->vout)
> > + p_resource->p_vout_free = NULL;
> > vlc_mutex_unlock(&p_resource->lock_hold);
> > }
> >
> > --
> > 2.17.1
> >
> > _______________________________________________
> > vlc-devel mailing list
> > To unsubscribe or modify your subscription options:
> > https://mailman.videolan.org/listinfo/vlc-devel
> >
> _______________________________________________
> vlc-devel mailing list
> To unsubscribe or modify your subscription options:
> https://mailman.videolan.org/listinfo/vlc-devel
More information about the vlc-devel
mailing list