[vlc-devel] [vlc-commits] aout: simplify, remove unset_str[]

Rémi Denis-Courmont remi at remlab.net
Tue Jun 27 14:21:23 CEST 2017


Le 27 juin 2017 10:53:04 GMT+02:00, Thomas Guillem <git at videolan.org> a écrit :
>vlc | branch: master | Thomas Guillem <thomas at gllm.fr> | Tue Jun 27
>10:52:05 2017 +0200| [4074b544fb288b0703f4b8160c9feed6ecb8a318] |
>committer: Thomas Guillem
>
>aout: simplify, remove unset_str[]
>
>>
>http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=4074b544fb288b0703f4b8160c9feed6ecb8a318
>---
>
> src/audio_output/output.c | 13 +++++--------
> 1 file changed, 5 insertions(+), 8 deletions(-)
>
>diff --git a/src/audio_output/output.c b/src/audio_output/output.c
>index 8a70cdfddc..dbf4f8169d 100644
>--- a/src/audio_output/output.c
>+++ b/src/audio_output/output.c
>@@ -35,8 +35,6 @@
> #include "libvlc.h"
> #include "aout_internal.h"
> 
>-static const char unset_str[1] = ""; /* Non-NULL constant string
>pointer */
>-
> struct aout_dev
> {
>     aout_dev_t *next;
>@@ -189,7 +187,7 @@ audio_output_t *aout_New (vlc_object_t *parent)
>     vlc_mutex_init (&owner->lock);
>     vlc_mutex_init (&owner->req.lock);
>     vlc_mutex_init (&owner->dev.lock);
>-    owner->req.device = (char *)unset_str;
>+    owner->req.device = NULL;
>     owner->req.volume = -1.f;
>     owner->req.mute = -1;
> 
>@@ -357,7 +355,7 @@ static void aout_Destructor (vlc_object_t *obj)
>         free (dev);
>     }
> 
>-    assert (owner->req.device == unset_str);
>+    assert (owner->req.device == NULL);
>     vlc_mutex_destroy (&owner->req.lock);
>     vlc_mutex_destroy (&owner->lock);
> }
>@@ -564,11 +562,11 @@ void aout_OutputUnlock (audio_output_t *aout)
>     vlc_assert_locked (&owner->lock);
>     vlc_mutex_lock (&owner->req.lock);
> 
>-    if (owner->req.device != unset_str)
>+    if (owner->req.device != NULL)
>     {
>         aout_OutputDeviceSet (aout, owner->req.device);
>         free (owner->req.device);
>-        owner->req.device = (char *)unset_str;
>+        owner->req.device = NULL;
>     }
> 
>     if (owner->req.volume >= 0.f)
>@@ -675,8 +673,7 @@ int aout_DeviceSet (audio_output_t *aout, const
>char *id)
>     }
> 
>     vlc_mutex_lock (&owner->req.lock);
>-    if (owner->req.device != unset_str)
>-        free (owner->req.device);
>+    free (owner->req.device);
>     owner->req.device = dev;
>     vlc_mutex_unlock (&owner->req.lock);
> 
>
>_______________________________________________
>vlc-commits mailing list
>vlc-commits at videolan.org
>https://mailman.videolan.org/listinfo/vlc-commits

IIRC, the API documentation explains why this was needed: unsetting the audio device (however the aout wants to implement it) - and you just broke it. Please revert.
-- 
Rémi Denis-Courmont
Typed on an inconvenient virtual keyboard
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.videolan.org/pipermail/vlc-devel/attachments/20170627/176a3332/attachment.html>


More information about the vlc-devel mailing list