also change its prefix to ffio
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
(cherry picked from commit f1ef2cd9ed
)
tags/n0.8
@@ -594,21 +594,6 @@ int url_setbufsize(AVIOContext *s, int buf_size); | |||||
int url_resetbuf(AVIOContext *s, int flags); | int url_resetbuf(AVIOContext *s, int flags); | ||||
#endif | #endif | ||||
/** | |||||
* 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 | |||||
* @note This function is NOT part of the public API | |||||
* | |||||
* @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 ff_rewind_with_probe_data(AVIOContext *s, unsigned char *buf, int buf_size); | |||||
/** | /** | ||||
* Create and initialize a AVIOContext for accessing the | * Create and initialize a AVIOContext for accessing the | ||||
* resource indicated by url. | * resource indicated by url. | ||||
@@ -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])); | 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 | #endif // AVFORMAT_AVIO_INTERNAL_H |
@@ -837,7 +837,7 @@ static int url_resetbuf(AVIOContext *s, int flags) | |||||
return 0; | return 0; | ||||
} | } | ||||
int ff_rewind_with_probe_data(AVIOContext *s, unsigned char *buf, int buf_size) | |||||
int ffio_rewind_with_probe_data(AVIOContext *s, unsigned char *buf, int buf_size) | |||||
{ | { | ||||
int64_t buffer_start; | int64_t buffer_start; | ||||
int buffer_size; | int buffer_size; | ||||
@@ -19,6 +19,7 @@ | |||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA | ||||
*/ | */ | ||||
#include "avformat.h" | #include "avformat.h" | ||||
#include "avio_internal.h" | |||||
#include "internal.h" | #include "internal.h" | ||||
#include "libavcodec/internal.h" | #include "libavcodec/internal.h" | ||||
#include "libavutil/opt.h" | #include "libavutil/opt.h" | ||||
@@ -585,7 +586,7 @@ int av_probe_input_buffer(AVIOContext *pb, AVInputFormat **fmt, | |||||
} | } | ||||
/* rewind. reuse probe buffer to avoid seeking */ | /* rewind. reuse probe buffer to avoid seeking */ | ||||
if ((ret = ff_rewind_with_probe_data(pb, buf, pd.buf_size)) < 0) | |||||
if ((ret = ffio_rewind_with_probe_data(pb, buf, pd.buf_size)) < 0) | |||||
av_free(buf); | av_free(buf); | ||||
return ret; | return ret; | ||||