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 488879 - [videomixer] implement GstChildProxy interface
[videomixer] implement GstChildProxy interface
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-good
0.10.6
Other All
: Normal enhancement
: 0.10.7
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2007-10-22 06:11 UTC by Sameer Naik
Modified: 2008-01-14 15:29 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Implements GstChildProxy Interface for videomixer (24.45 KB, patch)
2007-10-22 06:12 UTC, Sameer Naik
none Details | Review
[PATCH] Implement GstChildProxy Interface (2.75 KB, patch)
2007-10-22 17:51 UTC, Sameer Naik
none Details | Review
[PATCH] adds play segment sending code (3.24 KB, patch)
2007-10-24 15:19 UTC, Sameer Naik
reviewed Details | Review
Patch Created with cvs diff -u -p (5.58 KB, patch)
2007-11-15 18:16 UTC, Sameer Naik
committed Details | Review

Description Sameer Naik 2007-10-22 06:11:32 UTC
easier setting of properties of child pad objects of videomixer.

Other information:
Comment 1 Sameer Naik 2007-10-22 06:12:22 UTC
Created attachment 97587 [details] [review]
Implements GstChildProxy Interface for videomixer
Comment 2 Sameer Naik 2007-10-22 17:51:35 UTC
Created attachment 97654 [details] [review]
[PATCH] Implement GstChildProxy Interface

please discard the previous patch. 

the code i was working with was indented differently by me, due to which the diff utility displayed a huge difference between the old and new source code version (previous patch). 

The new attached version of the patch is rather more suitable, as it more closely resembles the original source code

---please bear with me.

~sameer
Comment 3 Stefan Sauer (gstreamer, gtkdoc dev) 2007-10-23 06:37:59 UTC
We have to patch gstreamer/gst/parse/gramma.y

In gst_parse_element_set() we need to do something like:

  } else { 
    /* FIXME: do a delayed set
     * if (GST_IS_CHILD_PROXY (object)) {
     *   DelayedSet *data = g_new (DelayedSet, 1);
     *   data->parent = element;
     *   data->name = g_strdup(value);
     *   // irks: we still need to deserialize the value,
     * but we don't know the type yet :(
     *   data->value_str = copy_string_to_next_colon_and_update_pos?
     *   g_signal_connect(GST_OBJECT (element),"child-added",
     *     G_CALLBACK (gst_parse_new_child), data);
     * }
     * else
     */
    SET_ERROR (((graph_t *) graph)->error, GST_PARSE_ERROR_NO_SUCH_PROPERTY, \
        _("no property \"%s\" in element \"%s\""), value, \
        GST_ELEMENT_NAME (element)); 
  }

I'll try to implement it.
Comment 4 Sameer Naik 2007-10-24 04:07:00 UTC
please let me know when you have added the functionality to gst-launch.
thanks
Comment 5 Sameer Naik 2007-10-24 15:19:19 UTC
Created attachment 97782 [details] [review]
[PATCH] adds play segment sending code

this patch includes play segment sending functionality in the videomixer.

additions
[1] Implements GstChildProxy Interface
[2] Sends GstSegment Event of source pad.
Comment 6 Tim-Philipp Müller 2007-11-13 12:06:59 UTC
Could you attach a patch created with cvs diff -u -p  please?
(echo 'diff -u -p' >> ~/.cvsrc  will ensure these options are used automatically)

Comment 7 Sameer Naik 2007-11-15 18:16:00 UTC
Created attachment 99153 [details] [review]
Patch Created with cvs diff -u -p

attached is the patch created with cvs diff -u -p

heres how i created the patch.
[]downloaded the current CVS version gst-plugins-good
[]entered gst/videomixer/
[]copied my newer version of videomixer.c there
[]executed #cvs diff -u -p > videomixer.patch

lemme know if this isn't what you expected

~sameer
Comment 8 Tim-Philipp Müller 2007-11-15 18:53:02 UTC
> lemme know if this isn't what you expected

It's perfect, thanks.

Comment 9 Edward Hervey 2008-01-09 12:34:18 UTC
commited, thanks

2008-01-09  Sameer Naik  <sameer@damagehead.com>

	reviewed by: Edward Hervey  <edward.hervey@collabora.co.uk>

	* gst/videomixer/videomixer.c:
	(gst_videomixer_set_master_geometry), (_do_init),
	(gst_videomixer_child_proxy_get_child_by_index),
	(gst_videomixer_child_proxy_get_children_count),
	(gst_videomixer_child_proxy_init), (gst_videomixer_reset),
	(gst_videomixer_init), (gst_videomixer_request_new_pad),
	(gst_videomixer_release_pad), (gst_videomixer_fill_queues):
	Implement GstChildProxy interface.
	Send newsegment at the right moment
	Fixes #488879

Comment 10 Stefan Sauer (gstreamer, gtkdoc dev) 2008-01-14 15:29:35 UTC
I have implemented the functionality to set the properties from gst-launch:
in bug #509391.