From 1de2db8fab510b994f19be61882088410311d6de Mon Sep 17 00:00:00 2001 From: Michael Niedermayer Date: Wed, 25 Feb 2009 03:18:11 +0000 Subject: [PATCH] AVInputFormat.reed_seek2() Originally committed as revision 17579 to svn://svn.ffmpeg.org/ffmpeg/trunk --- libavformat/avformat.h | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/libavformat/avformat.h b/libavformat/avformat.h index cf455da9e5..a61c8a0fa7 100644 --- a/libavformat/avformat.h +++ b/libavformat/avformat.h @@ -333,6 +333,8 @@ typedef struct AVInputFormat { /** Close the stream. The AVFormatContext and AVStreams are not freed by this function */ int (*read_close)(struct AVFormatContext *); + +#if LIBAVFORMAT_VERSION_MAJOR < 53 /** * Seek to a given timestamp relative to the frames in * stream component stream_index. @@ -343,6 +345,7 @@ typedef struct AVInputFormat { */ int (*read_seek)(struct AVFormatContext *, int stream_index, int64_t timestamp, int flags); +#endif /** * Gets the next timestamp in stream[stream_index].time_base units. * @return the timestamp or AV_NOPTS_VALUE if an error occurred @@ -368,6 +371,14 @@ typedef struct AVInputFormat { const struct AVCodecTag * const *codec_tag; + /** + * Seek to timestamp ts. + * Seeking will be done so that the point from which all active streams + * can be presented successfully will be closest to ts and within min/max_ts. + * Active streams are all streams that have AVStream.discard < AVDISCARD_ALL. + */ + int (*reed_seek2)(struct AVFormatContext *s, int stream_index, int64_t min_ts, int64_t ts, int64_t max_ts, int flags); + /* private fields */ struct AVInputFormat *next; } AVInputFormat;