[gst-devel] EOS on rtpbin's send_rtcp_src pad?

Petre Mierlutiu peter at cs.upt.ro
Sat Oct 18 19:21:54 CEST 2008


For reference, I've found out that the issue was solved in the CVS 
version. I believe it was done in revision 1.48 (aug 28/2008) of 
gstrtpsession.c.

On Sat, 27 Sep 2008, Petre Mierlutiu wrote:

> Hello everyone,
>
> I am using a simple pipeline that delivers h263 encoded video over rtp using 
> gstrtpbin. My pipeline is something like this:
> (videosrc)->ffenc_h263p->rtph263ppay->gstrtpbin-[send_rtp_src]->udpsink1
>                                            \-[send_rtcp_src]->udpsink2
> I also have a udpsrc--[recv_rtcp_sink]-->gstrtpbin.
>
> All works fine except that the pipelink doesn't finish due to udpsink2 not 
> seeing EOS. I think RtpSession should push the EOS event on this pad also, 
> somewhere at gstrtpsession.c in gst_rtp_session_event_send_rtp_sink() 
> function. But I'm not sure how to do this because just sending the EOS would 
> prevent RtpSession to send out the RTCP BYE message which is scheduled for 
> later. So my simple modification from below does not work correctly, although 
> it causes the pipeline to end.
>
> Any advice, please?
>
> I am using gst-plugins-bad-0.10.8, gst-plugins-base-0.10.20, 
> gst-plugins-good-0.10.10 and gstreamer-0.10.20.
>
> Thank you,
>
> Peter
>
> ---------------------------------------------------
> --- gst-plugins-bad-0.10.8/gst/rtpmanager/gstrtpsession.c       2008-07-19 
> 16:18:23.000000000 +0300
> +++ build/gst-plugins-bad-0.10.8/gst/rtpmanager/gstrtpsession.c 2008-09-27 
> 13:09:02.000000000 +0300
> @@ -1556,10 +1556,12 @@ gst_rtp_session_event_send_rtp_sink (Gst
>     case GST_EVENT_EOS:{
>       GstClockTime current_time;
>
> +      gst_event_ref(event);
>       ret = gst_pad_push_event (rtpsession->send_rtp_src, event);
>       current_time = gst_clock_get_time (rtpsession->priv->sysclock);
>       rtp_session_send_bye (rtpsession->priv->session, "End of stream",
>           current_time);
> +      ret = gst_pad_push_event (rtpsession->send_rtcp_src, event) && ret;
>       break;
>     }
>     default:
> ------------------------------------------------------------------
>




More information about the gstreamer-devel mailing list