]> git.sesse.net Git - vlc/commitdiff
aout: add wait parameter to aout_DecFlush()
authorRémi Denis-Courmont <remi@remlab.net>
Sat, 21 Mar 2015 19:56:50 +0000 (21:56 +0200)
committerRémi Denis-Courmont <remi@remlab.net>
Sat, 21 Mar 2015 20:00:46 +0000 (22:00 +0200)
src/audio_output/aout_internal.h
src/audio_output/dec.c
src/input/decoder.c

index 10c790b383b8b1989aa71c0c7500230bb2882e51..9f6a4534fd22d24b4c85ea4494f3e5dcd3c09d44 100644 (file)
@@ -139,7 +139,7 @@ void aout_DecDelete(audio_output_t *);
 int aout_DecPlay(audio_output_t *, block_t *, int i_input_rate);
 int aout_DecGetResetLost(audio_output_t *);
 void aout_DecChangePause(audio_output_t *, bool b_paused, mtime_t i_date);
-void aout_DecFlush(audio_output_t *);
+void aout_DecFlush(audio_output_t *, bool wait);
 bool aout_DecIsEmpty(audio_output_t *);
 void aout_RequestRestart (audio_output_t *, unsigned);
 
index 2dfcff013b4e863acfaa2d868411507e9a1adba6..74440728958b99b98bfa0e09b5e0cd51c1455be4 100644 (file)
@@ -411,14 +411,14 @@ void aout_DecChangePause (audio_output_t *aout, bool paused, mtime_t date)
     aout_OutputUnlock (aout);
 }
 
-void aout_DecFlush (audio_output_t *aout)
+void aout_DecFlush (audio_output_t *aout, bool wait)
 {
     aout_owner_t *owner = aout_owner (aout);
 
     aout_OutputLock (aout);
     owner->sync.end = VLC_TS_INVALID;
     if (owner->mixer_format.i_format)
-        aout_OutputFlush (aout, false);
+        aout_OutputFlush (aout, wait);
     aout_OutputUnlock (aout);
 }
 
index 452f3f87b781cf769fa2a24b28783e4fd6874a71..57d185320fde33953a738fa138f0efb40f5a2e8c 100644 (file)
@@ -1152,7 +1152,7 @@ static void DecoderDecodeAudio( decoder_t *p_dec, block_t *p_block )
         {
             msg_Dbg( p_dec, "End of audio preroll" );
             if( p_owner->p_aout )
-                aout_DecFlush( p_owner->p_aout );
+                aout_DecFlush( p_owner->p_aout, false );
             /* */
             p_owner->i_preroll_end = VLC_TS_INVALID;
         }
@@ -1218,7 +1218,7 @@ static void DecoderProcessAudio( decoder_t *p_dec, block_t *p_block, bool b_flus
     }
 
     if( b_flush && p_owner->p_aout )
-        aout_DecFlush( p_owner->p_aout );
+        aout_DecFlush( p_owner->p_aout, false );
 }
 
 static void DecoderPlaySpu( decoder_t *p_dec, subpicture_t *p_subpic )
@@ -1642,7 +1642,7 @@ static void DeleteDecoder( decoder_t * p_dec )
     if( p_owner->p_aout )
     {
         /* TODO: REVISIT gap-less audio */
-        aout_DecFlush( p_owner->p_aout );
+        aout_DecFlush( p_owner->p_aout, false );
         aout_DecDelete( p_owner->p_aout );
         input_resource_PutAout( p_owner->p_resource, p_owner->p_aout );
         if( p_owner->p_input != NULL )