mirror of https://github.com/mpv-player/mpv
stream_cb: don't add "*://" to protocol list
--list-protocol was printing a *:// entry, which looked strange at best. The "*" protocol was used to always match everything, so stream_cb.c could hook in custom protocols with a prefix chosen by the API user. Change it instead so that an empty protocol list means "match all", which also gets rid of the special-cased "*" entry.
This commit is contained in:
parent
7383b45682
commit
5ca654301b
|
@ -190,9 +190,6 @@ static stream_t *new_stream(void)
|
|||
|
||||
static const char *match_proto(const char *url, const char *proto)
|
||||
{
|
||||
if (strcmp(proto, "*") == 0)
|
||||
return url;
|
||||
|
||||
int l = strlen(proto);
|
||||
if (l > 0) {
|
||||
if (strncasecmp(url, proto, l) == 0 && strncmp("://", url + l, 3) == 0)
|
||||
|
@ -212,7 +209,7 @@ static int open_internal(const stream_info_t *sinfo, const char *url, int flags,
|
|||
if (!sinfo->is_network && (flags & STREAM_NETWORK_ONLY))
|
||||
return STREAM_UNSAFE;
|
||||
|
||||
const char *path = NULL;
|
||||
const char *path = url;
|
||||
for (int n = 0; sinfo->protocols && sinfo->protocols[n]; n++) {
|
||||
path = match_proto(url, sinfo->protocols[n]);
|
||||
if (path)
|
||||
|
|
|
@ -104,5 +104,4 @@ static int open_cb(stream_t *stream)
|
|||
const stream_info_t stream_info_cb = {
|
||||
.name = "stream_callback",
|
||||
.open = open_cb,
|
||||
.protocols = (const char*const[]){ "*", NULL },
|
||||
};
|
||||
|
|
Loading…
Reference in New Issue