summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Kost <ensonic@users.sf.net>2009-07-13 21:56:46 +0300
committerStefan Kost <ensonic@users.sf.net>2009-07-13 21:56:46 +0300
commit31b0c658e57fd84791520192b7ffe64c2bb1bab3 (patch)
treee40d4e6c6fdfce327cadafd702344abbd3aa2d6c
parentcae6a55ba31948db63bed40f8568f294f794af6d (diff)
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://...
-rw-r--r--gst/playback/gsturidecodebin.c18
1 files 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))