]> git.sesse.net Git - ffmpeg/blobdiff - libavformat/avformat.h
Merge commit '217e4ff4d1f845b76e44634e29371cd09313d1c2'
[ffmpeg] / libavformat / avformat.h
index a5d2dd9d2bad42d60b5ff4495aa2cfdcca71123e..4211a95fca7d90bd5362e8af855e27c49d439230 100644 (file)
@@ -2136,6 +2136,24 @@ int av_seek_frame(AVFormatContext *s, int stream_index, int64_t timestamp,
  */
 int avformat_seek_file(AVFormatContext *s, int stream_index, int64_t min_ts, int64_t ts, int64_t max_ts, int flags);
 
+/**
+ * Discard all internally buffered data. This can be useful when dealing with
+ * discontinuities in the byte stream. Generally works only with formats that
+ * can resync. This includes headerless formats like MPEG-TS/TS but should also
+ * work with NUT, Ogg and in a limited way AVI for example.
+ *
+ * The set of streams, the detected duration, stream parameters and codecs do
+ * not change when calling this function. If you want a complete reset, it's
+ * better to open a new AVFormatContext.
+ *
+ * This does not flush the AVIOContext (s->pb). If necessary, call
+ * avio_flush(s->pb) before calling this function.
+ *
+ * @param s media file handle
+ * @return >=0 on success, error code otherwise
+ */
+int avformat_flush(AVFormatContext *s);
+
 /**
  * Start playing a network-based stream (e.g. RTSP stream) at the
  * current position.