summaryrefslogtreecommitdiff
path: root/FFMPEG patches/FFMPEG-libavformat-reduce-exits-on-subs-error.patch
diff options
context:
space:
mode:
authorRichard <richard@ha-server.local>2016-09-04 11:27:10 +0100
committerRichard <richard@ha-server.local>2016-09-04 11:27:10 +0100
commitdb51d3bbfdd63d4c62ca718bfcd7467d2cdc6fa6 (patch)
tree0a2ada6f32615a2b4f7270b8d2a3e203bff3c1c5 /FFMPEG patches/FFMPEG-libavformat-reduce-exits-on-subs-error.patch
parent83632745c43d406856a3b9948cb5ea4a5ec22666 (diff)
downloadvdr-convert-db51d3bbfdd63d4c62ca718bfcd7467d2cdc6fa6.tar.gz
vdr-convert-db51d3bbfdd63d4c62ca718bfcd7467d2cdc6fa6.tar.bz2
Files not symlinks
Diffstat (limited to 'FFMPEG patches/FFMPEG-libavformat-reduce-exits-on-subs-error.patch')
-rw-r--r--[l---------]FFMPEG patches/FFMPEG-libavformat-reduce-exits-on-subs-error.patch20
1 files changed, 19 insertions, 1 deletions
diff --git a/FFMPEG patches/FFMPEG-libavformat-reduce-exits-on-subs-error.patch b/FFMPEG patches/FFMPEG-libavformat-reduce-exits-on-subs-error.patch
index 00ad9f1..a6fd2f0 120000..100644
--- a/FFMPEG patches/FFMPEG-libavformat-reduce-exits-on-subs-error.patch
+++ b/FFMPEG patches/FFMPEG-libavformat-reduce-exits-on-subs-error.patch
@@ -1 +1,19 @@
-/opt/data/develop/FFmpeg-rf/FFMPEG-libavformat-reduce-exits-on-subs-error.patch \ No newline at end of file
+--- mux.c 2016-09-01 14:21:01.254840644 +0100
++++ new/mux.c 2016-09-01 14:18:01.000000000 +0100
+@@ -597,11 +597,11 @@
+ pkt->dts = st->pts_buffer[0];
+ }
+
+- if (st->cur_dts && st->cur_dts != AV_NOPTS_VALUE &&
+- ((!(s->oformat->flags & AVFMT_TS_NONSTRICT) &&
+- st->codecpar->codec_type != AVMEDIA_TYPE_SUBTITLE &&
+- st->codecpar->codec_type != AVMEDIA_TYPE_DATA &&
+- st->cur_dts >= pkt->dts) || st->cur_dts > pkt->dts)) {
++// RF This patch helps prevent ffmpeg exiting unecessarily due to DTS issues in subtitles.
++// My idea is that DTS issues don't matter for subs, they only use PTS. In any case timing not mega critical.
++
++// if (st->cur_dts && st->cur_dts != AV_NOPTS_VALUE && ((!(s->oformat->flags & AVFMT_TS_NONSTRICT) && st->codecpar->codec_type != AVMEDIA_TYPE_SUBTITLE && st->codecpar->codec_type != AVMEDIA_TYPE_DATA && st->cur_dts >= pkt->dts) || st->cur_dts > pkt->dts)) {
++ if (st->cur_dts && st->cur_dts != AV_NOPTS_VALUE && ((!(s->oformat->flags & AVFMT_TS_NONSTRICT) && st->codecpar->codec_type != AVMEDIA_TYPE_SUBTITLE && st->codecpar->codec_type != AVMEDIA_TYPE_DATA && st->cur_dts >= pkt->dts) || (st->cur_dts > pkt->dts && st->codecpar->codec_type != AVMEDIA_TYPE_SUBTITLE && st->codecpar->codec_type != AVMEDIA_TYPE_DATA))) {
+ av_log(s, AV_LOG_ERROR,
+ "Application provided invalid, non monotonically increasing dts to muxer in stream %d: %s >= %s\n",
+ st->index, av_ts2str(st->cur_dts), av_ts2str(pkt->dts));