This will extend the whitelist features to allow blacklisting individual protocols and to explicitly force everything to be enabled. Reviewed-by: Stefano Sabatini <stefasab@gmail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>tags/n3.0
@@ -326,13 +326,18 @@ int av_match_name(const char *name, const char *names) | |||||
return 0; | return 0; | ||||
namelen = strlen(name); | namelen = strlen(name); | ||||
while ((p = strchr(names, ','))) { | |||||
while (*names) { | |||||
int negate = '-' == *names; | |||||
p = strchr(names, ','); | |||||
if (!p) | |||||
p = names + strlen(names); | |||||
names += negate; | |||||
len = FFMAX(p - names, namelen); | len = FFMAX(p - names, namelen); | ||||
if (!av_strncasecmp(name, names, len)) | |||||
return 1; | |||||
names = p + 1; | |||||
if (!av_strncasecmp(name, names, len) || !strncmp("ALL", names, FFMAX(3, p - names))) | |||||
return !negate; | |||||
names = p + (*p == ','); | |||||
} | } | ||||
return !av_strcasecmp(name, names); | |||||
return 0; | |||||
} | } | ||||
int av_utf8_decode(int32_t *codep, const uint8_t **bufp, const uint8_t *buf_end, | int av_utf8_decode(int32_t *codep, const uint8_t **bufp, const uint8_t *buf_end, | ||||
@@ -284,6 +284,11 @@ const char *av_dirname(char *path); | |||||
/** | /** | ||||
* Match instances of a name in a comma-separated list of names. | * Match instances of a name in a comma-separated list of names. | ||||
* List entries are checked from the start to the end of the names list, | |||||
* the first match ends further processing. If an entry prefixed with '-' | |||||
* matches, then 0 is returned. The "ALL" list entry is considered to | |||||
* match all names. | |||||
* | |||||
* @param name Name to look for. | * @param name Name to look for. | ||||
* @param names List of names. | * @param names List of names. | ||||
* @return 1 on match, 0 otherwise. | * @return 1 on match, 0 otherwise. | ||||
@@ -65,7 +65,7 @@ | |||||
#define LIBAVUTIL_VERSION_MAJOR 55 | #define LIBAVUTIL_VERSION_MAJOR 55 | ||||
#define LIBAVUTIL_VERSION_MINOR 17 | #define LIBAVUTIL_VERSION_MINOR 17 | ||||
#define LIBAVUTIL_VERSION_MICRO 100 | |||||
#define LIBAVUTIL_VERSION_MICRO 101 | |||||
#define LIBAVUTIL_VERSION_INT AV_VERSION_INT(LIBAVUTIL_VERSION_MAJOR, \ | #define LIBAVUTIL_VERSION_INT AV_VERSION_INT(LIBAVUTIL_VERSION_MAJOR, \ | ||||
LIBAVUTIL_VERSION_MINOR, \ | LIBAVUTIL_VERSION_MINOR, \ | ||||