aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul B Mahol <onemda@gmail.com>2018-11-27 15:16:36 +0100
committerPaul B Mahol <onemda@gmail.com>2018-11-28 10:26:07 +0100
commit18aea7bdd96b320a40573bccabea56afeccdd91c (patch)
tree471a3790d4bed505a39a6fe45ce3d84e48f98c43
parentb9aff7a53d598a7882bfe3db449a3e5dc6543f05 (diff)
downloadffmpeg-18aea7bdd96b320a40573bccabea56afeccdd91c.tar.gz
avcodec/opus: set skip_samples
Also update fate test. Fixes #5258.
-rw-r--r--libavcodec/opus.c3
-rw-r--r--tests/fate/opus.mak1
2 files changed, 3 insertions, 1 deletions
diff --git a/libavcodec/opus.c b/libavcodec/opus.c
index aa827b604c..22cda64801 100644
--- a/libavcodec/opus.c
+++ b/libavcodec/opus.c
@@ -31,6 +31,7 @@
#include "opus_celt.h"
#include "opustab.h"
+#include "internal.h"
#include "vorbis.h"
static const uint16_t opus_frame_duration[32] = {
@@ -325,7 +326,7 @@ av_cold int ff_opus_parse_extradata(AVCodecContext *avctx,
return AVERROR_PATCHWELCOME;
}
- avctx->delay = AV_RL16(extradata + 10);
+ avctx->delay = avctx->internal->skip_samples = AV_RL16(extradata + 10);
channels = avctx->extradata ? extradata[9] : (avctx->channels == 1) ? 1 : 2;
if (!channels) {
diff --git a/tests/fate/opus.mak b/tests/fate/opus.mak
index 7f289455cf..c50d88f5e9 100644
--- a/tests/fate/opus.mak
+++ b/tests/fate/opus.mak
@@ -36,6 +36,7 @@ fate-opus-testvector09: CMP_TARGET = 0
fate-opus-testvector10: CMP_TARGET = 38
fate-opus-testvector11: CMP_TARGET = 0
fate-opus-testvector12: CMP_TARGET = 160
+fate-opus-tron.6ch.tinypkts: CMP_SHIFT = 1440
fate-opus-tron.6ch.tinypkts: CMP_TARGET = 0
$(FATE_OPUS_CELT): CMP = oneoff