diff options
author | Zane van Iperen <[email protected]> | 2021-03-23 20:58:33 +1000 |
---|---|---|
committer | Zane van Iperen <[email protected]> | 2021-03-25 16:34:40 +1000 |
commit | f0169e9d58692235abcb82598b5bb4adf92dc3e2 (patch) | |
tree | 54ddc030400c5deb3b23562daf249015c8e198a4 | |
parent | 2057068495496065a855e57ff103f1b7288405f6 (diff) |
avcodec/adpcm_argo: reset state on flush
Commit 003b5c800fef909fa84dd2fae43d66bd434d3f7e introduced seeking in argo_asf,
but this was missed, leading to non-deterministic output.
Signed-off-by: Zane van Iperen <[email protected]>
(cherry picked from commit 660c14a9b9fe6e7add23163f8fc63a4f0824b434)
-rw-r--r-- | libavcodec/adpcm.c | 7 |
1 files changed, 7 insertions, 0 deletions
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; |