summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Niedermayer <[email protected]>2013-02-22 17:33:22 +0100
committerMichael Niedermayer <[email protected]>2013-02-26 03:39:44 +0100
commit6e8ed38fabb51c46467bed29bed75523785c883f (patch)
treebb626ab8b7bf27a619c2eea61ff21d58b0155ef3
parentf64e4a8c9a19d086c4de99da76e5eb7b664e60d2 (diff)
aac: reconfigure output on pop
Fixes Ticket1918 Signed-off-by: Michael Niedermayer <[email protected]> (cherry picked from commit 6f77122bf5712da1d860a0ad7174181fd0bcffd9) Signed-off-by: Michael Niedermayer <[email protected]>
-rw-r--r--libavcodec/aacdec.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/libavcodec/aacdec.c b/libavcodec/aacdec.c
index 6c17c337f3..d782e578a7 100644
--- a/libavcodec/aacdec.c
+++ b/libavcodec/aacdec.c
@@ -113,6 +113,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)
@@ -406,6 +410,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);
}
}