aboutsummaryrefslogtreecommitdiffstats
path: root/libavcodec
diff options
context:
space:
mode:
authorfoo86 <foobaz86@gmail.com>2016-03-02 22:31:10 +0300
committerMichael Niedermayer <michael@niedermayer.cc>2016-03-26 21:52:47 +0100
commitda6ccfe18ebbe7af41ba07edd64b6d1b8650ced2 (patch)
treea9bc628cb9aeca8dd745330bf4179d08593505e2 /libavcodec
parent27a61302b792f765e7893f63853fc887c7bc2cf8 (diff)
downloadffmpeg-da6ccfe18ebbe7af41ba07edd64b6d1b8650ced2.tar.gz
avcodec/dca: clear X96 channels if nothing was decoded
The first X96 channel set can have more channels than core, causing X96 decoding to be skipped. Clear the number of decoded X96 channels to zero in this rudimentary case. Signed-off-by: Michael Niedermayer <michael@niedermayer.cc> (cherry picked from commit db44b599805fdd96940cf2e5a336f872648bbda1) Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
Diffstat (limited to 'libavcodec')
-rw-r--r--libavcodec/dca_core.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/libavcodec/dca_core.c b/libavcodec/dca_core.c
index 48a8f618f7..d9f1a4ca76 100644
--- a/libavcodec/dca_core.c
+++ b/libavcodec/dca_core.c
@@ -1760,6 +1760,7 @@ static int parse_x96_frame_exss(DCACoreDecoder *s)
return ret;
// Channel set data
+ s->x96_nchannels = 0;
for (i = 0, x96_base_ch = 0; i < x96_nchsets; i++) {
header_pos = get_bits_count(&s->gb);