Disable monotonicity test for data packets. Data packets are not supposed
to be decoded by FFmpeg, and this checks cause conversion failure with
some files with non strictly monotonous timestamps.
---
 libavformat/mux.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/libavformat/mux.c b/libavformat/mux.c
index 9101925..f714168 100644
--- a/libavformat/mux.c
+++ b/libavformat/mux.c
@@ -486,10 +486,11 @@ static int compute_pkt_fields2(AVFormatContext *s, 
AVStream *st, AVPacket *pkt)
         pkt->dts = st->pts_buffer[0];
     }
 
-    if (st->cur_dts && st->cur_dts != AV_NOPTS_VALUE &&
+    if ((st->codec->codec_type != AVMEDIA_TYPE_DATA) &&
+        (st->cur_dts && st->cur_dts != AV_NOPTS_VALUE &&
         ((!(s->oformat->flags & AVFMT_TS_NONSTRICT) &&
           st->codec->codec_type != AVMEDIA_TYPE_SUBTITLE &&
-          st->cur_dts >= pkt->dts) || st->cur_dts > pkt->dts)) {
+          st->cur_dts >= pkt->dts) || st->cur_dts > pkt->dts))) {
         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));
-- 
1.8.3.2

_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel

Reply via email to