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.
---
 libavcodec/dca_core.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/libavcodec/dca_core.c b/libavcodec/dca_core.c
index 48a8f61..d9f1a4c 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);
 
-- 
2.1.4

_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel

Reply via email to