GNOME Bugzilla – Bug 488879
[videomixer] implement GstChildProxy interface
Last modified: 2008-01-14 15:29:35 UTC
easier setting of properties of child pad objects of videomixer. Other information:
Created attachment 97587 [details] [review] Implements GstChildProxy Interface for videomixer
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
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.
please let me know when you have added the functionality to gst-launch. thanks
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.
Could you attach a patch created with cvs diff -u -p please? (echo 'diff -u -p' >> ~/.cvsrc will ensure these options are used automatically)
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
> lemme know if this isn't what you expected It's perfect, thanks.
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
I have implemented the functionality to set the properties from gst-launch: in bug #509391.