summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2013-02-22 17:33:22 +0100
committerMichael Niedermayer <michaelni@gmx.at>2013-02-22 18:19:42 +0100
commit6f77122bf5712da1d860a0ad7174181fd0bcffd9 (patch)
tree1ffd04b6972f47d00c5c76a75fce388729139f4d
parentc46400ddecab3a47e8f1aec9a405bbe2a321b06a (diff)
aac: reconfigure output on pop
Fixes Ticket1918 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 880a38ea19..87cb48ad65 100644
--- a/libavcodec/aacdec.c
+++ b/libavcodec/aacdec.c
@@ -115,6 +115,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,
+ enum OCStatus oc_type, int get_new_frame);
+
#define overread_err "Input buffer exhausted before END element found\n"
static int count_channels(uint8_t (*layout)[3], int tags)
@@ -408,6 +412,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].status, 0);
}
}