From bc1d61cf4296ab41564adb896e454e48c292e451 Mon Sep 17 00:00:00 2001 From: wm4 Date: Fri, 2 Aug 2013 17:02:34 +0200 Subject: stream: redo URL parsing, replace m_struct usage with m_config Move the URL parsing code from m_option.c to stream.c, and simplify it dramatically. This code originates from times when http code used this, but now it's just relict from other stream implementations reusing this code. Remove the unused bits and simplify the rest. stream_vcd is insane, and the priv struct is different on every platform, so drop the URL parsing. This means you can't specify a track anymore, only the device. (Does anyone use stream_vcd? Not like this couldn't be fixed, but it doesn't seem worth the effort, especially because it'd require potentially touching platform specific code.) --- stream/stream_lavf.c | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) (limited to 'stream/stream_lavf.c') diff --git a/stream/stream_lavf.c b/stream/stream_lavf.c index 82241e83f3..a55b594495 100644 --- a/stream/stream_lavf.c +++ b/stream/stream_lavf.c @@ -25,14 +25,13 @@ #include "core/mp_msg.h" #include "stream.h" #include "core/m_option.h" -#include "core/m_struct.h" #include "cookies.h" #include "core/bstr.h" #include "core/mp_talloc.h" -static int open_f(stream_t *stream, int mode, void *opts); +static int open_f(stream_t *stream, int mode); static char **read_icy(stream_t *stream); static int fill_buffer(stream_t *s, char *buffer, int max_len) @@ -114,7 +113,7 @@ static int control(stream_t *s, int cmd, void *arg) // avio doesn't seem to support this - emulate it by reopening close_f(s); s->priv = NULL; - return open_f(s, STREAM_READ, NULL); + return open_f(s, STREAM_READ); } } return STREAM_UNSUPPORTED; @@ -131,7 +130,7 @@ static bool mp_avio_has_opts(AVIOContext *avio) static const char * const prefix[] = { "lavf://", "ffmpeg://" }; -static int open_f(stream_t *stream, int mode, void *opts) +static int open_f(stream_t *stream, int mode) { int flags = 0; AVIOContext *avio = NULL; @@ -309,6 +308,4 @@ const stream_info_t stream_info_ffmpeg = { open_f, { "lavf", "ffmpeg", "rtmp", "rtsp", "http", "https", "mms", "mmst", "mmsh", "mmshttp", "udp", "ftp", "rtp", "httpproxy", NULL }, - NULL, - 1 // Urls are an option string }; -- cgit v1.2.3