aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlex Converse <alex.converse@gmail.com>2012-05-22 14:43:28 -0700
committerAlex Converse <alex.converse@gmail.com>2012-06-04 15:16:17 -0700
commit79c8e29a7e404dbcf670df599fad6894f98ccab2 (patch)
tree238861860ca0d9ba722f1c12066126e2b3d3ad04
parent41e9682af22336bd08a5906629731c0c32aa00c6 (diff)
downloadffmpeg-79c8e29a7e404dbcf670df599fad6894f98ccab2.tar.gz
aacdec: Turn PS off when switching to stereo and turn it to implicit when switching to mono.
-rw-r--r--libavcodec/aacdec.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/libavcodec/aacdec.c b/libavcodec/aacdec.c
index bd5ba00373..ddc7eef138 100644
--- a/libavcodec/aacdec.c
+++ b/libavcodec/aacdec.c
@@ -461,6 +461,7 @@ static ChannelElement *get_che(AACContext *ac, int type, int elem_id)
return NULL;
ac->oc[1].m4ac.chan_config = 2;
+ ac->oc[1].m4ac.ps = 0;
}
// And vice-versa
if (!ac->tags_mapped && type == TYPE_SCE && ac->oc[1].m4ac.chan_config == 2) {
@@ -476,6 +477,8 @@ static ChannelElement *get_che(AACContext *ac, int type, int elem_id)
return NULL;
ac->oc[1].m4ac.chan_config = 1;
+ if (ac->oc[1].m4ac.sbr)
+ ac->oc[1].m4ac.ps = -1;
}
// For indexed channel configurations map the channels solely based on position.
switch (ac->oc[1].m4ac.chan_config) {