[vlc-devel] [PATCH 01/11] input: resource: remove useless lock

Steve Lhomme robux4 at ycbcr.xyz
Wed Jul 1 10:00:16 CEST 2020


LGTM, provided the documentation is correct.

On 2020-06-30 17:27, Thomas Guillem wrote:
> cf. comment on the input_resource_t struct : p_resource->pp_vout[0] can be read
> with 'lock', p_vout_free can be read/write with 'lock', not needing
> 'lock_hold'.
> ---
>   src/input/resource.c | 6 +-----
>   1 file changed, 1 insertion(+), 5 deletions(-)
> 
> diff --git a/src/input/resource.c b/src/input/resource.c
> index 79b42bf07cb..e145a88342c 100644
> --- a/src/input/resource.c
> +++ b/src/input/resource.c
> @@ -326,13 +326,10 @@ static void input_resource_PutVoutLocked(input_resource_t *p_resource,
>                                            vout_thread_t *vout)
>   {
>       assert(vout != NULL);
> -    vlc_mutex_lock(&p_resource->lock_hold);
>       assert( p_resource->i_vout > 0 );
>   
>       if (p_resource->pp_vout[0] == vout)
>       {
> -        vlc_mutex_unlock(&p_resource->lock_hold);
> -
>           assert(p_resource->p_vout_free == NULL || p_resource->p_vout_free == vout);
>           msg_Dbg(p_resource->p_parent, "saving a free vout");
>           p_resource->p_vout_free = vout;
> @@ -348,6 +345,7 @@ static void input_resource_PutVoutLocked(input_resource_t *p_resource,
>           }
>   #endif
>   
> +        vlc_mutex_lock(&p_resource->lock_hold);
>           TAB_REMOVE(p_resource->i_vout, p_resource->pp_vout, vout);
>           vlc_mutex_unlock(&p_resource->lock_hold);
>           vout_Stop(vout);
> @@ -399,14 +397,12 @@ vout_thread_t *input_resource_GetVoutDecoderDevice(input_resource_t *p_resource,
>       }
>       else
>       {
> -        vlc_mutex_lock(&p_resource->lock_hold);
>           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);
>       }
>   
>   #ifndef NDEBUG
> -- 
> 2.20.1
> 
> _______________________________________________
> 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