summaryrefslogtreecommitdiff
path: root/libavformat/internal.h
diff options
context:
space:
mode:
authorAnton Khirnov <anton@khirnov.net>2011-10-16 15:03:30 +0200
committerAnton Khirnov <anton@khirnov.net>2011-10-28 09:23:24 +0200
commita2faa9515167bf1537abdc4fa9caa88934171cdd (patch)
treeeabdcd055e89cc202b82bf594ce9081638b1a7da /libavformat/internal.h
parentec6d743118282bbbc652372a7af44c6ec6f8048e (diff)
lavf: make some seeking functions private
Specifically av_update_cur_dts(), av_seek_frame_binary() and av_gen_search(). They are not supposed to be called outside lavf.
Diffstat (limited to 'libavformat/internal.h')
-rw-r--r--libavformat/internal.h33
1 files changed, 33 insertions, 0 deletions
diff --git a/libavformat/internal.h b/libavformat/internal.h
index 9ef9d64051..0d8bbe7d96 100644
--- a/libavformat/internal.h
+++ b/libavformat/internal.h
@@ -253,4 +253,37 @@ enum CodecID ff_guess_image2_codec(const char *filename);
*/
int64_t ff_iso8601_to_unix_time(const char *datestr);
+/**
+ * Perform a binary search using av_index_search_timestamp() and
+ * AVInputFormat.read_timestamp().
+ *
+ * @param target_ts target timestamp in the time base of the given stream
+ * @param stream_index stream number
+ */
+int ff_seek_frame_binary(AVFormatContext *s, int stream_index,
+ int64_t target_ts, int flags);
+
+/**
+ * Update cur_dts of all streams based on the given timestamp and AVStream.
+ *
+ * Stream ref_st unchanged, others set cur_dts in their native time base.
+ * Only needed for timestamp wrapping or if (dts not set and pts!=dts).
+ * @param timestamp new dts expressed in time_base of param ref_st
+ * @param ref_st reference stream giving time_base of param timestamp
+ */
+void ff_update_cur_dts(AVFormatContext *s, AVStream *ref_st, int64_t timestamp);
+
+/**
+ * Perform a binary search using read_timestamp().
+ *
+ * @param target_ts target timestamp in the time base of the given stream
+ * @param stream_index stream number
+ */
+int64_t ff_gen_search(AVFormatContext *s, int stream_index,
+ int64_t target_ts, int64_t pos_min,
+ int64_t pos_max, int64_t pos_limit,
+ int64_t ts_min, int64_t ts_max,
+ int flags, int64_t *ts_ret,
+ int64_t (*read_timestamp)(struct AVFormatContext *, int , int64_t *, int64_t ));
+
#endif /* AVFORMAT_INTERNAL_H */