diff --git a/libav/utils.c b/libav/utils.c index c810d0c512d140fc3eb22ae7e6e2cd7cc7b0f0c7..bc706f68230be0e97115729f4838526d0745e791 100644 --- a/libav/utils.c +++ b/libav/utils.c @@ -54,7 +54,7 @@ void av_register_output_format(AVOutputFormat *format) format->next = NULL; } -static int match_ext(const char *filename, const char *extensions) +int match_ext(const char *filename, const char *extensions) { const char *ext, *p; char ext1[32], *q; @@ -335,9 +335,11 @@ int av_open_input_file(AVFormatContext **ic_ptr, const char *filename, if (buf_size > 0) { url_setbufsize(&ic->pb, buf_size); } - /* read probe data */ - pd->buf_size = get_buffer(&ic->pb, buf, PROBE_BUF_SIZE); - url_fseek(&ic->pb, 0, SEEK_SET); + if (!fmt) { + /* read probe data */ + pd->buf_size = get_buffer(&ic->pb, buf, PROBE_BUF_SIZE); + url_fseek(&ic->pb, 0, SEEK_SET); + } } /* guess file format */