From 382abe51b895263d80e42e525307f57395d56d05 Mon Sep 17 00:00:00 2001 From: John Stebbins Date: Wed, 15 Feb 2017 15:43:48 -0700 Subject: [PATCH] libav: fix mkv timestamps when initial_padding is set initial_padding is used to inform libav muxers of initial encoder delay duration. When set for mkv it can be used to remove the silence samples during playback. --- contrib/ffmpeg/A09-mkv-block-ts-offset.patch | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 contrib/ffmpeg/A09-mkv-block-ts-offset.patch diff --git a/contrib/ffmpeg/A09-mkv-block-ts-offset.patch b/contrib/ffmpeg/A09-mkv-block-ts-offset.patch new file mode 100644 index 000000000..fdf883439 --- /dev/null +++ b/contrib/ffmpeg/A09-mkv-block-ts-offset.patch @@ -0,0 +1,12 @@ +diff --git a/libavformat/matroskaenc.c b/libavformat/matroskaenc.c +index e951a0f..2fe6e0e 100644 +--- a/libavformat/matroskaenc.c ++++ b/libavformat/matroskaenc.c +@@ -1461,6 +1461,7 @@ static void mkv_write_block(AVFormatContext *s, AVIOContext *pb, + uint8_t *data = NULL; + int offset = 0, size = pkt->size; + int64_t ts = mkv->tracks[pkt->stream_index].write_dts ? pkt->dts : pkt->pts; ++ ts += mkv->tracks[pkt->stream_index].ts_offset; + + av_log(s, AV_LOG_DEBUG, "Writing block at offset %" PRIu64 ", size %d, " + "pts %" PRId64 ", dts %" PRId64 ", duration %" PRId64 ", flags %d\n", -- 2.40.0