Mercurial > libavformat.hg
changeset 2829:51790e849ad3 libavformat
Simplify av_open_input_file
author | reimar |
---|---|
date | Mon, 17 Dec 2007 19:08:17 +0000 |
parents | ff463ed64256 |
children | d7b2ac8d796d |
files | utils.c |
diffstat | 1 files changed, 6 insertions(+), 14 deletions(-) [+] |
line wrap: on
line diff
--- 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;