mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-02-22 14:06:23 +00:00
soup: Handle icy and icyx URI schemes
As handled by QuickTime (for icy), and Orban/Coding Technologies AAC/aacPlus Player (for icyx). See also: https://bugzilla.gnome.org/show_bug.cgi?id=394207 https://bugzilla.gnome.org/show_bug.cgi?id=403285 https://bugzilla.gnome.org/show_bug.cgi?id=673899
This commit is contained in:
parent
8719375be7
commit
933986fccc
1 changed files with 16 additions and 1 deletions
|
@ -1362,10 +1362,25 @@ static gboolean
|
|||
gst_soup_http_src_set_location (GstSoupHTTPSrc * src, const gchar * uri,
|
||||
GError ** error)
|
||||
{
|
||||
const char *alt_schemes[] = { "icy://", "icyx://" };
|
||||
guint i;
|
||||
|
||||
if (src->location) {
|
||||
g_free (src->location);
|
||||
src->location = NULL;
|
||||
}
|
||||
|
||||
if (uri == NULL)
|
||||
return FALSE;
|
||||
|
||||
for (i = 0; i < G_N_ELEMENTS (alt_schemes); i++) {
|
||||
if (g_str_has_prefix (uri, alt_schemes[i])) {
|
||||
src->location =
|
||||
g_strdup_printf ("http://%s", uri + strlen (alt_schemes[i]));
|
||||
return TRUE;
|
||||
}
|
||||
}
|
||||
|
||||
src->location = g_strdup (uri);
|
||||
|
||||
return TRUE;
|
||||
|
@ -1399,7 +1414,7 @@ gst_soup_http_src_uri_get_type (GType type)
|
|||
static const gchar *const *
|
||||
gst_soup_http_src_uri_get_protocols (GType type)
|
||||
{
|
||||
static const gchar *protocols[] = { "http", "https", NULL };
|
||||
static const gchar *protocols[] = { "http", "https", "icy", "icyx", NULL };
|
||||
|
||||
return protocols;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue