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

Reply via email to