On 04/24/2013 05:29 PM, Anton Khirnov wrote: > Hack partially based on a commit by Michael Niedermayer <[email protected]> > Should fix (or work around) bug 458. > --- > avconv.c | 18 ++++++++++++++++++ > avconv.h | 2 ++ > avconv_opt.c | 1 + > 3 files changed, 21 insertions(+) > > diff --git a/avconv.c b/avconv.c > index 7aee0cb..5a52565 100644 > --- a/avconv.c > +++ b/avconv.c > @@ -348,6 +348,24 @@ static void write_frame(AVFormatContext *s, AVPacket > *pkt, OutputStream *ost) > bsfc = bsfc->next; > } > > + if (!(s->oformat->flags & AVFMT_NOTIMESTAMPS) && ost->last_mux_dts != > AV_NOPTS_VALUE && > + pkt->dts < ost->last_mux_dts + !(s->oformat->flags & > AVFMT_TS_NONSTRICT)) { > + av_log(NULL, AV_LOG_WARNING, "Non-monotonous DTS in output stream " > + "%d:%d; previous: %"PRId64", current: %"PRId64"; ", > + ost->file_index, ost->st->index, ost->last_mux_dts, pkt->dts); > + if (exit_on_error) { > + av_log(NULL, AV_LOG_FATAL, "aborting.\n"); > + exit(1); > + }
Not sure what is better: having a proper check in the muxing layer under a proper flag or try to make this lumpo of code at least moderately formatted. (prize for doing a < b + boolean for getting <= ) As the code is a bit convoluted in the checks as is now. lu _______________________________________________ libav-devel mailing list [email protected] https://lists.libav.org/mailman/listinfo/libav-devel
