Fix suggested by Mark Harris. Fixes ticket #9890
---
libavcodec/opus_silk.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/libavcodec/opus_silk.c b/libavcodec/opus_silk.c
index 8523b55ada..0b4438388e 100644
--- a/libavcodec/opus_silk.c
+++ b/libavcodec/opus_silk.c
@@ -828,11 +828,16 @@ int ff_silk_decode_superframe(SilkContext *s,
OpusRangeCoder *rc,
/* decode the LBRR frames */
for (i = 0; i < nb_frames; i++) {
+ int skipped = 0;
for (j = 0; j < coded_channels; j++)
if (redundancy[j] & (1 << i)) {
int active1 = (j == 0 && !(redundancy[1] & (1 << i))) ? 0 : 1;
silk_decode_frame(s, rc, i, j, coded_channels, 1, active1, 1);
+ skipped = 1;
}
+ /* reset midonly if needed */
+ if (skipped)
+ s->midonly = 0;
}
for (i = 0; i < nb_frames; i++) {
--
2.34.1
_______________________________________________
ffmpeg-devel mailing list
[email protected]
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
[email protected] with subject "unsubscribe".