summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2016-05-17 18:17:46 +0200
committerwm4 <wm4@nowhere>2016-05-17 18:18:00 +0200
commit26b6d7448421b879a3dab2e619d7e5da630966dd (patch)
treeb3f1960320195ea96f908a974a95e913e4c584d1
parenta02d77ba0df747b60ffad7d2a5eacfc6528aabef (diff)
downloadmpv-26b6d7448421b879a3dab2e619d7e5da630966dd.tar.bz2
mpv-26b6d7448421b879a3dab2e619d7e5da630966dd.tar.xz
demux_playlist: recognize m3u8 as playlist extension
Whatever. As mentioned in #3154.
-rw-r--r--demux/demux_playlist.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/demux/demux_playlist.c b/demux/demux_playlist.c
index 874992c3fa..7479db149f 100644
--- a/demux/demux_playlist.c
+++ b/demux/demux_playlist.c
@@ -106,14 +106,21 @@ static int parse_m3u(struct pl_parser *p)
if (p->check_level == DEMUX_CHECK_UNSAFE) {
char *ext = mp_splitext(p->real_stream->url, NULL);
bstr data = stream_peek(p->real_stream, PROBE_SIZE);
- if (ext && !strcmp(ext, "m3u") && data.len > 10 && maybe_text(data))
- goto ok;
+ if (ext && data.len > 10 && maybe_text(data)) {
+ const char *exts[] = {"m3u", "m3u8", NULL};
+ for (int n = 0; exts[n]; n++) {
+ if (strcasecmp(ext, exts[n]) == 0)
+ goto ok;
+ }
+ }
}
return -1;
}
+
ok:
if (p->probing)
return 0;
+
char *title = NULL;
while (line.len || !pl_eof(p)) {
if (bstr_eatstart0(&line, "#EXTINF:")) {