gsturi: Optimisation : Cast when we're sure of the type.
authorEdward Hervey <bilboed@bilboed.com>
Thu, 22 Oct 2009 11:13:56 +0000 (13:13 +0200)
committerEdward Hervey <bilboed@bilboed.com>
Thu, 22 Oct 2009 11:13:56 +0000 (13:13 +0200)
Also directly access GstElementFactory->uri_type instead of going
through a function that will (once again) check whether it's a
GstElementFactory

gst/gsturi.c

index d5c301d..ab9c4bb 100644 (file)
@@ -495,9 +495,9 @@ search_by_entry (GstPluginFeature * feature, gpointer search_entry)
 
   if (!GST_IS_ELEMENT_FACTORY (feature))
     return FALSE;
-  factory = GST_ELEMENT_FACTORY (feature);
+  factory = GST_ELEMENT_FACTORY_CAST (feature);
 
-  if (gst_element_factory_get_uri_type (factory) != entry->type)
+  if (factory->uri_type != entry->type)
     return FALSE;
 
   protocols = gst_element_factory_get_uri_protocols (factory);
@@ -606,7 +606,8 @@ gst_element_make_from_uri (const GstURIType type, const gchar * uri,
   possibilities = g_list_sort (possibilities, sort_by_rank);
   walk = possibilities;
   while (walk) {
-    if ((ret = gst_element_factory_create (GST_ELEMENT_FACTORY (walk->data),
+    if ((ret =
+            gst_element_factory_create (GST_ELEMENT_FACTORY_CAST (walk->data),
                 elementname)) != NULL) {
       GstURIHandler *handler = GST_URI_HANDLER (ret);