From 50b3d1770fd8dca5fae1c59a9e07cd86442609c3 Mon Sep 17 00:00:00 2001 From: Thomas Vander Stichele Date: Sun, 5 Oct 2003 20:46:32 +0000 Subject: [PATCH] fixes #90471 Original commit message from CVS: fixes #90471 --- gst/gstautoplug.c | 70 ++++++++++++++++++++++++++++++++++++++++------- gst/gstautoplug.h | 9 ++++-- 2 files changed, 66 insertions(+), 13 deletions(-) diff --git a/gst/gstautoplug.c b/gst/gstautoplug.c index dc314a9f6b..8873438733 100644 --- a/gst/gstautoplug.c +++ b/gst/gstautoplug.c @@ -110,15 +110,15 @@ gst_autoplug_signal_new_object (GstAutoplug *autoplug, GstObject *object) /** * gst_autoplug_to_caps: - * @autoplug: The autoplugger perform the autoplugging - * @srccaps: The source cpabilities - * @sinkcaps: The target capabilities - * @...: more target capabilities + * @autoplug: The autoplugger performing the autoplugging. + * @srccaps: The source capabilities. + * @sinkcaps: The target capabilities. + * @...: more target capabilities. * * Perform the autoplugging procedure on the given autoplugger. * The src caps will be connected to the sink caps. * - * Returns: A new Element that connects the src caps to the sink caps. + * Returns: A new #GstElement that connects the src caps to the sink caps. */ GstElement* gst_autoplug_to_caps (GstAutoplug *autoplug, GstCaps *srccaps, GstCaps *sinkcaps, ...) @@ -138,17 +138,42 @@ gst_autoplug_to_caps (GstAutoplug *autoplug, GstCaps *srccaps, GstCaps *sinkcaps return element; } +/** + * gst_autoplug_to_caps_valist: + * @autoplug: The autoplugger performing the autoplugging. + * @srccaps: The source capabilities. + * @sinkcaps: The target capabilities. + * @va_list: more target capabilities. + * + * Perform the autoplugging procedure on the given autoplugger. + * The src caps will be connected to the sink caps. + * + * Returns: A new #GstElement that connects the src caps to the sink caps. + */ +GstElement* +gst_autoplug_to_caps_valist (GstAutoplug *autoplug, GstCaps *srccaps, GstCaps *sinkcaps, va_list args) +{ + GstAutoplugClass *oclass; + GstElement *element = NULL; + + oclass = GST_AUTOPLUG_CLASS (G_OBJECT_GET_CLASS(autoplug)); + if (oclass->autoplug_to_caps) + element = (oclass->autoplug_to_caps) (autoplug, srccaps, sinkcaps, args); + + return element; +} + /** * gst_autoplug_to_renderers: - * @autoplug: The autoplugger perform the autoplugging - * @srccaps: The source cpabilities - * @target: The target element - * @...: more target elements + * @autoplug: The autoplugger performing the autoplugging. + * @srccaps: The source capabilities. + * @target: The target element. + * @...: more target elements. * * Perform the autoplugging procedure on the given autoplugger. * The src caps will be connected to the target elements. * - * Returns: A new Element that connects the src caps to the target elements. + * Returns: A new #GstElement that connects the src caps to the target elements. */ GstElement* gst_autoplug_to_renderers (GstAutoplug *autoplug, GstCaps *srccaps, GstElement *target, ...) @@ -168,6 +193,31 @@ gst_autoplug_to_renderers (GstAutoplug *autoplug, GstCaps *srccaps, GstElement * return element; } +/** + * gst_autoplug_to_renderers_valist: + * @autoplug: The autoplugger performing the autoplugging. + * @srccaps: The source capabilities. + * @target: The target element . + * @va_list: more target elements. + * + * Perform the autoplugging procedure on the given autoplugger. + * The src caps will be connected to the target elements. + * + * Returns: A new #GstElement that connects the src caps to the target elements. + */ +GstElement* +gst_autoplug_to_renderers_valist (GstAutoplug *autoplug, GstCaps *srccaps, GstElement *target, va_list args) +{ + GstAutoplugClass *oclass; + GstElement *element = NULL; + + oclass = GST_AUTOPLUG_CLASS (G_OBJECT_GET_CLASS(autoplug)); + if (oclass->autoplug_to_renderers) + element = (oclass->autoplug_to_renderers) (autoplug, srccaps, target, args); + + return element; +} + static void gst_autoplug_factory_class_init (GstAutoplugFactoryClass *klass); static void gst_autoplug_factory_init (GstAutoplugFactory *factory); diff --git a/gst/gstautoplug.h b/gst/gstautoplug.h index fdc1187223..0fae4356ee 100644 --- a/gst/gstautoplug.h +++ b/gst/gstautoplug.h @@ -72,9 +72,12 @@ GType gst_autoplug_get_type (void); void gst_autoplug_signal_new_object (GstAutoplug *autoplug, GstObject *object); -GstElement* gst_autoplug_to_caps (GstAutoplug *autoplug, GstCaps *srccaps, GstCaps *sinkcaps, ...); -GstElement* gst_autoplug_to_renderers (GstAutoplug *autoplug, GstCaps *srccaps, - GstElement *target, ...); +GstElement* gst_autoplug_to_caps (GstAutoplug *autoplug, GstCaps *srccaps, GstCaps *sinkcaps, ...); +GstElement* gst_autoplug_to_caps_valist (GstAutoplug *autoplug, GstCaps *srccaps, GstCaps *sinkcaps, va_list args); +GstElement* gst_autoplug_to_renderers (GstAutoplug *autoplug, GstCaps *srccaps, + GstElement *target, ...); +GstElement* gst_autoplug_to_renderers_valist (GstAutoplug *autoplug, GstCaps *srccaps, + GstElement *target, va_list args); /*