diff options
author | wm4 <nfxjfg@googlemail.com> | 2014-09-30 18:46:49 +0200 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2015-03-05 00:09:26 +0100 |
commit | cca44764b9def05d90d051b24a84369f9891a460 (patch) | |
tree | 30b6187baa1ff54514b48b4ffae443646fac768b /libavformat | |
parent | 83808ee7e9e89b0c83d5ecd94b35952c44716b68 (diff) | |
download | ffmpeg-cca44764b9def05d90d051b24a84369f9891a460.tar.gz |
avformat: add avformat_flush()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavformat')
-rw-r--r-- | libavformat/avformat.h | 17 | ||||
-rw-r--r-- | libavformat/utils.c | 6 | ||||
-rw-r--r-- | libavformat/version.h | 4 |
3 files changed, 25 insertions, 2 deletions
diff --git a/libavformat/avformat.h b/libavformat/avformat.h index a5d2dd9d2b..e47df0511b 100644 --- a/libavformat/avformat.h +++ b/libavformat/avformat.h @@ -2137,6 +2137,23 @@ 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 headerless + * formats. + * + * 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. */ diff --git a/libavformat/utils.c b/libavformat/utils.c index 917f8ceaf0..17ae300a8f 100644 --- a/libavformat/utils.c +++ b/libavformat/utils.c @@ -2201,6 +2201,12 @@ int avformat_seek_file(AVFormatContext *s, int stream_index, int64_t min_ts, return -1; //unreachable } +int avformat_flush(AVFormatContext *s) +{ + ff_read_frame_flush(s); + return 0; +} + /*******************************************************/ /** diff --git a/libavformat/version.h b/libavformat/version.h index 6a5c3d53e0..90ed8447c7 100644 --- a/libavformat/version.h +++ b/libavformat/version.h @@ -30,8 +30,8 @@ #include "libavutil/version.h" #define LIBAVFORMAT_VERSION_MAJOR 56 -#define LIBAVFORMAT_VERSION_MINOR 24 -#define LIBAVFORMAT_VERSION_MICRO 101 +#define LIBAVFORMAT_VERSION_MINOR 25 +#define LIBAVFORMAT_VERSION_MICRO 100 #define LIBAVFORMAT_VERSION_INT AV_VERSION_INT(LIBAVFORMAT_VERSION_MAJOR, \ LIBAVFORMAT_VERSION_MINOR, \ |