From e9e87822022fc81f92866f870ecedfd2f6272ac9 Mon Sep 17 00:00:00 2001 From: Michael Niedermayer Date: Sat, 26 Dec 2015 18:57:09 +0100 Subject: avformat/img2dec: Skip checking the input files existence if it has already been opened Avoids a unneeded open Fixes part of Ticket4849 Signed-off-by: Michael Niedermayer --- libavformat/img2dec.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'libavformat/img2dec.c') diff --git a/libavformat/img2dec.c b/libavformat/img2dec.c index 603398e013..c0e0ef2377 100644 --- a/libavformat/img2dec.c +++ b/libavformat/img2dec.c @@ -103,7 +103,7 @@ static int is_glob(const char *path) * @param start_index minimum accepted value for the first index in the range * @return -1 if no image file could be found */ -static int find_image_range(int *pfirst_index, int *plast_index, +static int find_image_range(AVIOContext *pb, int *pfirst_index, int *plast_index, const char *path, int start_index, int start_index_range) { char buf[1024]; @@ -114,7 +114,7 @@ static int find_image_range(int *pfirst_index, int *plast_index, if (av_get_frame_filename(buf, sizeof(buf), path, first_index) < 0) { *pfirst_index = *plast_index = 1; - if (avio_check(buf, AVIO_FLAG_READ) > 0) + if (pb || avio_check(buf, AVIO_FLAG_READ) > 0) return 0; return -1; } @@ -260,7 +260,7 @@ int ff_img_read_header(AVFormatContext *s1) } } if ((s->pattern_type == PT_GLOB_SEQUENCE && !s->use_glob) || s->pattern_type == PT_SEQUENCE) { - if (find_image_range(&first_index, &last_index, s->path, + if (find_image_range(s1->pb, &first_index, &last_index, s->path, s->start_number, s->start_number_range) < 0) { av_log(s1, AV_LOG_ERROR, "Could find no file with path '%s' and index in the range %d-%d\n", -- cgit v1.2.3