[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