After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 324398 - varargs/valist functions aren't bindable
varargs/valist functions aren't bindable
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gstreamer (core)
git master
Other Linux
: Normal normal
: 0.10.4
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2005-12-18 17:32 UTC by Edward Hervey
Modified: 2006-03-10 16:43 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Edward Hervey 2005-12-18 17:32:49 UTC
In order to be properly wrapped in bindings, the following functions need to have equivalents that don't take varargs/valist arguments:

gst_query_set_formats()
gst_tag_setter_add_tags() and _add_tag_*
gst_object_control_properties()
gst_object_uncontrol_properties()

The easiest would be to have some _list() equivalents that take a GList* instead.
Comment 1 Jan Schmidt 2006-01-30 14:37:15 UTC
What's going on with this, Hervey?
Comment 2 Edward Hervey 2006-02-14 10:10:13 UTC
in fact gst_tag_setter_add_tags() is the same as:

def my_tag_setter_add_tags(tagsetter, mergemode, tags):
  taglist = gst.TagList()
  for name,value in tags:
    taglist[name] = value
  tagsetter.merge_tags(mergemode, taglist)

I'll add a wrapper for convenience.
Comment 3 Wim Taymans 2006-02-14 10:12:20 UTC
I don't really like the GList thing as typechecking it is hard in C. Most GLib functions take (.., gint n_args, type *args); function equivalents.
Comment 4 Wim Taymans 2006-02-14 12:10:26 UTC
the formats thing is in CVS now.
Comment 5 Wim Taymans 2006-02-17 19:42:25 UTC
controller functions can be implemented with other public functions, see -core/libs/gst/controller/gsthelper.c, closing.