summaryrefslogtreecommitdiff
path: root/libavcodec/aac_ac3_parser.c
diff options
context:
space:
mode:
authorVittorio Giovara <vittorio.giovara@gmail.com>2017-04-26 11:08:17 -0400
committerVittorio Giovara <vittorio.giovara@gmail.com>2017-04-27 14:19:50 -0400
commitdd3aa85b68c017c419acb0c39ff6aa890ce89e87 (patch)
tree9fbfdac36f465b138d489aa1572e4efa9de290d3 /libavcodec/aac_ac3_parser.c
parentc7bf98d4372e9217c8d75d2ca1f298385909e4da (diff)
aac_ac3_parser: Drop in-parser downmix functionality
request_channel_layout is a decoder option and it makes no sense to have it in a parser. This feature was needed in the past when the decoder was allowed to reuse the avctx from the demuxer. Nowadays the decoder receives only the parameters from it, already containing the real channel layout (and the correct request_channel_layout option). After initialization the decoder overwrites the channel layout with the downmixed one that is actually output, so there is no need to preserve this functionality in the parser. Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
Diffstat (limited to 'libavcodec/aac_ac3_parser.c')
-rw-r--r--libavcodec/aac_ac3_parser.c16
1 files changed, 2 insertions, 14 deletions
diff --git a/libavcodec/aac_ac3_parser.c b/libavcodec/aac_ac3_parser.c
index 806a826ea0..a754f4a957 100644
--- a/libavcodec/aac_ac3_parser.c
+++ b/libavcodec/aac_ac3_parser.c
@@ -82,20 +82,8 @@ get_next:
seconds is still correct (as is the number of bits in the frame). */
if (avctx->codec_id != AV_CODEC_ID_AAC) {
avctx->sample_rate = s->sample_rate;
-
- /* (E-)AC-3: allow downmixing to stereo or mono */
- if (s->channels > 1 &&
- avctx->request_channel_layout == AV_CH_LAYOUT_MONO) {
- avctx->channels = 1;
- avctx->channel_layout = AV_CH_LAYOUT_MONO;
- } else if (s->channels > 2 &&
- avctx->request_channel_layout == AV_CH_LAYOUT_STEREO) {
- avctx->channels = 2;
- avctx->channel_layout = AV_CH_LAYOUT_STEREO;
- } else {
- avctx->channels = s->channels;
- avctx->channel_layout = s->channel_layout;
- }
+ avctx->channels = s->channels;
+ avctx->channel_layout = s->channel_layout;
s1->duration = s->samples;
avctx->audio_service_type = s->service_type;
}