[FFmpeg-devel] [PATCH] libavformat/matroskadec: Add test for seeking with codec delay.
Chris Cunningham
chcunningham at chromium.org
Thu Jul 28 04:35:50 EEST 2016
The file to upload to fate-suite can be found here:
https://storage.googleapis.com/chcunningham-chrome-shared/codec_delay_opus.mkv
Alternatively, you can generate it via:
ffmpeg -i ../../tests/data/lavf/lavf.mkv -acodec opus -vn
codec_delay_opus.mkv
On Wed, Jul 27, 2016 at 6:33 PM, <chcunningham at chromium.org> wrote:
> From: Chris Cunningham <chcunningham at chromium.org>
>
> Also cleanup parens for the skip_to_timecode check.
> ---
> libavformat/matroskadec.c | 2 +-
> tests/fate/seek.mak | 3 +++
> tests/ref/seek/mkv-codec-delay | 48
> ++++++++++++++++++++++++++++++++++++++++++
> 3 files changed, 52 insertions(+), 1 deletion(-)
> create mode 100644 tests/ref/seek/mkv-codec-delay
>
> diff --git a/libavformat/matroskadec.c b/libavformat/matroskadec.c
> index 60b1b34..d07a092 100644
> --- a/libavformat/matroskadec.c
> +++ b/libavformat/matroskadec.c
> @@ -3153,7 +3153,7 @@ static int matroska_parse_block(MatroskaDemuxContext
> *matroska, uint8_t *data,
> // Compare signed timecodes. Timecode may be negative due to
> codec delay
> // offset. We don't support timestamps greater than int64_t
> anyway - see
> // AVPacket's pts.
> - if ((int64_t)timecode < (int64_t)(matroska->skip_to_timecode))
> + if ((int64_t)timecode < (int64_t)matroska->skip_to_timecode)
> return res;
> if (is_keyframe)
> matroska->skip_to_keyframe = 0;
> diff --git a/tests/fate/seek.mak b/tests/fate/seek.mak
> index b831cf8..f835da5 100644
> --- a/tests/fate/seek.mak
> +++ b/tests/fate/seek.mak
> @@ -247,8 +247,11 @@ FATE_SEEK += $(FATE_SEEK_LAVF-yes:%=fate-seek-lavf-%)
>
> FATE_SEEK_EXTRA-$(CONFIG_MP3_DEMUXER) += fate-seek-extra-mp3
> FATE_SEEK_EXTRA-$(call ALLYES, CACHE_PROTOCOL PIPE_PROTOCOL MP3_DEMUXER)
> += fate-seek-cache-pipe
> +FATE_SEEK_EXTRA-$(CONFIG_MATROSKA_DEMUXER) += fate-seek-mkv-codec-delay
> fate-seek-extra-mp3: CMD = run libavformat/tests/seek$(EXESUF)
> $(TARGET_SAMPLES)/gapless/gapless.mp3 -fastseek 1
> fate-seek-cache-pipe: CMD = cat $(TARGET_SAMPLES)/gapless/gapless.mp3 |
> run libavformat/tests/seek$(EXESUF) cache:pipe:0 -read_ahead_limit -1
> +fate-seek-mkv-codec-delay: CMD = run libavformat/tests/seek$(EXESUF)
> $(TARGET_SAMPLES)/mkv/codec_delay_opus.mkv
> +
> FATE_SEEK_EXTRA += $(FATE_SEEK_EXTRA-yes)
>
>
> diff --git a/tests/ref/seek/mkv-codec-delay
> b/tests/ref/seek/mkv-codec-delay
> new file mode 100644
> index 0000000..9d4582c
> --- /dev/null
> +++ b/tests/ref/seek/mkv-codec-delay
> @@ -0,0 +1,48 @@
> +ret: 0 st: 0 flags:1 dts:-0.007000 pts:-0.007000 pos: 748
> size: 320
> +ret: 0 st:-1 flags:0 ts:-1.000000
> +ret: 0 st: 0 flags:1 dts:-0.007000 pts:-0.007000 pos: 748
> size: 320
> +ret: 0 st:-1 flags:1 ts: 1.894167
> +ret: 0 st: 0 flags:1 dts: 1.014000 pts: 1.014000 pos: 9306
> size: 291
> +ret: 0 st: 0 flags:0 ts: 0.788000
> +ret: 0 st: 0 flags:1 dts: 0.794000 pts: 0.794000 pos: 7358
> size: 154
> +ret: 0 st: 0 flags:1 ts:-0.317000
> +ret: 0 st: 0 flags:1 dts:-0.007000 pts:-0.007000 pos: 748
> size: 320
> +ret:-1 st:-1 flags:0 ts: 2.576668
> +ret: 0 st:-1 flags:1 ts: 1.470835
> +ret: 0 st: 0 flags:1 dts: 1.014000 pts: 1.014000 pos: 9306
> size: 291
> +ret: 0 st: 0 flags:0 ts: 0.365000
> +ret: 0 st: 0 flags:1 dts: 0.374000 pts: 0.374000 pos: 3963
> size: 150
> +ret: 0 st: 0 flags:1 ts:-0.741000
> +ret: 0 st: 0 flags:1 dts:-0.007000 pts:-0.007000 pos: 748
> size: 320
> +ret:-1 st:-1 flags:0 ts: 2.153336
> +ret: 0 st:-1 flags:1 ts: 1.047503
> +ret: 0 st: 0 flags:1 dts: 1.014000 pts: 1.014000 pos: 9306
> size: 291
> +ret: 0 st: 0 flags:0 ts:-0.058000
> +ret: 0 st: 0 flags:1 dts:-0.007000 pts:-0.007000 pos: 748
> size: 320
> +ret: 0 st: 0 flags:1 ts: 2.836000
> +ret: 0 st: 0 flags:1 dts: 1.014000 pts: 1.014000 pos: 9306
> size: 291
> +ret:-1 st:-1 flags:0 ts: 1.730004
> +ret: 0 st:-1 flags:1 ts: 0.624171
> +ret: 0 st: 0 flags:1 dts: 0.614000 pts: 0.614000 pos: 5903
> size: 159
> +ret: 0 st: 0 flags:0 ts:-0.482000
> +ret: 0 st: 0 flags:1 dts:-0.007000 pts:-0.007000 pos: 748
> size: 320
> +ret: 0 st: 0 flags:1 ts: 2.413000
> +ret: 0 st: 0 flags:1 dts: 1.014000 pts: 1.014000 pos: 9306
> size: 291
> +ret:-1 st:-1 flags:0 ts: 1.306672
> +ret: 0 st:-1 flags:1 ts: 0.200839
> +ret: 0 st: 0 flags:1 dts: 0.194000 pts: 0.194000 pos: 2512
> size: 159
> +ret: 0 st: 0 flags:0 ts:-0.905000
> +ret: 0 st: 0 flags:1 dts:-0.007000 pts:-0.007000 pos: 748
> size: 320
> +ret: 0 st: 0 flags:1 ts: 1.989000
> +ret: 0 st: 0 flags:1 dts: 1.014000 pts: 1.014000 pos: 9306
> size: 291
> +ret: 0 st:-1 flags:0 ts: 0.883340
> +ret: 0 st: 0 flags:1 dts: 0.894000 pts: 0.894000 pos: 8154
> size: 155
> +ret: 0 st:-1 flags:1 ts:-0.222493
> +ret: 0 st: 0 flags:1 dts:-0.007000 pts:-0.007000 pos: 748
> size: 320
> +ret:-1 st: 0 flags:0 ts: 2.672000
> +ret: 0 st: 0 flags:1 ts: 1.566000
> +ret: 0 st: 0 flags:1 dts: 1.014000 pts: 1.014000 pos: 9306
> size: 291
> +ret: 0 st:-1 flags:0 ts: 0.460008
> +ret: 0 st: 0 flags:1 dts: 0.474000 pts: 0.474000 pos: 4768
> size: 153
> +ret: 0 st:-1 flags:1 ts:-0.645825
> +ret: 0 st: 0 flags:1 dts:-0.007000 pts:-0.007000 pos: 748
> size: 320
> --
> 2.8.0.rc3.226.g39d4020
>
>
More information about the ffmpeg-devel
mailing list