[vlc-devel] [PATCH 9/9] resource: inline RequestSout()
Thomas Guillem
thomas at gllm.fr
Wed Jan 20 09:35:34 UTC 2021
On Wed, Jan 20, 2021, at 09:26, Rémi Denis-Courmont wrote:
> Hi,
>
> Obviously we don't need the lock, other than as a run-time sanity check. But it was taken in the preexisting code, so I prefer to keep it as far as this patch set is concerned.
>
> By the way, I think we should remove !ENABLE_SOUT from the core (but keep it in modules/). The savings are negligible.
+1
>
> Le 20 janvier 2021 08:46:53 GMT+02:00, Steve Lhomme <robux4 at ycbcr.xyz> a écrit :
>> Patchset LGTM apart from comments below.
>>
>> On 2021-01-19 19:21, remi at remlab.net wrote:
>>> From: Rémi Denis-Courmont <remi at remlab.net>
>>>
>>> (no functional changes) src/input/resource.c | 68 +++++++++++++++++++-------------------------
>>> 1 file changed, 29 insertions(+), 39 deletions(-)
>>>
>>> diff --git a/src/input/resource.c b/src/input/resource.c
>>> index 1f8a5d5e0e..7c4716251c 100644
>>> --- a/src/input/resource.c
>>> +++ b/src/input/resource.c
>>> @@ -141,42 +141,6 @@ static void DestroySout( input_resource_t *p_resource )
>>> p_resource->p_sout = NULL;
>>> }
>>>
>>> -static sout_instance_t *RequestSout( input_resource_t *p_resource,
>>> - sout_instance_t *p_sout, const char *psz_sout )
>>> -{
>>> -#ifdef ENABLE_SOUT
>>> - assert( !p_sout );
>>> -
>>> - /* Check the validity of the sout */
>>> - if( p_resource->p_sout &&
>>> - strcmp( p_resource->p_sout->psz_sout, psz_sout ) )
>>> - {
>>> - msg_Dbg( p_resource->p_parent, "destroying unusable sout" );
>>> - DestroySout( p_resource );
>>> - }
>>> -
>>> - if( p_resource->p_sout )
>>> - {
>>> - /* Reuse it */
>>> - msg_Dbg( p_resource->p_parent, "reusing sout" );
>>> - msg_Dbg( p_resource->p_parent, "you probably want to use gather stream_out" );
>>> - }
>>> - else
>>> - {
>>> - /* Create a new one */
>>> - p_resource->p_sout = sout_NewInstance( p_resource->p_parent, psz_sout );
>>> - }
>>> -
>>> - p_sout = p_resource->p_sout;
>>> - p_resource->p_sout = NULL;
>>> -
>>> - return p_sout;
>>> -#else
>>> - VLC_UNUSED (p_resource); VLC_UNUSED (p_sout); VLC_UNUSED (psz_sout);
>>> - return NULL;
>>> -#endif
>>> -}
>>> -
>>> /* */
>>> static void DestroyVout( input_resource_t *p_resource )
>>> {
>>> @@ -609,12 +573,38 @@ void input_resource_StopFreeVout(input_resource_t *p_resource)
>>> /* */
>>> sout_instance_t *input_resource_RequestSout( input_resource_t *p_resource, const char *psz_sout )
>>> {
>>> + sout_instance_t *sout;
>>> +
>>> assert(psz_sout != NULL);
>>> vlc_mutex_lock( &p_resource->lock );
>>
>> Do we need the lock if ENABLE_SOUT is not defined ? (IMO no) Is it even
>> initialized in that case ? (IMO it shouldn't)
>>
>>> - sout_instance_t *p_ret = RequestSout( p_resource, NULL, psz_sout );
>>> - vlc_mutex_unlock( &p_resource->lock );
>>> +#ifdef ENABLE_SOUT
>>> + /* Check the validity of the sout */
>>> + if (p_resource->p_sout != NULL
>>> + && strcmp(p_resource->p_sout->psz_sout, psz_sout) != 0)
>>
>> Not a fan of the && at the beginning. I prefer the way it was in the
>> code you moved.
>>
>>> + {
>>> + msg_Dbg(p_resource->p_parent, "destroying unusable sout");
>>> + DestroySout(p_resource);
>>> + }
>>>
>>> - return p_ret;
>>> + sout = p_resource->p_sout;
>>> +
>>> + if (sout != NULL)
>>> + {
>>> + /* Reuse it */
>>> + msg_Dbg(p_resource->p_parent, "reusing sout");
>>> + msg_Dbg(p_resource->p_parent, "you probably want to use gather stream_out");
>>> + p_resource->p_sout = NULL;
>>> + }
>>> + else
>>> + {
>>> + /* Create a new one */
>>> + sout = sout_NewInstance(p_resource->p_parent, psz_sout);
>>> + }
>>> +#else
>>> + sout = NULL;
>>> +#endif
>>> + vlc_mutex_unlock( &p_resource->lock );
>>> + return sout;
>>> }
>>>
>>> void input_resource_PutSout(input_resource_t *resource, sout_instance_t *sout)
>>> --
>>> 2.30.0vlc-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
>
> --
> Envoyé de mon appareil Android avec Courriel K-9 Mail. Veuillez excuser ma brièveté.
> _______________________________________________
> vlc-devel mailing list
> To unsubscribe or modify your subscription options:
> https://mailman.videolan.org/listinfo/vlc-devel
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.videolan.org/pipermail/vlc-devel/attachments/20210120/659b59d3/attachment.html>
More information about the vlc-devel
mailing list