<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">


<META content="MSHTML 6.00.2900.3354" name=GENERATOR></HEAD>
<BODY>
<DIV><SPAN class=500341405-14112008><FONT face=Arial color=#0000ff size=2>Hi 
Zhang ,</FONT></SPAN></DIV>
<DIV><SPAN class=500341405-14112008></SPAN>&nbsp;</DIV>
<DIV><SPAN class=500341405-14112008><FONT face=Arial color=#0000ff 
size=2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Thanks 
for your reply </FONT></SPAN></DIV>
<DIV><SPAN 
class=500341405-14112008>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
<FONT face=Arial color=#0000ff size=2>Did you mean the following in the 
_class_init ( ) ?</FONT></SPAN></DIV>
<DIV><SPAN class=500341405-14112008><FONT face=Arial color=#0000ff 
size=2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;If 
so then yes, i have done that .</FONT></SPAN></DIV>
<DIV><SPAN class=500341405-14112008><FONT face=Arial color=#0000ff 
size=2>&nbsp;&nbsp;&nbsp;&nbsp;</FONT></SPAN></DIV>
<DIV><SPAN class=500341405-14112008><FONT face=Arial color=#0000ff 
size=2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<FONT color=#000000>static void 
gst_queue3_class_init (Gstqueue3Class * 
klass)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
{</FONT></FONT></SPAN></DIV>
<DIV><SPAN class=500341405-14112008><FONT face=Arial 
size=2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
GstElementClass 
*gstelement_class;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
 gstelement_class = (GstElementClass *) klass;<BR></FONT></SPAN></DIV>
<DIV><SPAN class=500341405-14112008><FONT face=Arial 
size=2></FONT></SPAN>&nbsp;</DIV>
<DIV><SPAN 
class=500341405-14112008>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
 gstelement_class-&gt;change_state = GST_DEBUG_FUNCPTR 
(gst_queue3_change_state);</SPAN></DIV>
<DIV><SPAN class=500341405-14112008>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
<FONT face=Arial color=#0000ff size=2>}</FONT></SPAN></DIV>
<DIV><SPAN class=500341405-14112008><FONT face=Arial color=#0000ff 
size=2></FONT></SPAN>&nbsp;</DIV>
<DIV><SPAN class=500341405-14112008>&nbsp;&nbsp;&nbsp; R<FONT face=Arial 
color=#0000ff size=2>egards,</FONT></SPAN></DIV>
<DIV><SPAN 
class=500341405-14112008>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<FONT 
face=Arial color=#0000ff size=2>~Arnab </FONT>&nbsp;&nbsp;&nbsp; </SPAN></DIV>
<DIV><SPAN class=500341405-14112008><FONT face=Arial color=#0000ff 
size=2></FONT></SPAN>&nbsp;</DIV>
<DIV><SPAN class=500341405-14112008>&nbsp;&nbsp;&nbsp; <BR></DIV></SPAN>
<BLOCKQUOTE>
  <DIV class=OutlookMessageHeader dir=ltr align=left><FONT face=Tahoma 
  size=2>-----Original Message-----<BR><B>From:</B> Eric Zhang 
  [mailto:nicolas.m.zhang@gmail.com]<BR><B>Sent:</B> Friday, November 14, 2008 
  7:43 AM<BR><B>To:</B> arnabsamanta@tataelxsi.co.in; Discussion of the 
  development of GStreamer<BR><B>Subject:</B> Re: [gst-devel] state 
  change<BR><BR></FONT></DIV>Hi, gstreamer-devel:<BR><BR>&nbsp;&nbsp;&nbsp; Did 
  you override the `change_state' function pointer in your element's 
  `_class_init' function?<BR><BR>Eric Zhang<BR><BR>
  <DIV class=gmail_quote>2008/11/13 arnabsamanta <SPAN dir=ltr>&lt;<A 
  href="mailto:arnabsamanta@tataelxsi.co.in">arnabsamanta@tataelxsi.co.in</A>&gt;</SPAN><BR>
  <BLOCKQUOTE class=gmail_quote 
  style="PADDING-LEFT: 1ex; MARGIN: 0pt 0pt 0pt 0.8ex; BORDER-LEFT: rgb(204,204,204) 1px solid">&nbsp;Hi 
    All,<BR>&nbsp; &nbsp; &nbsp; &nbsp;during state change of my plug in i am 
    calling a function QUEUE3_De_Init()<BR>but its not getting called 
    .<BR>&nbsp; &nbsp; &nbsp; &nbsp;QUEUE3_De_Init() de-initializes all the 
    initialized variables in the code.<BR>&nbsp; &nbsp; &nbsp; &nbsp;the 
    implementation is as such<BR><BR>&nbsp; &nbsp; &nbsp; &nbsp; static 
    GstStateChangeReturn gst_queue3_change_state (GstElement * 
    element,<BR>GstStateChange transition)<BR>&nbsp; &nbsp; &nbsp; 
    &nbsp;{<BR>&nbsp; &nbsp; &nbsp; &nbsp;Gstqueue3 *queue3;<BR>&nbsp; &nbsp; 
    &nbsp; &nbsp;abuffer = GST_QUEUE3 (element);<BR><BR>&nbsp; &nbsp; &nbsp; 
    &nbsp;GstStateChangeReturn ret = GST_STATE_CHANGE_SUCCESS;<BR><BR>&nbsp; 
    &nbsp; &nbsp; &nbsp;switch (transition) {<BR>&nbsp; &nbsp; &nbsp; &nbsp; 
    &nbsp; &nbsp; &nbsp; &nbsp;case GST_STATE_CHANGE_NULL_TO_READY:<BR>&nbsp; 
    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 
    &nbsp;break;<BR>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;case 
    GST_STATE_CHANGE_READY_TO_PAUSED:<BR>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 
    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;<BR>&nbsp; &nbsp; 
    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;case 
    GST_STATE_CHANGE_PAUSED_TO_PLAYING:<BR>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 
    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;<BR>&nbsp; &nbsp; 
    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;default:<BR>&nbsp; &nbsp; &nbsp; 
    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 
    &nbsp;break;<BR>&nbsp; &nbsp; &nbsp; &nbsp;}<BR><BR>&nbsp; &nbsp; &nbsp; 
    &nbsp;ret = GST_ELEMENT_CLASS (parent_class)-&gt;change_state 
    (element,<BR>transition);<BR><BR>&nbsp; &nbsp; &nbsp; &nbsp;switch 
    (transition) {<BR>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 
    &nbsp;case GST_STATE_CHANGE_PLAYING_TO_PAUSED:<BR><BR>&nbsp; &nbsp; &nbsp; 
    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 
    &nbsp;break;<BR>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;case 
    GST_STATE_CHANGE_PAUSED_TO_READY:<BR>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 
    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;<BR>&nbsp; &nbsp; 
    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;case 
    GST_STATE_CHANGE_READY_TO_NULL:<BR>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 
    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;QUEUE3_De_Init();<BR>&nbsp; &nbsp; 
    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 
    &nbsp;break;<BR>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 
    &nbsp;default:<BR>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 
    &nbsp; &nbsp; &nbsp; &nbsp;break;<BR>&nbsp; &nbsp; &nbsp; 
    &nbsp;}<BR><BR><BR>&nbsp; &nbsp; &nbsp; &nbsp;So,<BR>&nbsp; &nbsp; &nbsp; 
    &nbsp;can please somebody tell me how and where I can call the function when 
    am<BR>changing the state of the pipeline ?<BR><BR>&nbsp;Regards,<BR>&nbsp; 
    &nbsp; &nbsp; &nbsp;Arnab<BR><BR><BR>The information contained in this 
    electronic message and any attachments to this message are intended for the 
    exclusive use of the addressee(s) and may contain proprietary, confidential 
    or privileged information. If you are not the intended recipient, you should 
    not disseminate, distribute or copy this e-mail. Please notify the sender 
    immediately and destroy all copies of this message and any attachments 
    contained in 
    it.<BR><BR>-------------------------------------------------------------------------<BR>This 
    SF.Net email is sponsored by the Moblin Your Move Developer's 
    challenge<BR>Build the coolest Linux based applications with Moblin SDK 
    &amp; win great prizes<BR>Grand prize is a trip for two to an Open Source 
    event anywhere in the world<BR><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>_______________________________________________<BR>gstreamer-devel 
    mailing list<BR><A 
    href="mailto:gstreamer-devel@lists.sourceforge.net">gstreamer-devel@lists.sourceforge.net</A><BR><A 
    href="https://lists.sourceforge.net/lists/listinfo/gstreamer-devel" 
    target=_blank>https://lists.sourceforge.net/lists/listinfo/gstreamer-devel</A><BR></BLOCKQUOTE></DIV><BR></BLOCKQUOTE><p>The information contained in this electronic message and any attachments to this message are intended for the exclusive use of the addressee(s) and may contain proprietary, confidential or privileged information. If you are not the intended recipient, you should not disseminate, distribute or copy this e-mail. Please notify the sender immediately and destroy all copies of this message and any attachments contained in it.</p>
</BODY></HTML>