vlc | branch: master | Thomas Guillem <tho...@gllm.fr> | Fri Jun 26 09:08:46 
2015 +0200| [a65d213b8b21740bc999d75c424e8879ce924ca0] | committer: Thomas 
Guillem

Revert "libvlc_media_player: create the aout when first setting audio options"

This leads to very inconsistent behaviour on WASAPI and PulseAudio.

This reverts commit 1d7c55982727b20796e0d5f95434ea02b4e23614.

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

 lib/audio.c        |   17 ++++++-----------
 lib/media_player.c |    4 ++++
 2 files changed, 10 insertions(+), 11 deletions(-)

diff --git a/lib/audio.c b/lib/audio.c
index 262c8d9..7901c64 100644
--- a/lib/audio.c
+++ b/lib/audio.c
@@ -51,17 +51,7 @@ static audio_output_t *GetAOut( libvlc_media_player_t *mp )
 
     audio_output_t *p_aout = input_resource_HoldAout( mp->input.p_resource );
     if( p_aout == NULL )
-    {
-        p_aout = input_resource_GetAout( mp->input.p_resource );
-        if( p_aout != NULL )
-        {
-            input_resource_PutAout( mp->input.p_resource, p_aout );
-            p_aout = input_resource_HoldAout( mp->input.p_resource );
-        }
-        else
-            libvlc_printerr( "No active audio output" );
-    }
-
+        libvlc_printerr( "No active audio output" );
     return p_aout;
 }
 
@@ -143,6 +133,11 @@ int libvlc_audio_output_set( libvlc_media_player_t *mp, 
const char *psz_name )
     /* Forget the existing audio output */
     input_resource_ResetAout(mp->input.p_resource);
 
+    /* Create a new audio output */
+    audio_output_t *aout = input_resource_GetAout(mp->input.p_resource);
+    if( aout != NULL )
+        input_resource_PutAout(mp->input.p_resource, aout);
+
     return 0;
 }
 
diff --git a/lib/media_player.c b/lib/media_player.c
index 09e3975..83af6cd 100644
--- a/lib/media_player.c
+++ b/lib/media_player.c
@@ -599,6 +599,10 @@ libvlc_media_player_new( libvlc_instance_t *instance )
         vlc_object_release(mp);
         return NULL;
     }
+    audio_output_t *aout = input_resource_GetAout(mp->input.p_resource);
+    if( aout != NULL )
+        input_resource_PutAout(mp->input.p_resource, aout);
+
     vlc_mutex_init (&mp->input.lock);
     mp->i_refcount = 1;
     mp->p_event_manager = libvlc_event_manager_new(mp, instance);

_______________________________________________
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits

Reply via email to