Hi Edward, <br><br>Thanks for your reply. <br>Yes, it&#39;s essential to check the return values, but this is just a sample code by which I wanted to demonstrate what I&#39;m trying to do. <br>What I&#39;m keen to know are <br>
1. is there any api which will directly give me the parent element details (something like gst_get_factory_name())<br>2. Is it possible to extract the element information by any other means?<br><br>Thanks again,<br>Gireesh<br>
<br><div class="gmail_quote">On Thu, Nov 6, 2008 at 7:54 PM, Edward Hervey <span dir="ltr">&lt;<a href="mailto:edward.hervey@collabora.co.uk">edward.hervey@collabora.co.uk</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div class="Ih2E3d">On Thu, 2008-11-06 at 18:46 +0530, Gireesh Kumar M wrote:<br>
&gt; Hi All,<br>
&gt;<br>
&gt; Is there any way to extract the parent element information from a<br>
&gt; gstreamer element?<br>
&gt; I tried it using the following code snippets but none of them worked.<br>
&gt;<br>
&gt;<br>
&gt; GstElement *elem =<br>
&gt; GST_ELEMENT_CAST(gst_element_get_parent(GST_ELEMENT(pad)));<br>
<br>
</div> &nbsp;Yay, casting a GstPad to a GstElement (!?!?!?).<br>
 &nbsp;Yay, not checking for the return value of gst_element_get_parent().<br>
<div class="Ih2E3d"><br>
&gt; g_print(&quot;In element %s\n&quot;, gst_element_get_name(elem)); //-------this<br>
&gt; displays current element name properly<br>
&gt;<br>
&gt; elem = GST_ELEMENT_CAST(gst_element_get_parent(elem));<br>
<br>
</div> &nbsp;Yay, not checking for the return value of gst_element_get_parent().<br>
<div class="Ih2E3d"><br>
&gt; g_print(&quot;Parent element is %s\n&quot;,<br>
&gt; gst_element_get_name(elem)); //---this displays pipeline0<br>
&gt;<br>
&gt;<br>
&gt; elem = GST_ELEMENT_CAST(gst_element_get_parent(elem)); &nbsp;//--this<br>
<br>
</div> &nbsp;Yay, not checking for the return value of gst_element_get_parent().<br>
<div class="Ih2E3d"><br>
&gt; &nbsp;throws the following error<br>
&gt; g_print(&quot;Grand Parent element is %s\n&quot;, gst_element_get_name(elem));<br>
&gt;<br>
&gt; /*(gst-launch-0.10:488): GStreamer-CRITICAL **: gst_object_get_name:<br>
&gt; assertion `GS<br>
&gt; T_IS_OBJECT (object)&#39; failed<br>
&gt; Caught SIGSEGV accessing address (nil)<br>
&gt; Spinning. &nbsp;Please run &#39;gdb gst-launch 488&#39; to continue debugging,<br>
&gt; Ctrl-C to quit<br>
&gt; , or Ctrl-\ to dump core. */<br>
&gt;<br>
&gt;<br>
&gt; Then I tried,<br>
&gt;<br>
&gt; GstElement *elem =<br>
&gt; GST_ELEMENT_CAST(gst_element_get_parent(GST_ELEMENT(pad)));<br>
<br>
</div> &nbsp;Yay, not checking for the return value of gst_element_get_parent().<br>
 &nbsp;YAY, casting a GstPad to a GstElement (!?!?!?!)<br>
<br>
&gt; elem = GST_ELEMENT_CAST(gst_element_get_parent(elem));<br>
&gt;<br>
 &nbsp;Yay, not checking for the return value of gst_element_get_parent().<br>
<div class="Ih2E3d"><br>
&gt; GstElementClass *kl = GST_ELEMENT_GET_CLASS(elem);<br>
<br>
</div> &nbsp;Yay, not checking for the return value of GST_ELEMENT_GET_CLASS().<br>
<div class="Ih2E3d"><br>
&gt; g_print(&quot;In element %s\n&quot;,<br>
&gt; gst_object_get_name((GstObject*)(kl.details-&gt;longname));<br>
&gt;<br>
&gt; This again gave pipeline0, where I&#39;m expecting the actual name of the<br>
&gt; element. It would be great if anyone can guide me.<br>
<br>
</div> &nbsp;So, to summarize: You&#39;re asking for the parent of the parent of the<br>
pad.<br>
 &nbsp;The parent of the pad : The element to which the pad (maybe) belongs.<br>
 &nbsp;The parent of the element to which the pad belongs : a pipeline.<br>
<br>
 &nbsp;There&#39;s nothing wrong in what it&#39;s returning, but please... if you<br>
haven&#39;t noticed by now... always check the return values of<br>
functions/methods. It&#39;ll avoid you from calling methods/functions with<br>
invalid arguments.<br>
<font color="#888888"><br>
 &nbsp; &nbsp;Edward<br>
</font><div class="Ih2E3d"><br>
&gt;<br>
&gt; Many thanks in advance,<br>
&gt; Gireesh<br>
</div><div><div></div><div class="Wj3C7c">&gt; -------------------------------------------------------------------------<br>
&gt; This SF.Net email is sponsored by the Moblin Your Move Developer&#39;s challenge<br>
&gt; Build the coolest Linux based applications with Moblin SDK &amp; win great prizes<br>
&gt; Grand prize is a trip for two to an Open Source event anywhere in the world<br>
&gt; <a href="http://moblin-contest.org/redirect.php?banner_id=100&amp;url=/" target="_blank">http://moblin-contest.org/redirect.php?banner_id=100&amp;url=/</a><br>
&gt; _______________________________________________ Gstreamer-embedded mailing list <a href="mailto:Gstreamer-embedded@lists.sourceforge.net">Gstreamer-embedded@lists.sourceforge.net</a> <a href="https://lists.sourceforge.net/lists/listinfo/gstreamer-embedded" target="_blank">https://lists.sourceforge.net/lists/listinfo/gstreamer-embedded</a><br>

<br>
</div></div></blockquote></div><br>