diff options
author | Baptiste Coudurier <baptiste.coudurier@gmail.com> | 2009-01-17 21:40:27 +0000 |
---|---|---|
committer | Baptiste Coudurier <baptiste.coudurier@gmail.com> | 2009-01-17 21:40:27 +0000 |
commit | 2323ac0154e6bd25809563c2effdb077c8919f72 (patch) | |
tree | 1807d3a834fe5fca58045bf08ea37abed56beabc | |
parent | 055dc116fcf75f7f38c64b689ebda7480a7da8c2 (diff) | |
download | ffmpeg-2323ac0154e6bd25809563c2effdb077c8919f72.tar.gz |
match format in names list separated by commas
Originally committed as revision 16659 to svn://svn.ffmpeg.org/ffmpeg/trunk
-rw-r--r-- | libavformat/utils.c | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/libavformat/utils.c b/libavformat/utils.c index ce35fbe8a3..8e70109786 100644 --- a/libavformat/utils.c +++ b/libavformat/utils.c @@ -153,6 +153,24 @@ int match_ext(const char *filename, const char *extensions) return 0; } +static int match_format(const char *name, const char *names) +{ + const char *p; + int len, namelen; + + if (!name || !names) + return 0; + + namelen = strlen(name); + while ((p = strchr(names, ','))) { + len = FFMAX(p - names, namelen); + if (!strncasecmp(name, names, len)) + return 1; + names = p+1; + } + return !strcasecmp(name, names); +} + AVOutputFormat *guess_format(const char *short_name, const char *filename, const char *mime_type) { @@ -232,7 +250,7 @@ AVInputFormat *av_find_input_format(const char *short_name) { AVInputFormat *fmt; for(fmt = first_iformat; fmt != NULL; fmt = fmt->next) { - if (!strcmp(fmt->name, short_name)) + if (match_format(short_name, fmt->name)) return fmt; } return NULL; |