summaryrefslogtreecommitdiffstats
path: root/stream
diff options
context:
space:
mode:
Diffstat (limited to 'stream')
-rw-r--r--stream/stream_lavf.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/stream/stream_lavf.c b/stream/stream_lavf.c
index 050bf2c52d..0886ef8a61 100644
--- a/stream/stream_lavf.c
+++ b/stream/stream_lavf.c
@@ -285,11 +285,18 @@ static int open_f(stream_t *stream)
}
// Replace "mms://" with "mmsh://", so that most mms:// URLs just work.
+ // Replace "webdav://" with "http://" and "webdavs://" with "https://"
bstr b_filename = bstr0(filename);
if (bstr_eatstart0(&b_filename, "mms://") ||
bstr_eatstart0(&b_filename, "mmshttp://"))
{
filename = talloc_asprintf(temp, "mmsh://%.*s", BSTR_P(b_filename));
+ } else if (bstr_eatstart0(&b_filename, "webdav://"))
+ {
+ filename = talloc_asprintf(temp, "http://%.*s", BSTR_P(b_filename));
+ } else if (bstr_eatstart0(&b_filename, "webdavs://"))
+ {
+ filename = talloc_asprintf(temp, "https://%.*s", BSTR_P(b_filename));
}
av_dict_set(&dict, "reconnect", "1", 0);
@@ -411,7 +418,8 @@ const stream_info_t stream_info_ffmpeg = {
.protocols = (const char *const[]){
"rtmp", "rtsp", "rtsps", "http", "https", "mms", "mmst", "mmsh", "mmshttp",
"rtp", "httpproxy", "rtmpe", "rtmps", "rtmpt", "rtmpte", "rtmpts", "srt",
- "rist", "srtp", "gopher", "gophers", "data", "ipfs", "ipns",
+ "rist", "srtp", "gopher", "gophers", "data", "ipfs", "ipns", "webdav",
+ "webdavs",
NULL },
.can_write = true,
.stream_origin = STREAM_ORIGIN_NET,