Browse Source

Simplify av_open_input_file

Originally committed as revision 11253 to svn://svn.ffmpeg.org/ffmpeg/trunk
tags/v0.5
Reimar Döffinger 17 years ago
parent
commit
17acc63a32
1 changed files with 5 additions and 13 deletions
  1. +5
    -13
      libavformat/utils.c

+ 5
- 13
libavformat/utils.c View File

@@ -417,11 +417,10 @@ int av_open_input_file(AVFormatContext **ic_ptr, const char *filename,
int buf_size, int buf_size,
AVFormatParameters *ap) AVFormatParameters *ap)
{ {
int err, must_open_file, file_opened, probe_size;
int err, probe_size;
AVProbeData probe_data, *pd = &probe_data; AVProbeData probe_data, *pd = &probe_data;
ByteIOContext *pb;
ByteIOContext *pb = NULL;


file_opened = 0;
pd->filename = ""; pd->filename = "";
if (filename) if (filename)
pd->filename = filename; pd->filename = filename;
@@ -435,18 +434,11 @@ int av_open_input_file(AVFormatContext **ic_ptr, const char *filename,


/* do not open file if the format does not need it. XXX: specific /* do not open file if the format does not need it. XXX: specific
hack needed to handle RTSP/TCP */ 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 no file needed do not try to open one */
if ((err=url_fopen(&pb, filename, URL_RDONLY)) < 0) { if ((err=url_fopen(&pb, filename, URL_RDONLY)) < 0) {
goto fail; goto fail;
} }
file_opened = 1;
if (buf_size > 0) { if (buf_size > 0) {
url_setbufsize(pb, buf_size); url_setbufsize(pb, buf_size);
} }
@@ -460,7 +452,7 @@ int av_open_input_file(AVFormatContext **ic_ptr, const char *filename,
if (url_fseek(pb, 0, SEEK_SET) < 0) { if (url_fseek(pb, 0, SEEK_SET) < 0) {
url_fclose(pb); url_fclose(pb);
if (url_fopen(&pb, filename, URL_RDONLY) < 0) { if (url_fopen(&pb, filename, URL_RDONLY) < 0) {
file_opened = 0;
pb = NULL;
err = AVERROR(EIO); err = AVERROR(EIO);
goto fail; goto fail;
} }
@@ -490,7 +482,7 @@ int av_open_input_file(AVFormatContext **ic_ptr, const char *filename,
return 0; return 0;
fail: fail:
av_freep(&pd->buf); av_freep(&pd->buf);
if (file_opened)
if (pb)
url_fclose(pb); url_fclose(pb);
*ic_ptr = NULL; *ic_ptr = NULL;
return err; return err;


Loading…
Cancel
Save