summaryrefslogtreecommitdiff
path: root/libavformat/img2dec.c
diff options
context:
space:
mode:
authorMichael Niedermayer <michael@niedermayer.cc>2015-12-26 18:57:09 +0100
committerMichael Niedermayer <michael@niedermayer.cc>2015-12-26 20:21:52 +0100
commite9e87822022fc81f92866f870ecedfd2f6272ac9 (patch)
tree46501944e40aac94bc170b2a3188c0872df65a26 /libavformat/img2dec.c
parentf16e4a0857e368a4828cd1fbfda7f44cbbf83f06 (diff)
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 <michael@niedermayer.cc>
Diffstat (limited to 'libavformat/img2dec.c')
-rw-r--r--libavformat/img2dec.c6
1 files changed, 3 insertions, 3 deletions
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",