# HG changeset patch # User reimar # Date 1197918497 0 # Node ID 51790e849ad3e1d62d413a7fef3011e5f64f77e0 # Parent ff463ed64256caae7600a691ece4b2196bdf726f Simplify av_open_input_file diff -r ff463ed64256 -r 51790e849ad3 utils.c --- a/utils.c Mon Dec 17 17:41:24 2007 +0000 +++ b/utils.c Mon Dec 17 19:08:17 2007 +0000 @@ -417,11 +417,10 @@ int buf_size, AVFormatParameters *ap) { - int err, must_open_file, file_opened, probe_size; + int err, probe_size; AVProbeData probe_data, *pd = &probe_data; - ByteIOContext *pb; - - file_opened = 0; + ByteIOContext *pb = NULL; + pd->filename = ""; if (filename) pd->filename = filename; @@ -435,18 +434,11 @@ /* do not open file if the format does not need it. XXX: specific hack needed to handle RTSP/TCP */ - must_open_file = 1; - if (fmt && (fmt->flags & AVFMT_NOFILE)) { - must_open_file = 0; - pb= NULL; //FIXME this or memset(pb, 0, sizeof(ByteIOContext)); otherwise it is uninitialized - } - - if (!fmt || must_open_file) { + if (!fmt || !(fmt->flags & AVFMT_NOFILE)) { /* if no file needed do not try to open one */ if ((err=url_fopen(&pb, filename, URL_RDONLY)) < 0) { goto fail; } - file_opened = 1; if (buf_size > 0) { url_setbufsize(pb, buf_size); } @@ -460,7 +452,7 @@ if (url_fseek(pb, 0, SEEK_SET) < 0) { url_fclose(pb); if (url_fopen(&pb, filename, URL_RDONLY) < 0) { - file_opened = 0; + pb = NULL; err = AVERROR(EIO); goto fail; } @@ -490,7 +482,7 @@ return 0; fail: av_freep(&pd->buf); - if (file_opened) + if (pb) url_fclose(pb); *ic_ptr = NULL; return err;