and implement the redirector format more properly.
Originally committed as revision 11112 to svn://svn.ffmpeg.org/ffmpeg/trunk
return 0;
}
-/* called from utils.c */
-int redir_open(AVFormatContext **ic_ptr, ByteIOContext *f)
+static int redir_read_header(AVFormatContext *s, AVFormatParameters *ap)
{
char buf[4096], *q;
int c;
AVFormatContext *ic = NULL;
+ ByteIOContext *f = s->pb;
/* parse each URL and try to open it */
c = url_fgetc(f);
if (av_open_input_file(&ic, buf, NULL, 0, NULL) == 0)
break;
}
- *ic_ptr = ic;
if (!ic)
return AVERROR(EIO);
- else
- return 0;
+
+ *s = *ic;
+ url_fclose(f);
+
+ return 0;
}
AVInputFormat redir_demuxer = {
"Redirector format",
0,
redir_probe,
- NULL,
+ redir_read_header,
NULL,
NULL,
};
goto fail;
}
- /* XXX: suppress this hack for redirectors */
-#ifdef CONFIG_REDIR_DEMUXER
- if (!strcmp(fmt->name, "redir")) {
- int redir_open(AVFormatContext **ic_ptr, ByteIOContext *f);
- err = redir_open(ic_ptr, pb);
- url_fclose(pb);
- return err;
- }
-#endif
-
/* check filename in case of an image number is expected */
if (fmt->flags & AVFMT_NEEDNUMBER) {
if (!av_filename_number_test(filename)) {