I'm seeing a level of packet loss sufficient to cause macroblocking when I play a stream from an RTSP server. If I turn on debug for the jitterbuffer, I see warnings about packet loss coincident with the macroblocking. I have
experimented with a minimal pipeline consisting of rtspsrc ! fakesink and I still see packet loss.
I'm trying to figure out what elements are created by rtspsrc and how they are connected, in order to track down
in which element the packets may be being lost.
I took a look at the README in the gstrtspsrc folder and that talks about creating an rtpdec element, however I think that may be a bit out of date.
Can anyone help me with a block diagram of which elements make up an rtspsrc and how they are connected, assuming the
> Stewart Hardwick wrote:
>> Can anyone help me with a block diagram of which elements make up an
>> and how they are connected, assuming the
>> simplest case?
> Something like this:
> http://dl.dropbox.com/u/11507187/player-rtsp-success.png >
> Try writing a simple program, which would create a pipeline, set it to play,
> then call
> GST_DEBUG_GRAPH_SHOW_ALL, filename);
> Set environment variable GST_DEBUG_DUMP_DOT_DIR to some path before running
> this program.
> View this message in context: http://gstreamer-devel.966125.n4.nabble.com/Elements-in-rtspsrc-pipeline-tp3224990p3225021.html > Sent from the GStreamer-devel mailing list archive at Nabble.com.
> Protect Your Site and Customers from Malware Attacks
> Learn about various malware tactics and how to avoid them. Understand
> malware threats, the impact they can have on your business, and how you
> can protect your company and customers by using code signing.
> http://p.sf.net/sfu/oracle-sfdevnl > _______________________________________________
> gstreamer-devel mailing list
> [hidden email] > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel >
in gst_rtspsrc_stream_configure_udp. However, the debug from
udpsrc still shows a buffer size of 50K (note confusing factor of 2
due to kernel overhead):
udpsrc gstudpsrc.c:784:gst_udpsrc_start:<udpsrc0> allocating socket
udpsrc gstudpsrc.c:795:gst_udpsrc_start:<udpsrc0> got socket 37
udpsrc gstudpsrc.c:797:gst_udpsrc_start:<udpsrc0> setting reuse 0
udpsrc gstudpsrc.c:804:gst_udpsrc_start:<udpsrc0> binding on port 0
udpsrc gstudpsrc.c:873:gst_udpsrc_start:<udpsrc0> have udp buffer of
udpsrc gstudpsrc.c:906:gst_udpsrc_start:<udpsrc0> bound, on port 32836
udpsrc gstudpsrc.c:909:gst_udpsrc_start:<udpsrc0> notifying port 32836
I was expecting to see "setting udp buffer of 102400 bytes" somewhere.
Looking at the
udpsrc code, in gst_udpsrc_start it looks like src->buffer_size must
be zero. Possibly the
call in rtspsrc is being made after gst_udpsrc_start has run and set
the buffer size?