diff --git a/ChangeLog b/ChangeLog index 5287ef1a91..ee899ac446 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2005-04-12 Ronald S. Bultje + + * 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 * gst/playback/README: diff --git a/ext/ogg/gstoggdemux.c b/ext/ogg/gstoggdemux.c index 8ee24311e0..a35627b559 100644 --- a/ext/ogg/gstoggdemux.c +++ b/ext/ogg/gstoggdemux.c @@ -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)) { diff --git a/gst/playback/gstdecodebin.c b/gst/playback/gstdecodebin.c index 33a740935c..8857ad3de7 100644 --- a/gst/playback/gstdecodebin.c +++ b/gst/playback/gstdecodebin.c @@ -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 */