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: ------------------------------------------------------------------ ------------------------------------------------------------------------- This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/ _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/gstreamer-devel |
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: > ------------------------------------------------------------------ > ------------------------------------------------------------------------- This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/ _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/gstreamer-devel |
Free forum by Nabble | Edit this page |