summaryrefslogtreecommitdiff
path: root/libavformat/avformat.h
diff options
context:
space:
mode:
authorDerek Buitenhuis <derek.buitenhuis@gmail.com>2015-11-22 17:16:13 +0000
committerDerek Buitenhuis <derek.buitenhuis@gmail.com>2015-11-22 17:16:13 +0000
commit2bf93dfd96549777701a2031c23dac2cdb7257ee (patch)
treecadc793862b46de547934822080d3f624e42da4b /libavformat/avformat.h
parentcde68661bfa5a3049c08e79f1e38a3df597f18d8 (diff)
parent21ab6fd01b9107d7171fc1a77c2bfacff845a97a (diff)
Merge commit '21ab6fd01b9107d7171fc1a77c2bfacff845a97a'
* commit '21ab6fd01b9107d7171fc1a77c2bfacff845a97a': lavf: document that passing valid timestamps to muxers is now mandatory Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Diffstat (limited to 'libavformat/avformat.h')
-rw-r--r--libavformat/avformat.h29
1 files changed, 21 insertions, 8 deletions
diff --git a/libavformat/avformat.h b/libavformat/avformat.h
index 5283085872..beae067c61 100644
--- a/libavformat/avformat.h
+++ b/libavformat/avformat.h
@@ -2295,10 +2295,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()
@@ -2328,10 +2335,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.