aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2013-02-22 17:33:22 +0100
committerMichael Niedermayer <michaelni@gmx.at>2013-02-25 05:19:34 +0100
commit97a740acc58792bf296f7f8b5ee3253fa8a48f0c (patch)
tree83169a8cfcdb2710eb4c392f04a708328fb202da
parent02f241d1ed10cdd2c8d304d306e71a1a0d79cec3 (diff)
downloadffmpeg-97a740acc58792bf296f7f8b5ee3253fa8a48f0c.tar.gz
aac: reconfigure output on pop
Fixes Ticket1918 Signed-off-by: Michael Niedermayer <michaelni@gmx.at> (cherry picked from commit 6f77122bf5712da1d860a0ad7174181fd0bcffd9) Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
-rw-r--r--libavcodec/aacdec.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/libavcodec/aacdec.c b/libavcodec/aacdec.c
index 34cc18bda6..4f0cf4b418 100644
--- a/libavcodec/aacdec.c
+++ b/libavcodec/aacdec.c
@@ -112,6 +112,10 @@
static VLC vlc_scalefactors;
static VLC vlc_spectral[11];
+static int output_configure(AACContext *ac,
+ uint8_t layout_map[MAX_ELEM_ID*4][3], int tags,
+ int channel_config, enum OCStatus oc_type);
+
#define overread_err "Input buffer exhausted before END element found\n"
static int count_channels(uint8_t (*layout)[3], int tags)
@@ -373,6 +377,8 @@ static void pop_output_configuration(AACContext *ac) {
ac->oc[1] = ac->oc[0];
ac->avctx->channels = ac->oc[1].channels;
ac->avctx->channel_layout = ac->oc[1].channel_layout;
+ output_configure(ac, ac->oc[1].layout_map, ac->oc[1].layout_map_tags,
+ ac->oc[1].m4ac.chan_config, ac->oc[1].status);
}
}