plugins/elements/: Special case the "file://" URI as as this is used by some applications to test with gst_element_ma...

Original commit message from CVS:
* plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
* plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
Special case the "file://" URI as as this is used by some
applications to test with gst_element_make_from_uri if there's
an element that supports the URI protocol.
Also move the g_path_is_absolute() check for the location part
of the URI to also check this for "file://localhost/bla" URIs.
This commit is contained in:
Sebastian Dröge 2007-04-27 07:27:36 +00:00
parent 2c5a8cdb31
commit ce4da7c661
3 changed files with 34 additions and 12 deletions

View file

@ -1,3 +1,13 @@
2007-04-27 Sebastian Dröge <slomo@circular-chaos.org>
* plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
* plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
Special case the "file://" URI as as this is used by some
applications to test with gst_element_make_from_uri if there's
an element that supports the URI protocol.
Also move the g_path_is_absolute() check for the location part
of the URI to also check this for "file://localhost/bla" URIs.
2007-04-26 Tim-Philipp Müller <tim at centricular dot net>
* docs/gst/gstreamer-sections.txt:

View file

@ -554,14 +554,20 @@ gst_file_sink_uri_set_uri (GstURIHandler * handler, const gchar * uri)
* "location" with uri + 16 because it provides unescaping */
location = gst_uri_get_location (tmp);
g_free (tmp);
} else if (strcmp (uri, "file://") == 0) {
/* Special case for "file://" as this is used by some applications
* to test with gst_element_make_from_uri if there's an element
* that supports the URI protocol. */
return TRUE;
} else {
location = gst_uri_get_location (uri);
if (!location)
return FALSE;
if (!g_path_is_absolute (location)) {
g_free (location);
return FALSE;
}
}
if (!location)
return FALSE;
if (!g_path_is_absolute (location)) {
g_free (location);
return FALSE;
}
ret = gst_file_sink_set_location (sink, location);

View file

@ -1074,14 +1074,20 @@ gst_file_src_uri_set_uri (GstURIHandler * handler, const gchar * uri)
* "location" with uri + 16 because it provides unescaping */
location = gst_uri_get_location (tmp);
g_free (tmp);
} else if (strcmp (uri, "file://") == 0) {
/* Special case for "file://" as this is used by some applications
* to test with gst_element_make_from_uri if there's an element
* that supports the URI protocol. */
return TRUE;
} else {
location = gst_uri_get_location (uri);
if (!location)
return FALSE;
if (!g_path_is_absolute (location)) {
g_free (location);
return FALSE;
}
}
if (!location)
return FALSE;
if (!g_path_is_absolute (location)) {
g_free (location);
return FALSE;
}
ret = gst_file_src_set_location (src, location);