On Sun, Nov 8, 2015 at 7:54 PM, Anton Khirnov <[email protected]> wrote: > Also, extend the documentation about setting timestamps. > --- > libavformat/avformat.h | 29 +++++++++++++++++++++-------- > 1 file changed, 21 insertions(+), 8 deletions(-) > > diff --git a/libavformat/avformat.h b/libavformat/avformat.h > index e441486..57fcbf5 100644 > --- a/libavformat/avformat.h > +++ b/libavformat/avformat.h > @@ -1629,10 +1629,17 @@ int avformat_write_header(AVFormatContext *s, > AVDictionary **options); > * <br> > * Packet's @ref AVPacket.stream_index "stream_index" field must > be > * set to the index of the corresponding stream in @ref > - * AVFormatContext.streams "s->streams". It is very strongly > - * recommended that timing information (@ref AVPacket.pts "pts", > @ref > - * AVPacket.dts "dts", @ref AVPacket.duration "duration") is set > to > - * correct values. > + * AVFormatContext.streams "s->streams". > + * <br> > + * The timestamps (@ref AVPacket.pts "pts", @ref AVPacket.dts > "dts") > + * must be set to correct values in the stream's timebase (unless > the > + * output format is flagged with the AVFMT_NOTIMESTAMPS flag, then > + * they can be set to AV_NOPTS_VALUE). > + * The dts for subsequent packets passed to this function must be > strictly > + * increasing when compared in their respective timebases (unless > the > + * output format is flagged with the AVFMT_TS_NONSTRICT, then they > + * merely have to be nondecreasing). @ref AVPacket.duration > + * "duration") should also be set if known. > * @return < 0 on error, = 0 if OK, 1 if flushed and there is no more data > to flush > * > * @see av_interleaved_write_frame() > @@ -1662,10 +1669,16 @@ int av_write_frame(AVFormatContext *s, AVPacket *pkt); > * <br> > * Packet's @ref AVPacket.stream_index "stream_index" field must > be > * set to the index of the corresponding stream in @ref > - * AVFormatContext.streams "s->streams". It is very strongly > - * recommended that timing information (@ref AVPacket.pts "pts", > @ref > - * AVPacket.dts "dts", @ref AVPacket.duration "duration") is set > to > - * correct values. > + * AVFormatContext.streams "s->streams". > + * <br> > + * The timestamps (@ref AVPacket.pts "pts", @ref AVPacket.dts > "dts") > + * must be set to correct values in the stream's timebase (unless > the > + * output format is flagged with the AVFMT_NOTIMESTAMPS flag, then > + * they can be set to AV_NOPTS_VALUE). > + * The dts for subsequent packets in one stream must be strictly > + * increasing (unless the output format is flagged with the > + * AVFMT_TS_NONSTRICT, then they merely have to be nondecreasing). > + * @ref AVPacket.duration "duration") should also be set if known. > * > * @return 0 on success, a negative AVERROR on error. Libavformat will always > * take care of freeing the packet, even if this function fails. > -- > 2.0.0
lgtm -- Vittorio _______________________________________________ libav-devel mailing list [email protected] https://lists.libav.org/mailman/listinfo/libav-devel
