]> git.sesse.net Git - vlc/commitdiff
Fixed transcode audio filters insertion (close #3199).
authorLaurent Aimar <fenrir@videolan.org>
Thu, 21 Jan 2010 22:41:19 +0000 (23:41 +0100)
committerLaurent Aimar <fenrir@videolan.org>
Thu, 21 Jan 2010 23:18:34 +0000 (00:18 +0100)
Calls to aout_PrepareFormat where missing.

modules/stream_out/transcode/audio.c

index 1a89b4b47c11accf23a7cf1953aa2456bcfd1db8..744bbd4b3deec4164a9af425c586cd997d11bea8 100644 (file)
@@ -138,6 +138,7 @@ static int transcode_audio_filter_chain_build( sout_stream_t *p_stream, filter_c
         /* First step, convert to fl32 */
         current.i_codec =
         current.audio.i_format = VLC_CODEC_FL32;
+        aout_FormatPrepare( &current.audio );
 
         if( !filter_chain_AppendFilter( p_chain, NULL, NULL, NULL, &current ) )
         {
@@ -151,6 +152,7 @@ static int transcode_audio_filter_chain_build( sout_stream_t *p_stream, filter_c
     if( current.audio.i_rate != p_dst->audio.i_rate )
     {
         current.audio.i_rate = p_dst->audio.i_rate;
+        aout_FormatPrepare( &current.audio );
         if( !filter_chain_AppendFilter( p_chain, NULL, NULL, NULL, &current ) )
         {
             msg_Err( p_stream, "Failed to find conversion filter for resampling" );
@@ -171,6 +173,7 @@ static int transcode_audio_filter_chain_build( sout_stream_t *p_stream, filter_c
             current.audio.i_physical_channels =
             current.audio.i_original_channels = pi_channels_maps[current.audio.i_channels];
 
+        aout_FormatPrepare( &current.audio );
         if( !filter_chain_AppendFilter( p_chain, NULL, NULL, NULL, &current ) )
         {
             msg_Err( p_stream, "Failed to find conversion filter for channel mixing" );
@@ -182,6 +185,7 @@ static int transcode_audio_filter_chain_build( sout_stream_t *p_stream, filter_c
     if( current.i_codec != p_dst->i_codec )
     {
         current.i_codec = p_dst->i_codec;
+        aout_FormatPrepare( &current.audio );
         if( !filter_chain_AppendFilter( p_chain, NULL, NULL, NULL, &current ) )
         {
             msg_Err( p_stream, "Failed to find conversion filter to %4.4s",