rtp failure(s)

Chuck Crisler ccrisler at mutualink.net
Fri Dec 21 13:30:19 PST 2012


I am trying to receive, decode and display video received via RTP with the
following test pipeline.

gst-launch udpsrc port=$1 !
'application/x-rtp,media=video,payload=96,clock-rate=90000,encoding-name=H264'
\
    ! gstrtpjitterbuffer mode=0 ! rtph264depay ! video/x-h264 ! ffdec_h264
! ximagesink sync=false

I am using the good-plugins v. 0.10.23. When I get an incoming media stream
it immediate fails with the following message.

Setting pipeline to PAUSED ...
Pipeline is live and does not need PREROLL ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
ERROR: from element /GstPipeline:pipeline0/GstUDPSrc:udpsrc0: Internal data
flow error.
Additional debug info:
gstbasesrc.c(2543): gst_base_src_loop ():
/GstPipeline:pipeline0/GstUDPSrc:udpsrc0:
streaming task paused, reason not-negotiated (-4)
Execution ended after 1301072468 ns.
Setting pipeline to PAUSED ...
Setting pipeline to READY ...
Setting pipeline to NULL ...
Freeing pipeline ...

Here is a snippet of the log file.

0:00:01.286025792  8432  0x880f7a0 DEBUG                basesrc
gstbasesrc.c:2114:gst_base_src_get_range:<udpsrc0> calling create offset
18446744073709551615 length 4096, time 0
0:00:01.286063522  8432  0x880f7a0 LOG                  basesrc
gstbasesrc.c:1953:gst_base_src_do_sync:<udpsrc0> created timestamp:
0:00:01.190901584
0:00:01.286084973  8432  0x880f7a0 DEBUG                basesrc
gstbasesrc.c:1988:gst_base_src_do_sync:<udpsrc0> no sync needed
0:00:01.286104364  8432  0x880f7a0 DEBUG                basesrc
gstbasesrc.c:2155:gst_base_src_get_range:<udpsrc0> buffer ok
0:00:01.286182518  8432  0x880f7a0 LOG                  basesrc
gstbasesrc.c:2367:gst_base_src_loop:<udpsrc0> next_ts 99:99:99.999999999
size 4096
0:00:01.286204841  8432  0x880f7a0 DEBUG                basesrc
gstbasesrc.c:2114:gst_base_src_get_range:<udpsrc0> calling create offset
18446744073709551615 length 4096, time 0
0:00:01.291782805  8432  0x880f588 DEBUG                basesrc
gstbasesrc.c:1083:gst_base_src_default_query:<udpsrc0> query convert
returns 0
0:00:01.355319069  8432  0x880f7a0 LOG                  basesrc
gstbasesrc.c:1953:gst_base_src_do_sync:<udpsrc0> created timestamp:
0:00:01.260152236
0:00:01.355402940  8432  0x880f7a0 DEBUG                basesrc
gstbasesrc.c:1988:gst_base_src_do_sync:<udpsrc0> no sync needed
0:00:01.355424981  8432  0x880f7a0 DEBUG                basesrc
gstbasesrc.c:2155:gst_base_src_get_range:<udpsrc0> buffer ok
0:00:01.355516857  8432  0x880f7a0 INFO                 basesrc
gstbasesrc.c:2483:gst_base_src_loop:<udpsrc0> pausing after gst_pad_push()
= not-negotiated
0:00:01.355540184  8432  0x880f7a0 DEBUG                basesrc
gstbasesrc.c:2509:gst_base_src_loop:<udpsrc0> pausing task, reason
not-negotiated
0:00:01.355587785  8432  0x880f7a0 WARN                 basesrc
gstbasesrc.c:2543:gst_base_src_loop:<udpsrc0> error: Internal data flow
error.
0:00:01.355607514  8432  0x880f7a0 WARN                 basesrc
gstbasesrc.c:2543:gst_base_src_loop:<udpsrc0> error: streaming task paused,
reason not-negotiated (-4)
ERROR: from element /GstPipeline:pipeline0/GstUDPSrc:udpsrc0: Internal data
flow error.

It *looks* to me like this has been running for a few buffers, so I don't
understand the 'not-negiotiated' error.

Would anyone please suggest what is wrong or what I can do to diagnose the
problem? I am feeding it with a rather complicated setup. I capture a v4l2
source, encode H264, mpeg2t mux, transmit over the network to another
system, receive with udpsrc, de-mux, rtph264pay pt=96, then transmit to the
system that fails. There are actually reasons for convoluted setup. The
inverse (capture, rtp -> transmit, rtph264depay, mp2t mux -> transmit,
mp2tdemux, decode, display) works nicely.

A second issue that I have seen in packet captures is that none of the RTP
packets seems to have the marker bit set. That seems like a serious problem
to me because that bit delineates the end of frame so that the decoder can
then be run. Is there something that I missed there?

Thank you and a Merry Christmas to all!

Chuck Crisler
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20121221/55083162/attachment.html>


More information about the gstreamer-devel mailing list