gst/gsturi.c: Don't assert/crash here if a uri handler doesn't return any supported protocols. The list of protocols ...

Original commit message from CVS:
* gst/gsturi.c: (search_by_entry):
Don't assert/crash here if a uri handler doesn't return any
supported protocols. The list of protocols could be generated
dynamically at runtime or at plugin registration, and an error
in the underlying library shouldn't be fatal (#353301).
This commit is contained in:
Tim-Philipp Müller 2006-09-25 11:16:37 +00:00
parent e7fc450bc4
commit 5c666e7f43
2 changed files with 15 additions and 2 deletions

View file

@ -1,3 +1,11 @@
2006-09-25 Tim-Philipp Müller <tim at centricular dot net>
* gst/gsturi.c: (search_by_entry):
Don't assert/crash here if a uri handler doesn't return any
supported protocols. The list of protocols could be generated
dynamically at runtime or at plugin registration, and an error
in the underlying library shouldn't be fatal (#353301).
2006-09-25 Tim-Philipp Müller <tim at centricular dot net>
* gst/gstinfo.c:

View file

@ -475,8 +475,13 @@ search_by_entry (GstPluginFeature * feature, gpointer search_entry)
return FALSE;
protocols = gst_element_factory_get_uri_protocols (factory);
/* must be set when uri type is valid */
g_assert (protocols);
if (protocols == NULL) {
g_warning ("Factory '%s' implements GstUriHandler interface but returned "
"no supported protocols!", gst_plugin_feature_get_name (feature));
return FALSE;
}
while (*protocols != NULL) {
if (strcmp (*protocols, entry->protocol) == 0)
return TRUE;