diff mbox series

[FFmpeg-devel,04/11] avcodec/adpcm_argo: reset state on flush

Message ID 20210323141305.19229-4-zane@zanevaniperen.com
State Accepted
Commit 660c14a9b9fe6e7add23163f8fc63a4f0824b434
Headers show
Series [FFmpeg-devel,01/11] avcodec/adpcm: add comment to has_status field
Related show

Checks

Context Check Description
andriy/x86_make success Make finished
andriy/x86_make_fate success Make fate finished
andriy/PPC64_make success Make finished
andriy/PPC64_make_fate success Make fate finished

Commit Message

Zane van Iperen March 23, 2021, 2:12 p.m. UTC
Commit 003b5c800fef909fa84dd2fae43d66bd434d3f7e introduced seeking in argo_asf,
but this was missed, leading to non-deterministic output.

Signed-off-by: Zane van Iperen <zane@zanevaniperen.com>
---
 libavcodec/adpcm.c | 7 +++++++
 1 file changed, 7 insertions(+)
diff mbox series

Patch

diff --git a/libavcodec/adpcm.c b/libavcodec/adpcm.c
index b035406550..07fa1a65b3 100644
--- a/libavcodec/adpcm.c
+++ b/libavcodec/adpcm.c
@@ -2116,6 +2116,13 @@  static void adpcm_flush(AVCodecContext *avctx)
             c->status[channel].step = 0;
         break;
 
+    case AV_CODEC_ID_ADPCM_ARGO:
+        for (int channel = 0; channel < avctx->channels; channel++) {
+            c->status[channel].sample1 = 0;
+            c->status[channel].sample2 = 0;
+        }
+        break;
+
     case AV_CODEC_ID_ADPCM_ZORK:
         for (int channel = 0; channel < avctx->channels; channel++) {
             c->status[channel].predictor  = 0;