typefind: Skip parsing of data URIs
Commit a46ab2ced20d757e0e770d4de1edc3a152cc4f2f introduced a regression, breaking typefinding for media content muxed in mp4 container and serialized to data URIs. For this case it doesn't make sense to look for a file extension, so skip URI parsing. Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1909>
This commit is contained in:
parent
a451b66479
commit
b8ccf7f802
@ -803,6 +803,8 @@ gst_type_find_get_extension (GstTypeFindElement * typefind, GstPad * pad)
|
|||||||
gchar *uri, *result, *path, *base_path, *find;
|
gchar *uri, *result, *path, *base_path, *find;
|
||||||
GstUri *gst_uri;
|
GstUri *gst_uri;
|
||||||
|
|
||||||
|
base_path = NULL;
|
||||||
|
|
||||||
query = gst_query_new_uri ();
|
query = gst_query_new_uri ();
|
||||||
|
|
||||||
/* try getting the caps with an uri query and from the extension */
|
/* try getting the caps with an uri query and from the extension */
|
||||||
@ -813,6 +815,11 @@ gst_type_find_get_extension (GstTypeFindElement * typefind, GstPad * pad)
|
|||||||
if (uri == NULL)
|
if (uri == NULL)
|
||||||
goto no_uri;
|
goto no_uri;
|
||||||
|
|
||||||
|
/* data URIs paths are opaque and do not semantically represent a
|
||||||
|
filesystem-like resource path, so skip URI parsing for this case. */
|
||||||
|
if (g_str_has_prefix (uri, "data:"))
|
||||||
|
goto no_extension;
|
||||||
|
|
||||||
GST_DEBUG_OBJECT (typefind, "finding extension of %s", uri);
|
GST_DEBUG_OBJECT (typefind, "finding extension of %s", uri);
|
||||||
|
|
||||||
gst_uri = gst_uri_from_string (uri);
|
gst_uri = gst_uri_from_string (uri);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user