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

GStreamer (bugzilla.gnome.org) bugzilla-daemon at bugzilla.gnome.org
Thu Apr 10 11:47:46 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|NEEDINFO                    |UNCONFIRMED




------- Comment #9 from José Alburquerque  2008-04-10 18:47 UTC -------
(In reply to comment #8)
> I'll try.  Thanks.
> 

I found a solution which in fact doesn't require any changes on your part and
for this I must apologize.  As I mentioned, we run a script called gmmproc
(part of glibmm) on *.hg and *.ccg files to produce the C++ *.h and *.c files. 
To declare the C++ types we use "class macros" in the *.hg files that
"describe" how to use the C API to declare the C++ types.  I was using the
following to declare the C++ type Gst::TagList:

class TagList
{
  _CLASS_BOXEDTYPE(TagList, GstTagList, gst_tag_list_new, gst_tag_list_copy,
gst_tag_list_free)

public:
...

The _CLASS_BOXEDTYPE macro takes (in order) a C++ type, the corresponding C
type, the function used to create a new object and the function to free the
object once it is created -- see the _CLASS_BOXEDTYPE docs in the Class macros
section of "The .hg and .ccg files
(http://www.gtkmm.org/docs/gtkmm-2.4/docs/tutorial/html/sec-wrapping-hg-files.html)
of the gtkmm wrapping docs
(http://www.gtkmm.org/docs/gtkmm-2.4/docs/tutorial/html/aph.html).

I changed the C type from "GstTagList" to "GstStructure" like so:

class TagList
{
  _CLASS_BOXEDTYPE(TagList, GstStructure, gst_tag_list_new, gst_tag_list_copy,
gst_tag_list_free)

public:
...

and compilation works fine.  Again, I should have understood that a GstTagList
is also a GstStructure and could have avoided an unnecessary bug report.  It is
fixed here so I'll close bug reports related to this one, but thanks for your
kind efforts to assist.  I'll try to be more careful.


-- 
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