Work with staticpadtemplates in elementfactories.
authorRonald S. Bultje <rbultje@ronald.bitfreak.net>
Tue, 12 Apr 2005 15:00:57 +0000 (15:00 +0000)
committerRonald S. Bultje <rbultje@ronald.bitfreak.net>
Tue, 12 Apr 2005 15:00:57 +0000 (15:00 +0000)
Original commit message from CVS:
* ext/ogg/gstoggdemux.c: (gst_ogg_demux_factory_filter):
* gst/playback/gstdecodebin.c: (find_compatibles):
Work with staticpadtemplates in elementfactories.

ChangeLog
ext/ogg/gstoggdemux.c
gst/playback/gstdecodebin.c

index 5287ef1..ee899ac 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
+
+       * ext/ogg/gstoggdemux.c: (gst_ogg_demux_factory_filter):
+       * gst/playback/gstdecodebin.c: (find_compatibles):
+         Work with staticpadtemplates in elementfactories.
+
 2005-04-12  Wim Taymans  <wim@fluendo.com>
 
        * gst/playback/README:
index 8ee2431..a35627b 100644 (file)
@@ -468,18 +468,18 @@ gst_ogg_demux_factory_filter (GstPluginFeature * feature, GstCaps * caps)
     GList *walk;
 
     /* get the templates from the element factory */
-    templates = gst_element_factory_get_pad_templates (factory);
+    templates = gst_element_factory_get_static_pad_templates (factory);
 
     for (walk = (GList *) templates; walk; walk = g_list_next (walk)) {
-      GstPadTemplate *templ = GST_PAD_TEMPLATE (walk->data);
+      GstStaticPadTemplate *templ = walk->data;
 
       /* we only care about the sink templates */
       if (templ->direction == GST_PAD_SINK) {
         GstCaps *intersect;
 
         /* try to intersect the caps with the caps of the template */
-        intersect =
-            gst_caps_intersect (caps, gst_pad_template_get_caps (templ));
+        intersect = gst_caps_intersect (caps,
+            gst_static_caps_get (&templ->static_caps));
 
         /* check if the intersection is empty */
         if (!gst_caps_is_empty (intersect)) {
index 33a7409..8857ad3 100644 (file)
@@ -412,17 +412,17 @@ find_compatibles (GstDecodeBin * decode_bin, const GstCaps * caps)
     GList *walk;
 
     /* get the templates from the element factory */
-    templates = gst_element_factory_get_pad_templates (factory);
+    templates = gst_element_factory_get_static_pad_templates (factory);
     for (walk = (GList *) templates; walk; walk = g_list_next (walk)) {
-      GstPadTemplate *templ = GST_PAD_TEMPLATE (walk->data);
+      GstStaticPadTemplate *templ = walk->data;
 
       /* we only care about the sink templates */
       if (templ->direction == GST_PAD_SINK) {
         GstCaps *intersect;
 
         /* try to intersect the caps with the caps of the template */
-        intersect =
-            gst_caps_intersect (caps, gst_pad_template_get_caps (templ));
+        intersect = gst_caps_intersect (caps,
+            gst_static_caps_get (&templ->static_caps));
         /* check if the intersection is empty */
         if (!gst_caps_is_empty (intersect)) {
           /* non empty intersection, we can use this element */