<!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.5730.11" name=GENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=#ffffff>
<DIV><FONT face=Arial size=2>Hi Eric,</FONT></DIV>
<DIV><FONT face=Arial 
size=2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Thanks for 
the&nbsp;reply. The rtspsrc element you mentioned is probably a RTSP Client. But 
i am implementing a RTSP Server. The pipeline i am using is a general pipeline 
we use for implementing gstrtpbin as a RTP sender. The pipeline is as below 
:-</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>gst-launch-0.10 gstrtpbin name=rtpbin filesrc 
location=&lt;filename&gt; ! mpeg4videoparse ! rtpmp4vpay ! 
rtpbin.send_rtp_sink_2 rtpbin.send_rtp_src_2 ! udpsink port=5000 host=&lt;IP&gt; 
name=vrtpsink rtpbin.send_rtcp_src_2 ! udpsink port=5001 host=&lt;IP&gt; 
sync=false async=false name=vrtcpsink udpsrc port=5005 name=vrtpsrc ! 
rtpbin.recv_rtcp_sink_2</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>Please suggest on how to implement the "time out" 
when the client crashes.</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>Regards</FONT></DIV>
<DIV><FONT face=Arial size=2>Aniruddha</FONT></DIV>
<BLOCKQUOTE 
style="PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #000000 2px solid; MARGIN-RIGHT: 0px">
  <DIV style="FONT: 10pt arial">----- Original Message ----- </DIV>
  <DIV 
  style="BACKGROUND: #e4e4e4; FONT: 10pt arial; font-color: black"><B>From:</B> 
  <A title=nicolas.m.zhang@gmail.com 
  href="mailto:nicolas.m.zhang@gmail.com">Eric Zhang</A> </DIV>
  <DIV style="FONT: 10pt arial"><B>To:</B> <A 
  title=aniruddhachourasia@tataelxsi.co.in 
  href="mailto:aniruddhachourasia@tataelxsi.co.in">Aniruddha</A> ; <A 
  title=gstreamer-devel@lists.sourceforge.net 
  href="mailto:gstreamer-devel@lists.sourceforge.net">Discussion of the 
  development of GStreamer</A> </DIV>
  <DIV style="FONT: 10pt arial"><B>Sent:</B> Monday, December 15, 2008 9:11 
  AM</DIV>
  <DIV style="FONT: 10pt arial"><B>Subject:</B> Re: [gst-devel] GstRtpBin 
  Elemenst Signal "on-timeout"</DIV>
  <DIV><BR></DIV>Hi, gstreamer-devel:<BR><BR>&nbsp;&nbsp;&nbsp; 1. If the client 
  crash/power failure/network disconnected, there is no way to send TEARDOWN to 
  server so the server will keep sending packets to the client. I think there is 
  no way to notify server stopping the streaming.<BR><BR>&nbsp;&nbsp;&nbsp; 2. 
  on-bye-timeout, on-timeout will be emitted by GstRtpBin if bye packet is 
  received or there is no any packets received for a while. I noticed you 
  mentioned "TEARDOWN", so I think maybe you're playing a RTSP movie and so 
  rtspsrc maybe is used in your pipeline. Rtspsrc uses GstRtpBin internally and 
  connects these signals then do the EOS logics. So I am surprised you have a 
  GstRtpBin element in your pipeline and wanna connect these signals manually. 
  Paste your pipeline here, maybe it can make things clear.<BR><BR>Eric 
  Zhang<BR><BR>
  <DIV class=gmail_quote>2008/12/12 Aniruddha <SPAN dir=ltr>&lt;<A 
  href="mailto:aniruddhachourasia@tataelxsi.co.in">aniruddhachourasia@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">
    <DIV bgcolor="#ffffff">
    <DIV><FONT face=Arial size=2>Hi All,</FONT></DIV>
    <DIV><FONT face=Arial size=2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; I am 
    using GstRtpBin element in the gst-plugins-bad-0.10.8 for 
    implementing</FONT></DIV>
    <DIV><FONT face=Arial size=2>rtsp/rtp streaming over udp. </FONT><FONT 
    face=Arial size=2>I am able to stream properly. Both SR and RRs are 
    </FONT></DIV>
    <DIV><FONT face=Arial size=2>getting transfered. But </FONT><FONT face=Arial 
    size=2>when the client stops because of any reason(crash, power</FONT></DIV>
    <DIV><FONT face=Arial size=2>failure, network </FONT><FONT face=Arial 
    size=2>disconnection, etc) without giving a TEARDOWN signal, the 
    </FONT></DIV>
    <DIV><FONT face=Arial size=2>server should also </FONT><FONT face=Arial 
    size=2>stop </FONT><FONT face=Arial size=2>streaming. I have attached a 
    signal handler for the signals </FONT></DIV>
    <DIV><FONT face=Arial size=2>on-timeout, on-bye-timeout, on-bye-ssrc emitted 
    by the gstrtpbin element. But the </FONT></DIV>
    <DIV><FONT face=Arial size=2>signal handlers are&nbsp;not getting called. 
    Following is the sample code for the above </FONT></DIV>
    <DIV><FONT face=Arial size=2>implementation:-</FONT></DIV>
    <DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
    <DIV><FONT face=Arial 
    size=2>------------------------------------------------------------------------------------------------------------------------------------</FONT></DIV>
    <DIV><FONT face=Arial size=2>void on_bye_ssrc (GstElement* 
    object,<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
    guint 
    arg0,<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
    guint 
    arg1,<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
    gpointer user_data)<BR>{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
    printf ("\n\n######### Inside on-bye-ssrc() callback 
    function#########\n\n");<BR>}</FONT></DIV>
    <DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV><FONT face=Arial size=2>
    <DIV><BR>void on_bye_timeout (GstElement* 
    object,<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
    guint 
    arg0,<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
    guint 
    arg1,<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
    gpointer user_data)<BR>{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
    printf ("\n\n#########Inside on-bye-timeout() callback 
    function#########\n\n");<BR>}</DIV>
    <DIV>&nbsp;</DIV>
    <DIV>&nbsp;</DIV>
    <DIV>&nbsp;</DIV>
    <DIV>void on_timeout (GstElement* 
    object,<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
    guint 
    arg0,<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
    guint 
    arg1,<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
    gpointer user_data)<BR>{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
    printf ("\n\n#########Inside on-timeout() callback 
    function#########\n\n");<BR>}<BR></DIV>
    <DIV>int main (){</DIV>
    <DIV>---</DIV>
    <DIV>---</DIV>
    <DIV>g_signal_connect (pstGstRtpBin, "on-bye-ssrc", G_CALLBACK 
    (on_bye_ssrc),&nbsp;NULL);<BR>g_signal_connect (pstGstRtpBin, "on-timeout", 
    G_CALLBACK (on_timeout), NULL);<BR>g_signal_connect (pstGstRtpBin, 
    "on-bye-timeout", G_CALLBACK (on_bye_timeout),&nbsp;NULL);<BR>---</DIV>
    <DIV>---</DIV>
    <DIV>}</DIV>
    <DIV>------------------------------------------------------------------------------------------------------------------------------------</DIV>
    <DIV>&nbsp;</DIV>
    <DIV>Please suggest how to attach the signal handlers.</DIV>
    <DIV>&nbsp;</DIV>
    <DIV>&nbsp;</DIV>
    <DIV>Regards</DIV>
    <DIV>Aniruddha</DIV>
    <DIV>&nbsp;</DIV>
    <DIV>&nbsp;</DIV>
    <DIV>&nbsp;</DIV></FONT>
    <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></DIV><BR>------------------------------------------------------------------------------<BR>SF.Net 
    email is Sponsored by MIX09, March 18-20, 2009 in Las Vegas, Nevada.<BR>The 
    future of the web can't happen without you. &nbsp;Join us at MIX09 to 
    help<BR>pave the way to the Next Web now. Learn more and register at<BR><A 
    href="http://ad.doubleclick.net/clk;208669438;13503038;i?http://2009.visitmix.com/" 
    target=_blank>http://ad.doubleclick.net/clk;208669438;13503038;i?http://2009.visitmix.com/</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><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>