summaryrefslogtreecommitdiffstats
path: root/libmpdemux/demux_lavf.c
diff options
context:
space:
mode:
Diffstat (limited to 'libmpdemux/demux_lavf.c')
-rw-r--r--libmpdemux/demux_lavf.c13
1 files changed, 8 insertions, 5 deletions
diff --git a/libmpdemux/demux_lavf.c b/libmpdemux/demux_lavf.c
index 5802f1068a..237d16a5c5 100644
--- a/libmpdemux/demux_lavf.c
+++ b/libmpdemux/demux_lavf.c
@@ -200,7 +200,8 @@ static int lavf_check_file(demuxer_t *demuxer)
mp_msg(MSGT_DEMUX, MSGL_WARN, "Stream url is not set!\n");
avpd.filename = "";
}
- if (!strncmp(avpd.filename, "ffmpeg://", 9))
+ if (!strncmp(avpd.filename, "ffmpeg://", 9) ||
+ !strncmp(avpd.filename, "lavf://", 7))
avpd.filename += 9;
avpd.buf_size = probe_data_size;
@@ -616,10 +617,12 @@ static demuxer_t *demux_open_lavf(demuxer_t *demuxer)
}
if (demuxer->stream->url) {
- if (!strncmp(demuxer->stream->url, "ffmpeg://rtsp:", 14))
- av_strlcpy(mp_filename, demuxer->stream->url + 9,
- sizeof(mp_filename));
- else
+ if (demuxer->stream->lavf_type && !strcmp(demuxer->stream->lavf_type,
+ "rtsp")) {
+ // Remove possible leading ffmpeg:// or lavf://
+ char *name = strstr(demuxer->stream->url, "rtsp:");
+ av_strlcpy(mp_filename, name, sizeof(mp_filename));
+ } else
av_strlcat(mp_filename, demuxer->stream->url, sizeof(mp_filename));
} else
av_strlcat(mp_filename, "foobar.dummy", sizeof(mp_filename));