vlc | branch: master | Rémi Denis-Courmont <[email protected]> | Sat Dec  8 
23:58:38 2012 +0200| [3de8fd13f26610b4f5ae4d87cb4e5653b4498c28] | committer: 
Rémi Denis-Courmont

Revert "input: create an aout if UI wants to configure audio"

Due to mismatched "resource" and "hold" locks, this introduced a race
where more than one audio output gets created.

This reverts commit 4e57bd052e25c0538a6b1d7e83b8370910ef71dd.

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=3de8fd13f26610b4f5ae4d87cb4e5653b4498c28
---

 src/input/resource.c |    5 -----
 src/playlist/aout.c  |    4 ++++
 2 files changed, 4 insertions(+), 5 deletions(-)

diff --git a/src/input/resource.c b/src/input/resource.c
index cec078e..25f979b 100644
--- a/src/input/resource.c
+++ b/src/input/resource.c
@@ -387,11 +387,6 @@ audio_output_t *input_resource_HoldAout( input_resource_t 
*p_resource )
 
     vlc_mutex_lock( &p_resource->lock_hold );
     p_aout = p_resource->p_aout;
-    if( p_aout == NULL )
-    {   /* No audio outputs exist yet. Create an idle one. */
-        p_aout = aout_New( p_resource->p_parent );
-        p_resource->p_aout = p_aout;
-    }
     if( p_aout )
         vlc_object_hold( p_aout );
     vlc_mutex_unlock( &p_resource->lock_hold );
diff --git a/src/playlist/aout.c b/src/playlist/aout.c
index 2ba1273..72c7f0f 100644
--- a/src/playlist/aout.c
+++ b/src/playlist/aout.c
@@ -33,6 +33,10 @@
 
 audio_output_t *playlist_GetAout(playlist_t *pl)
 {
+    /* NOTE: it is assumed that the input resource exists. In practice,
+     * the playlist must have been activated. This is automatic when calling
+     * pl_Get(). FIXME: input resources are deleted at deactivation, this can
+     * be too early. */
     playlist_private_t *sys = pl_priv(pl);
     return input_resource_HoldAout(sys->p_input_resource);
 }

_______________________________________________
vlc-commits mailing list
[email protected]
http://mailman.videolan.org/listinfo/vlc-commits

Reply via email to