[gst-devel] GstRtpbin and RTCP sender reports

Lassi Väätämöinen lassi.vaatamoinen at tut.fi
Tue Sep 2 12:11:39 CEST 2008


On Tuesday 02 September 2008 10:42:31 Lassi Väätämöinen wrote:
> 2008/9/1 Wim Taymans <wim.taymans at gmail.com>
>
> > On Mon, 2008-09-01 at 11:24 +0300, Lassi Väätämöinen wrote:
> > > Hi,
> > >
> > > I was wondering whether the Gstrtpbin is capable of sending RTCP SR
> > > packets? I managed to build a pipeline using the gstrtpbin and
> > > gst-launch, but only RR packets were sent from the sender.
> >
> > When gstrtpbin is sending data (using the send_rtp_sink_%d request pad)
> > and when a send_rtcp_src_%d request pad is requested from gstrtpbin, it
> > will send SR reports on the send_rtcp_src_%d pad. You need to request
> > these pads with the same number filled in for the %d in the above
> > padtemplate names.
>
> I think I have these already, but I'm not sure if I am using them properly.
> Here is my pipeline:
>
> #!/bin/sh
>
>
> VPORT=8234
> APORT=8236
> HOST=${1:-130.230.52.193}
>
> gst-launch-0.10 gstrtpbin name=rtpbin \
> gconfv4l2src ! \
> video/x-raw-yuv,width=176,height=144,framerate=\(fraction\15/1 ! \
> hantro4200enc stream-type=1 profile-and-level=1001 ! \
> video/x-h263,framerate=\(fraction\)15/1 ! \
> 	rtph263ppay mtu=1438 ! \
> 		rtpbin.send_rtp_sink_0 \
> 		rtpbin.send_rtp_src_0 ! udpsink host=$HOST port=$VPORT \
> 		rtpbin.send_rtcp_src_0 ! \
> 	udpsink host=$HOST port=8235 sync=false async=false   \
> 	udpsrc port=8239 ! rtpbin.recv_rtcp_sink_0                           \
> 	dsppcmsrc ! queue ! \
> 	audio/x-raw-int,channels=1,rate=8000 ! mulawenc ! rtppcmupay mtu=1438 ! \
> 		rtpbin.send_rtp_sink_1 \
>                 rtpbin.send_rtp_src_1 ! udpsink host=$HOST port=$APORT  \
>                 rtpbin.send_rtcp_src_1 ! udpsink host=$HOST port=8237 \
> 		sync=false async=false    \
>                 udpsrc port=8241 ! rtpbin.recv_rtcp_sink_1
>
>
> I apologize for the poor formatting :) Oh, and this is used on N800, so
> that's why the hantro encoder :)


OK, I managed to debug my problem to a point, where it seems that the version 
of gstrtpbin is not completely bug-free on the N800 :)

I tried the example pipeline from 

http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-bad-plugins/html/gst-plugins-bad-plugins-gstrtpbin.html

with slight modifications (ulaw encoder instead of amr-nb) on my desktop-PC, 
and was able to capture SR packets. The PC version info shows me the 
following:

Plugin Details:
  Name:                 gstrtpmanager
  Description:          RTP session management plugin library
  Filename:             /usr/lib/gstreamer-0.10/libgstrtpmanager.so
  Version:              0.10.6
  License:              LGPL
  Source module:        gst-plugins-bad
  Binary package:       GStreamer Bad Plugins (Ubuntu)
  Origin URL:          
https://launchpad.net/distros/ubuntu/+source/gst-plugins-bad0.10


On N800 the Version number is 1.0, instead of the format 0.10.X . So i assume 
the bug is evident? :)

-Lassi

-- 
Lassi Väätämöinen
M.Sc., Researcher
Tampere University of Technology / Department of Communications Engineering
Room TH209, tel. 03-3115 5124




More information about the gstreamer-devel mailing list