Commit fe44dafa authored by Ronald S. Bultje's avatar Ronald S. Bultje
Browse files

Work with staticpadtemplates in elementfactories.

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.
parent 50e2f24b
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:
......
......@@ -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)) {
......
......@@ -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 */
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment