<html>
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
</head>
<body text="#000000" bgcolor="#FFFFFF">
Edip,<br>
<br>
While I appreciate the thought in your answer, a timed wait is not
the right way to handle a race condition - which is ultimately what
using the on-bye-ssrc signal to inject an EOS is. Nor will it work
in my (exceedingly time sensitive) application - it would introduce
notable lags to the user.<br>
<br>
I've tried using idle waits (as you have), but the on-bye-ssrc
signal fires before any of my (canned) audio makes it through the
RTPBin - meaning the pad is already idle. If there isn't something
I'm missing, it seems like this is a bug. It would take a couple
thousand lines of (C) code to work around this from the outside.
From the inside its probably a couple dozen at most to examine state
when sending RTCP packets (which is where the UDP sink for RTCP gets
its EOS) or to examine RTP packets and see if they've all arrived
yet.<br>
<br>
Steve<br>
<br>
<div class="moz-cite-prefix">On 01/08/2016 10:16 PM, edip demirbilek
wrote:<br>
</div>
<blockquote
cite="mid:97B81C7B-CCA5-4F37-931D-DF21DD930654@gmail.com"
type="cite">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<div class="">Hello Steve,</div>
<div class=""><br class="">
</div>
<div class="">I had similar problem. I have solved it by adding
some sleep between sending EOS and changing the pipeline state
in each step. This might not be the nicest solution but it is
working for me. </div>
<div class=""><br class="">
</div>
<div class=""><b class="">On the server side:</b></div>
<div class=""><br class="">
</div>
<div class="">bus.connect('message::eos', on_eos)</div>
<div class=""><br class="">
</div>
<div class="">
<div class="">def eos():</div>
<div class=""> pipeline.send_event(gst.Event.new_eos())</div>
<div class=""> time.sleep(<sometime>)</div>
<div class=""> pipeline.set_state(gst.State.NULL)</div>
<div class=""> time.sleep(<sometime>)</div>
<div class=""> mainloop.quit()</div>
</div>
<div class=""><br class="">
</div>
<div class=""><b class="">On the client side:</b></div>
<div class=""><br class="">
</div>
<div class="">rtpbin.connect('on-bye-ssrc', on_bye_ssrc)</div>
<div class=""><br class="">
</div>
<div class="">
<div class="">def on_bye_ssrc(rtpbin, sessionid, ssrc):</div>
<div class=""> gobject.idle_add (eos)</div>
</div>
<div class=""><br class="">
</div>
<div class="">
<div class="">def eos():</div>
<div class=""> pipeline.send_event(gst.Event.new_eos())</div>
<div class=""> time.sleep(<sometime>)</div>
<div class=""> pipeline.set_state(gst.State.NULL)</div>
<div class=""> time.sleep(<sometime>)</div>
<div class=""> mainloop.quit()</div>
</div>
<div class=""><br class="">
</div>
<div class="">Regards</div>
<div class="">Edip</div>
<br class="">
<div>
<blockquote type="cite" class="">
<div class="">On Jan 8, 2016, at 9:52 PM, Steven Presser <<a
moz-do-not-send="true" href="mailto:steve160@gmail.com"
class=""><a class="moz-txt-link-abbreviated" href="mailto:steve160@gmail.com">steve160@gmail.com</a></a>> wrote:</div>
<br class="Apple-interchange-newline">
<div class=""><span style="font-family: Helvetica; font-size:
12px; font-style: normal; font-variant: normal;
font-weight: normal; letter-spacing: normal; orphans:
auto; text-align: start; text-indent: 0px; text-transform:
none; white-space: normal; widows: auto; word-spacing:
0px; -webkit-text-stroke-width: 0px; float: none; display:
inline !important;" class="">I've put together an
application which uses RTP and RTCP to stream short
(~10-20s) spurts of audio. However, on the receiving
side, I never get an EOS on the SSRC's pad. Can anyone
tell me what I'm missing? PNGs of the pipelines are at
the link below, as are logs.</span><br style="font-family:
Helvetica; font-size: 12px; font-style: normal;
font-variant: normal; font-weight: normal; letter-spacing:
normal; orphans: auto; text-align: start; text-indent:
0px; text-transform: none; white-space: normal; widows:
auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;"
class="">
</div>
</blockquote>
</div>
<br class="">
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<br>
<pre wrap="">_______________________________________________
gstreamer-devel mailing list
<a class="moz-txt-link-abbreviated" href="mailto:gstreamer-devel@lists.freedesktop.org">gstreamer-devel@lists.freedesktop.org</a>
<a class="moz-txt-link-freetext" href="http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel">http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel</a>
</pre>
</blockquote>
<br>
</body>
</html>