]> git.sesse.net Git - ffmpeg/blobdiff - libavcodec/aac_ac3_parser.c
CD+G demuxer and decoder
[ffmpeg] / libavcodec / aac_ac3_parser.c
index fedabdf8153cb42353c4644be5cd4fdbd2b7cce9..85993c09b7675687b68d6a72215b0eadc89ccba9 100644 (file)
@@ -72,6 +72,9 @@ get_next:
 
     /* update codec info */
     avctx->sample_rate = s->sample_rate;
+    if(s->codec_id)
+        avctx->codec_id = s->codec_id;
+
     /* allow downmixing to stereo (or mono for AC-3) */
     if(avctx->request_channels > 0 &&
             avctx->request_channels < s->channels &&
@@ -80,8 +83,9 @@ get_next:
             (avctx->codec_id == CODEC_ID_AC3 ||
              avctx->codec_id == CODEC_ID_EAC3)))) {
         avctx->channels = avctx->request_channels;
-    } else {
+    } else if (avctx->codec_id != CODEC_ID_AAC || s->channels) {
         avctx->channels = s->channels;
+        avctx->channel_layout = s->channel_layout;
     }
     avctx->bit_rate = s->bit_rate;
     avctx->frame_size = s->samples;