[gst-devel] Segmentation fault in sending raw video through RTP (via rtpbin)

Antonio Marqués amm at tid.es
Wed May 13 12:39:45 CEST 2009


Hello,

I have seen that the problem came when the gstrtpssrcdemux plugin inside
gstrtpbin tries to push the NEWSEGMENT event on its rtcp_src pad (when
the RTCP message is received). In gstrtpbin this pad is linked to an
internal pad named as "sync_%d", where %d is the ssrc.
If I comment the push event function in gstrtpssrcdemux (in rtcp sink
event function) the pipeline works ok, but I don't know if it would lose
some synchronisation performance without sending this NEWSEGMENT event.
However, it only fails in the case of RAW video, with other codecs works
ok.
Why could it happen? 
Thanks in advance.
Best regards
On Mon, 2009-05-11 at 13:15 +0200, Antonio Marqués wrote:
> Hello,
> 
> I got some problems in sending raw video through rtpbin plugin. I am
> using rtpvrawpay and rtpvrawdepay plugins in order to payload YUV video.
> It seems to work ok but after a few seconds, the receiver gets a
> segmentation fault and stops playing the video.
> I have tested it with a single video (videotestsrc) and it fails.
> However, if I don't add the RTCP part there is no segmentation fault.
> Any idea of what is happening? Those are the pipelines launched:
> 
> Sending pipeline:
> gst-launch  gstrtpbin name=rtpbin videotestsrc ! queue !
> ffmpegcolorspace !
> video/x-raw-yuv,format="(fourcc)I420",width=640,height=480,framerate=15/1 ! queue ! rtpvrawpay mtu=8000 ! queue ! rtpbin.send_rtp_sink_0 udpsrc port=5005 ! rtpbin.recv_rtcp_sink_0  rtpbin.send_rtp_src_0 ! queue ! udpsink host=captura4 port=5000 rtpbin.send_rtcp_src_0 ! queue ! udpsink host=captura4 port=5001 async=false qos=false sync=false
> 
> Reception pipeline:
> gst-launch -v  gstrtpbin latency=500 name=rtpbin udpsrc port=5000
> typefind=true
> caps="application/x-rtp,media=video,clock-rate=90000,encoding-name=RAW,sampling=YCbCr-4:2:0,depth=8,width=(string)640,height=(string)480" ! queue ! rtpbin.recv_rtp_sink_0 udpsrc udpsrc port=5001 ! queue ! rtpbin.recv_rtcp_sink_0  rtpbin. ! queue ! rtpvrawdepay ! ffmpegcolorspace ! ximagesink  
> rtpbin.send_rtcp_src_0 ! udpsink port=5005 host=captura4 sync=false
> async=false qos=false
> 
> 
> Thanks in advance.
-- 
Toni Marqués Marqués
Telefónica I+D
División de Tecnologías de Video
amm at tid.es
933653188








More information about the gstreamer-devel mailing list