Add gst_pad_template_newv() as a va_list alternative to gst_pad_template_new()
authorDavid Schleef <ds@schleef.org>
Tue, 10 Jun 2003 18:23:51 +0000 (18:23 +0000)
committerDavid Schleef <ds@schleef.org>
Tue, 10 Jun 2003 18:23:51 +0000 (18:23 +0000)
Original commit message from CVS:
Add gst_pad_template_newv() as a va_list alternative to
gst_pad_template_new()

gst/gstpad.c
gst/gstpad.h

index 1d20ce3..509c0d7 100644 (file)
@@ -2546,12 +2546,12 @@ name_is_valid (const gchar *name, GstPadPresence presence)
 }
 
 /**
- * gst_pad_template_new:
+ * gst_pad_template_newv:
  * @name_template: the name template.
  * @direction: the #GstPadDirection of the template.
  * @presence: the #GstPadPresence of the pad.
  * @caps: a #GstCaps set for the template.
- * @...: a NULL-terminated list of #GstCaps.
+ * @var_args: a NULL-terminated list of #GstCaps.
  *
  * Creates a new pad template with a name according to the given template
  * and with the given arguments.
@@ -2559,12 +2559,11 @@ name_is_valid (const gchar *name, GstPadPresence presence)
  * Returns: a new #GstPadTemplate.
  */
 GstPadTemplate*
-gst_pad_template_new (const gchar *name_template,
-                    GstPadDirection direction, GstPadPresence presence,
-                    GstCaps *caps, ...)
+gst_pad_template_newv (const gchar *name_template,
+                      GstPadDirection direction, GstPadPresence presence,
+                      GstCaps *caps, va_list var_args)
 {
   GstPadTemplate *new;
-  va_list var_args;
   GstCaps *thecaps = NULL;
 
   g_return_val_if_fail (name_template != NULL, NULL);
@@ -2580,8 +2579,6 @@ gst_pad_template_new (const gchar *name_template,
   GST_PAD_TEMPLATE_DIRECTION (new) = direction;
   GST_PAD_TEMPLATE_PRESENCE (new) = presence;
 
-  va_start (var_args, caps);
-
   GST_FLAG_SET (GST_OBJECT (new), GST_PAD_TEMPLATE_FIXED);
   while (caps) {
     if (!GST_CAPS_IS_FIXED (caps)) {
@@ -2590,7 +2587,6 @@ gst_pad_template_new (const gchar *name_template,
     thecaps = gst_caps_append (thecaps, caps);
     caps = va_arg (var_args, GstCaps*);
   }
-  va_end (var_args);
   
   GST_PAD_TEMPLATE_CAPS (new) = thecaps;
   gst_caps_ref (thecaps);
@@ -2600,6 +2596,37 @@ gst_pad_template_new (const gchar *name_template,
 }
 
 /**
+ * gst_pad_template_new:
+ * @name_template: the name template.
+ * @direction: the #GstPadDirection of the template.
+ * @presence: the #GstPadPresence of the pad.
+ * @caps: a #GstCaps set for the template.
+ * @...: a NULL-terminated list of #GstCaps.
+ *
+ * Creates a new pad template with a name according to the given template
+ * and with the given arguments.
+ *
+ * Returns: a new #GstPadTemplate.
+ */
+GstPadTemplate*
+gst_pad_template_new (const gchar *name_template,
+                    GstPadDirection direction, GstPadPresence presence,
+                    GstCaps *caps, ...)
+{
+  GstPadTemplate *new;
+  va_list var_args;
+
+  va_start (var_args, caps);
+
+  new = gst_pad_template_newv (name_template, direction, presence, 
+                               caps, var_args);
+
+  va_end (var_args);
+
+  return new;
+}
+
+/**
  * gst_pad_template_get_caps:
  * @templ: a #GstPadTemplate to get capabilities of.
  *
index baed59e..860393f 100644 (file)
@@ -510,6 +510,10 @@ GstPadTemplate*            gst_pad_template_new                    (const gchar *name_template,
                                                                 GstPadDirection direction, GstPadPresence presence,
                                                                 GstCaps *caps, ...);
 
+GstPadTemplate*                gst_pad_template_newv                   (const gchar *name_template,
+                                                                GstPadDirection direction, GstPadPresence presence,
+                                                                GstCaps *caps, va_list var_args);
+
 GstCaps*               gst_pad_template_get_caps               (GstPadTemplate *templ);
 GstCaps*               gst_pad_template_get_caps_by_name       (GstPadTemplate *templ, const gchar *name);