[FFmpeg-devel] [PATCH] simplify av_open_input_file
Reimar Döffinger
Reimar.Doeffinger
Mon Dec 17 18:22:46 CET 2007
Hello,
this patch gets rid of some IMO messy code in av_open_input_file.
Greetings,
Reimar D?ffinger
-------------- next part --------------
Index: libavformat/utils.c
===================================================================
--- libavformat/utils.c (revision 11244)
+++ libavformat/utils.c (working copy)
@@ -416,11 +413,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;
+ ByteIOContext *pb = NULL;
- file_opened = 0;
pd->filename = "";
if (filename)
pd->filename = filename;
@@ -434,18 +430,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);
}
@@ -459,7 +448,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;
}
@@ -489,7 +478,7 @@
return 0;
fail:
av_freep(&pd->buf);
- if (file_opened)
+ if (pb)
url_fclose(pb);
*ic_ptr = NULL;
return err;
More information about the ffmpeg-devel
mailing list