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)
|
static const char *match_proto(const char *url, const char *proto)
|
||||||
{
|
{
|
||||||
if (strcmp(proto, "*") == 0)
|
|
||||||
return url;
|
|
||||||
|
|
||||||
int l = strlen(proto);
|
int l = strlen(proto);
|
||||||
if (l > 0) {
|
if (l > 0) {
|
||||||
if (strncasecmp(url, proto, l) == 0 && strncmp("://", url + l, 3) == 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))
|
if (!sinfo->is_network && (flags & STREAM_NETWORK_ONLY))
|
||||||
return STREAM_UNSAFE;
|
return STREAM_UNSAFE;
|
||||||
|
|
||||||
const char *path = NULL;
|
const char *path = url;
|
||||||
for (int n = 0; sinfo->protocols && sinfo->protocols[n]; n++) {
|
for (int n = 0; sinfo->protocols && sinfo->protocols[n]; n++) {
|
||||||
path = match_proto(url, sinfo->protocols[n]);
|
path = match_proto(url, sinfo->protocols[n]);
|
||||||
if (path)
|
if (path)
|
||||||
|
|
|
@ -104,5 +104,4 @@ static int open_cb(stream_t *stream)
|
||||||
const stream_info_t stream_info_cb = {
|
const stream_info_t stream_info_cb = {
|
||||||
.name = "stream_callback",
|
.name = "stream_callback",
|
||||||
.open = open_cb,
|
.open = open_cb,
|
||||||
.protocols = (const char*const[]){ "*", NULL },
|
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in New Issue