Quoting Martin Storsjö (2014-11-05 17:48:18) > On Wed, 5 Nov 2014, Anton Khirnov wrote: > > > Quoting Martin Storsjö (2014-11-04 15:38:10) > >> From: Michael Niedermayer <[email protected]> > >> > >> --- > >> libavformat/mux.c | 8 ++++++++ > >> 1 file changed, 8 insertions(+) > >> > >> diff --git a/libavformat/mux.c b/libavformat/mux.c > >> index 94b4391..f4c6e40 100644 > >> --- a/libavformat/mux.c > >> +++ b/libavformat/mux.c > >> @@ -342,6 +342,14 @@ static int write_packet(AVFormatContext *s, AVPacket > >> *pkt) > >> pkt->dts += offset; > >> if (pkt->pts != AV_NOPTS_VALUE) > >> pkt->pts += offset; > >> + > >> + if (pkt->dts != AV_NOPTS_VALUE && pkt->dts < 0) { > >> + av_log(s, AV_LOG_WARNING, > >> + "Packets poorly interleaved, failed to avoid negative " > >> + "timestamp %"PRId64" in stream %d.\n" > >> + "Try -max_interleave_delta 0 as a possible > >> workaround.\n", > >> + pkt->dts, pkt->stream_index); > >> + } > >> } > >> ret = s->oformat->write_packet(s, pkt); > >> > >> -- > >> 1.9.3 (Apple Git-50) > >> > > > > Won't the caller already get a warning/error about non-monotonous DTS > > in this case? > > Not necessarily; you only get those within one individual stream, but if > you write e.g. all packets in one stream first, it will probably trigger > the max_interleave_delta so some packets from the first stream are written > before any of the packets from the other stream even is seen. >
Ah, right. Patch fine with me then. -- Anton Khirnov _______________________________________________ libav-devel mailing list [email protected] https://lists.libav.org/mailman/listinfo/libav-devel
