[gst-embedded] Any API to extract the parent element information?
Edward Hervey
edward.hervey at collabora.co.uk
Thu Nov 6 06:24:53 PST 2008
On Thu, 2008-11-06 at 18:46 +0530, Gireesh Kumar M wrote:
> Hi All,
>
> Is there any way to extract the parent element information from a
> gstreamer element?
> I tried it using the following code snippets but none of them worked.
>
>
> GstElement *elem =
> GST_ELEMENT_CAST(gst_element_get_parent(GST_ELEMENT(pad)));
Yay, casting a GstPad to a GstElement (!?!?!?).
Yay, not checking for the return value of gst_element_get_parent().
> g_print("In element %s\n", gst_element_get_name(elem)); //-------this
> displays current element name properly
>
> elem = GST_ELEMENT_CAST(gst_element_get_parent(elem));
Yay, not checking for the return value of gst_element_get_parent().
> g_print("Parent element is %s\n",
> gst_element_get_name(elem)); //---this displays pipeline0
>
>
> elem = GST_ELEMENT_CAST(gst_element_get_parent(elem)); //--this
Yay, not checking for the return value of gst_element_get_parent().
> throws the following error
> g_print("Grand Parent element is %s\n", gst_element_get_name(elem));
>
> /*(gst-launch-0.10:488): GStreamer-CRITICAL **: gst_object_get_name:
> assertion `GS
> T_IS_OBJECT (object)' failed
> Caught SIGSEGV accessing address (nil)
> Spinning. Please run 'gdb gst-launch 488' to continue debugging,
> Ctrl-C to quit
> , or Ctrl-\ to dump core. */
>
>
> Then I tried,
>
> GstElement *elem =
> GST_ELEMENT_CAST(gst_element_get_parent(GST_ELEMENT(pad)));
Yay, not checking for the return value of gst_element_get_parent().
YAY, casting a GstPad to a GstElement (!?!?!?!)
> elem = GST_ELEMENT_CAST(gst_element_get_parent(elem));
>
Yay, not checking for the return value of gst_element_get_parent().
> GstElementClass *kl = GST_ELEMENT_GET_CLASS(elem);
Yay, not checking for the return value of GST_ELEMENT_GET_CLASS().
> g_print("In element %s\n",
> gst_object_get_name((GstObject*)(kl.details->longname));
>
> This again gave pipeline0, where I'm expecting the actual name of the
> element. It would be great if anyone can guide me.
So, to summarize: You're asking for the parent of the parent of the
pad.
The parent of the pad : The element to which the pad (maybe) belongs.
The parent of the element to which the pad belongs : a pipeline.
There's nothing wrong in what it's returning, but please... if you
haven't noticed by now... always check the return values of
functions/methods. It'll avoid you from calling methods/functions with
invalid arguments.
Edward
>
> Many thanks in advance,
> Gireesh
> -------------------------------------------------------------------------
> This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
> Build the coolest Linux based applications with Moblin SDK & win great prizes
> Grand prize is a trip for two to an Open Source event anywhere in the world
> http://moblin-contest.org/redirect.php?banner_id=100&url=/
> _______________________________________________ Gstreamer-embedded mailing list Gstreamer-embedded at lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/gstreamer-embedded
More information about the Gstreamer-embedded
mailing list