From 31b0c658e57fd84791520192b7ffe64c2bb1bab3 Mon Sep 17 00:00:00 2001 From: Stefan Kost Date: Mon, 13 Jul 2009 21:56:46 +0300 Subject: uridecodebin: treat uri-schemas incasesensitive Treat uri-schemas incasesensitive. This is mandated in rfc2396 section 3.1. Fixes not showing buffering messages e.g. for HTTP://... --- gst/playback/gsturidecodebin.c | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/gst/playback/gsturidecodebin.c b/gst/playback/gsturidecodebin.c index f37515597..7462ba66c 100644 --- a/gst/playback/gsturidecodebin.c +++ b/gst/playback/gsturidecodebin.c @@ -767,6 +767,18 @@ array_has_value (const gchar * values[], const gchar * value) return FALSE; } +static gboolean +array_has_uri_value (const gchar * values[], const gchar * value) +{ + gint i; + + for (i = 0; values[i]; i++) { + if (!g_ascii_strncasecmp (value, values[i], strlen (values[i]))) + return TRUE; + } + return FALSE; +} + /* list of URIs that we consider to be streams and that need buffering. * We have no mechanism yet to figure this out with a query. */ static const gchar *stream_uris[] = { "http://", "mms://", "mmsh://", @@ -798,9 +810,9 @@ static const gchar *download_media[] = { "video/quicktime", "video/x-flv", NULL }; -#define IS_STREAM_URI(uri) (array_has_value (stream_uris, uri)) -#define IS_QUEUE_URI(uri) (array_has_value (queue_uris, uri)) -#define IS_BLACKLISTED_URI(uri) (array_has_value (blacklisted_uris, uri)) +#define IS_STREAM_URI(uri) (array_has_uri_value (stream_uris, uri)) +#define IS_QUEUE_URI(uri) (array_has_uri_value (queue_uris, uri)) +#define IS_BLACKLISTED_URI(uri) (array_has_uri_value (blacklisted_uris, uri)) #define IS_NO_MEDIA_MIME(mime) (array_has_value (no_media_mimes, mime)) #define IS_RAW_MEDIA(media) (array_has_value (raw_media, media)) #define IS_DOWNLOAD_MEDIA(media) (array_has_value (download_media, media)) -- cgit v1.2.3