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 539063 - GhostPad constructor is broken
GhostPad constructor is broken
Status: RESOLVED FIXED
Product: gstreamermm
Classification: Bindings
Component: general
git master
Other All
: Normal normal
: ---
Assigned To: gtkmm-forge
gtkmm-forge
Depends on: 539108
Blocks:
 
 
Reported: 2008-06-19 03:00 UTC by Marcus Brinkmann
Modified: 2011-01-16 23:37 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Example program to reproduce the problem. (3.06 KB, text/plain)
2008-06-19 03:01 UTC, Marcus Brinkmann
Details

Description Marcus Brinkmann 2008-06-19 03:00:01 UTC
Please describe the problem:
Creating a ghost pad from a target pad or from a direction does not work.

Steps to reproduce:
For example:

  Glib::RefPtr<Gst::Pad> sink_pad = audio_convert->get_static_pad ("sink");

(1)

  Glib::RefPtr<Gst::Element> audio_convert
    = Gst::ElementFactory::create ("audioconvert", "audioconvert");

(2)

  Glib::RefPtr<Gst::GhostPad> ghost_pad
	  = Gst::GhostPad::create ("sink", Gst::PAD_SINK);



Actual results:

(1)

(lt-mediaplayer:8954): glibmm-WARNING **: Glib::ConstructParams::ConstructParams(): object class "gtkmm__GstGhostPad" has no property named "target"

(2)

(lt-mediaplayer:10732): glibmm-WARNING **: Glib::ConstructParams::ConstructParams(): object class "gtkmm__GstGhostPad" has no property named "dir"

In either case, the ghost pad is not properly functional (has no direction).


Expected results:
I would expect a ghost pad with the given target or direction to be created.

Does this happen every time?
Yes.

Other information:
From José Alburquerque:

"What you're getting above is a warning related to how the Gst::GhostPad::create() methods have been wrapped and an interaction between the parameter collection for the Gst::GhostPad construction in its super class's Gst::Pad constructor and the gstreamer object internal properties.  I wont bore you with all the details, however, suffice it to say that thanks to your reporting I think this can be quickly fixed."
Comment 1 Marcus Brinkmann 2008-06-19 03:01:33 UTC
Created attachment 113018 [details]
Example program to reproduce the problem.

Put this in gstreamermm/examples/media_player_gtkmm/ and compile and run to reproduce the problem.
Comment 2 José Alburquerque 2008-06-19 04:31:11 UTC
As I said in the list thread, the warnings seem to be pertinent but I can't confirm the error.  Here's what I said:

This one I think should be addressed by comparing C and C++ functionality.  I would encourage you to test both C and C++ versions (ignoring the warning above for now) and see if there is a difference in functionality.  If you find anything, I'll be happy to  look into it, but I'd really appreciate it if, as already described, you could file it in bugzilla if you find a bug.  Please be sure to post both the C and the C++ examples (as brief as possible) with the report.  Really appreciate you testing things out.
Comment 3 Murray Cumming 2008-06-19 10:49:30 UTC
This is caused by gstreamer bug #539108.
Comment 4 José Alburquerque 2009-01-12 21:16:53 UTC
The following commit fixes this bug.  Sorry for the terrible delay in fixing it and thanks for taking the time to report it:

2009-01-12  José Alburquerque  <jaalburqu@svn.gnome.org>

	* gstreamer/gstreamermm.h:
	* gstreamer/src/Makefile_list_of_hg.am_fragment:
	* gstreamer/src/ghostpad.ccg:
	* gstreamer/src/ghostpad.hg: Re-added ghostpad.hg (Bug #539108 has
	been resolved).
	* tests/Makefile.am: Re-added ghost pad test.
	
	Fixes Bug #539063 (Marcus Brinkmann).