From f1ef2cd9ed22be231bb4da8d2f93d9a0c7877aa7 Mon Sep 17 00:00:00 2001 From: Anton Khirnov Date: Sun, 6 Mar 2011 20:08:30 +0100 Subject: avio: move ff_rewind_with_probe_data from avio.h to avio_internal.h also change its prefix to ffio Signed-off-by: Ronald S. Bultje --- libavformat/avio_internal.h | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'libavformat/avio_internal.h') diff --git a/libavformat/avio_internal.h b/libavformat/avio_internal.h index 279c7f60ff..3abb619b8a 100644 --- a/libavformat/avio_internal.h +++ b/libavformat/avio_internal.h @@ -47,4 +47,18 @@ static av_always_inline void ffio_wfourcc(AVIOContext *pb, const uint8_t *s) avio_wl32(pb, MKTAG(s[0], s[1], s[2], s[3])); } +/** + * Rewind the AVIOContext using the specified buffer containing the first buf_size bytes of the file. + * Used after probing to avoid seeking. + * Joins buf and s->buffer, taking any overlap into consideration. + * @note s->buffer must overlap with buf or they can't be joined and the function fails + * + * @param s The read-only AVIOContext to rewind + * @param buf The probe buffer containing the first buf_size bytes of the file + * @param buf_size The size of buf + * @return 0 in case of success, a negative value corresponding to an + * AVERROR code in case of failure + */ +int ffio_rewind_with_probe_data(AVIOContext *s, unsigned char *buf, int buf_size); + #endif // AVFORMAT_AVIO_INTERNAL_H -- cgit v1.2.3