summaryrefslogtreecommitdiff
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-06 18:24:20 +0100
commitdb44b599805fdd96940cf2e5a336f872648bbda1 (patch)
treea16030e05069e25cd84515410ede3e67f6ee97e7 /libavcodec
parentdd34e89f313bb723bb5b535d399542a50c3436c3 (diff)
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>
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);