[gstreamer-bugs] [Bug 518934] Facilitating wrapping of GstTagList by glibmm

GStreamer (bugzilla.gnome.org) bugzilla-daemon at bugzilla.gnome.org
Fri Apr 11 11:52:37 PDT 2008


If you have any questions why you received this email, please see the text at
the end of this email. Replies to this email are NOT read, please see the text
at the end of this email. You can add comments to this bug at:
  http://bugzilla.gnome.org/show_bug.cgi?id=518934

  GStreamer | gstreamer (core) | Ver: HEAD CVS

José Alburquerque changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|RESOLVED                    |UNCONFIRMED
         Resolution|NOTABUG                     |




------- Comment #11 from José Alburquerque  2008-04-11 18:52 UTC -------
It seems I spoke too soon.  I don't want to re-open this request, but at this
point, I think I may have no choice.  The fix I described above was a fix but
only a temporary one because now I'm getting errors related to the duplicity of
functions  (methods) which gmmproc generates to wrap each C type of the
corresponding C++ wrapper type.

As I just described, gmmproc generates a method (called a "wrap" method) for
the C type given in the "class macros" of the C++ type.  In this case, one wrap
method is generated for Gst::Structure and another for Gst::TagList.  But,
because the C type for Gst::TagList is the same as that of Gst::Structure
(GstStructure), another wrap method is generated for the Gst::Structure C type
which ambiguates the orignal Gst::Structure wrap method.  Here's the build
error I get:

In file included from wrap_init.cc:45:
taglist.h:251: error: new declaration 'Gst::TagList Glib::wrap(GstStructure*,
bool, bool)'
../../gstreamer/gstreamermm/structure.h:372: error: ambiguates old declaration
'Gst::Structure Glib::wrap(GstStructure*, bool, bool)'
make[5]: *** [wrap_init.lo] Error 1

I'm left with my original request hoping that the change may not break API in
any significant way.  It it does, we will hold off wrapping GstTagList for now.

Before I finish, however, would the following idea as to why API may not be
broken be valid?  As the patch is now, the casts occur in
gst_tag_list_add_valist and gst_tag_list_add_valist_values but only when
calling gst_tag_list_add_value_internal (which requires a GstStructure).  Since
gst_tag_list_add_value_internal is "not exposed", users would still have to use
the exposed GstTagList API for working with GstTagLists and none of the exposed
GstTagList API has changed.  Is this right?

Again, I really appreciate your attention to our efforts.  I'd also accept
consultation with others to see what they think.  Thanks again.


-- 
See http://bugzilla.gnome.org/page.cgi?id=email.html for more info about why you received
this email, why you can't respond via email, how to stop receiving
emails (or reduce the number you receive), and how to contact someone
if you are having problems with the system.

You can add comments to this bug at http://bugzilla.gnome.org/show_bug.cgi?id=518934.




More information about the Gstreamer-bugs mailing list