changeset 23974:30677153df21

Set lavc_context->channels before opening the codec, it is sufficient to select the desired number of codecs for ffdca and does not break other codecs like ffvorbis that do not (re)set the channel number during decode.
author reimar
date Wed, 01 Aug 2007 23:36:40 +0000
parents 0d483afee811
children 400c39bc7256
files libmpcodecs/ad_ffmpeg.c
diffstat 1 files changed, 2 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/libmpcodecs/ad_ffmpeg.c	Wed Aug 01 18:11:09 2007 +0000
+++ b/libmpcodecs/ad_ffmpeg.c	Wed Aug 01 23:36:40 2007 +0000
@@ -86,6 +86,8 @@
                lavc_context->extradata_size);	
     }
 
+    // Set desired number of channels
+    lavc_context->channels = audio_output_channels;
     /* open it */
     if (avcodec_open(lavc_context, lavc_codec) < 0) {
         mp_msg(MSGT_DECAUDIO,MSGL_ERR, MSGTR_CantOpenCodec);
@@ -105,8 +107,6 @@
        sh_audio->ds->ss_mul = 2*sh_audio->wf->nChannels; // 1 byte*ch/packet
    }
 
-   // Set desired number of channels
-   lavc_context->channels = audio_output_channels;
    // Decode at least 1 byte:  (to get header filled)
    x=decode_audio(sh_audio,sh_audio->a_buffer,1,sh_audio->a_buffer_size);
    if(x>0) sh_audio->a_buffer_len=x;