Can't get EOS using RTP/RTCP

edip demirbilek edip.demirbilek at gmail.com
Fri Jan 8 19:16:04 PST 2016


Hello Steve,

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. 

On the server side:

bus.connect('message::eos', on_eos)

def eos():
    pipeline.send_event(gst.Event.new_eos())
    time.sleep(<sometime>)
    pipeline.set_state(gst.State.NULL)
    time.sleep(<sometime>)
    mainloop.quit()

On the client side:

rtpbin.connect('on-bye-ssrc', on_bye_ssrc)

def on_bye_ssrc(rtpbin, sessionid, ssrc):
     gobject.idle_add (eos)

def eos():
    pipeline.send_event(gst.Event.new_eos())
    time.sleep(<sometime>)
    pipeline.set_state(gst.State.NULL)
    time.sleep(<sometime>)
    mainloop.quit()

Regards
Edip

> On Jan 8, 2016, at 9:52 PM, Steven Presser <steve160 at gmail.com> wrote:
> 
> 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.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20160108/9dd84948/attachment.html>


More information about the gstreamer-devel mailing list