[gst-devel] RTSP playback failing under ARM

Chris Winter elwintro at gmail.com
Thu Apr 30 22:39:02 CEST 2009


On Thu, Apr 30, 2009 at 1:34 PM, Chris Winter <elwintro at gmail.com> wrote:
> Hi guys,
>
> I'm trying to decode an RTSP stream from m.youtube.com on an
> openembedded-based ARM system, and, from what I can tell,
> there seems to be an issue with linking the RTP depayloaders
> in the pipeline (I'm using gst-launch), which ultimately results in
> an "Internal data flow error" from one of the udpsrc elements
> within the pipeline. I can see that the RTP packets are being
> received on the network interface, but the pipeline is not
> processing them.


Further experimentation reveals that something strange is
happening in rtpbin/rtpptdemux. Payload types 96 and 97
are both being cached as MP4A-LATM audio:


0:00:01.851745605  1826   0x10c4e0 DEBUG           rtpptdemux
gstrtpptdemux.c:356:gst_rtp_pt_demux_chain: emitting new-payload-type
for pt 96
0:00:01.851959228  1826   0x10c4e0 DEBUG               rtpbin
gstrtpbin.c:1823:new_payload_found: new payload pad 96
0:00:01.854278564  1826   0x10c4e0 DEBUG              rtspsrc
gstrtspsrc.c:1740:new_session_pad:<d> got new session pad
<rtpbin0:recv_rtp_src_1_1097035638_96>
0:00:01.854614257  1826   0x10c4e0 DEBUG              rtspsrc
gstrtspsrc.c:1748:new_session_pad:<d> stream: 1, SSRC 1097035638, PT
96
0:00:01.859863281  1826   0x10c4e0 DEBUG              rtspsrc
gstrtspsrc.c:1773:new_session_pad:<d> stream 0xed0a8, container 0,
disabled 0, added 0
0:00:01.860107421  1826   0x10c4e0 DEBUG           rtpptdemux
gstrtpptdemux.c:368:gst_rtp_pt_demux_chain: emitting
payload-type-changed for pt 96

[...]

0:00:01.889770507  1826   0x11c600 DEBUG           rtpptdemux
gstrtpptdemux.c:356:gst_rtp_pt_demux_chain: emitting new-payload-type
for pt 97
0:00:01.889984130  1826   0x11c600 DEBUG               rtpbin
gstrtpbin.c:1823:new_payload_found: new payload pad 97
0:00:01.892181396  1826   0x11c600 DEBUG              rtspsrc
gstrtspsrc.c:1740:new_session_pad:<d> got new session pad
<rtpbin0:recv_rtp_src_1_1732348465_97>
0:00:01.892517089  1826   0x11c600 DEBUG              rtspsrc
gstrtspsrc.c:1748:new_session_pad:<d> stream: 1, SSRC 1732348465, PT
97
0:00:01.898254394  1826   0x11c600 DEBUG              rtspsrc
gstrtspsrc.c:1773:new_session_pad:<d> stream 0xed0a8, container 0,
disabled 0, added 0


I definitely do not see this behavior being replicated on my
desktop Fedora 10 build of Gstreamer.

Here's an extended version of the GST_DEBUG output from
which the above snippets were taken:



New clock: GstSystemClock
0:00:01.787567138  1826   0x1161c8 DEBUG              rtspsrc
gstrtspsrc.c:3027:gst_rtspsrc_loop_udp:<d> doing receive with timeout
89 seconds
0:00:01.788146972  1826   0x10c5f8 DEBUG               rtpbin
gstrtpbin.c:670:get_pt_map: caching pt 96 as application/x-rtp,
media=(string)audio, payload=(int)96, clock-rate=(int)22050,
encoding-name=(string)MP4A-LATM, encoding-params=(string)1,
profile-level-id=(string)40, cpresent=(string)0,
config=(string)400027103fc0, clock-base=(guint)21229834,
seqnum-base=(guint)14745, npt-start=(guint64)0,
npt-stop=(guint64)212916000366, play-speed=(double)1,
play-scale=(double)1
0:00:01.790130615  1826   0x10c5f8 DEBUG               rtpbin
gstrtpbin.c:1918:new_ssrc_pad_found:<rtpbin0> new SSRC pad 41636f76,
rtpssrcdemux1:src_1097035638
0:00:01.795867919  1826   0x10c5f8 DEBUG               rtpbin
gstrtpbin.c:1930:new_ssrc_pad_found:<rtpbin0> linking jitterbuffer RTP
0:00:01.796722412  1826   0x10c5f8 DEBUG               rtpbin
gstrtpbin.c:1939:new_ssrc_pad_found:<rtpbin0> linking jitterbuffer
RTCP
0:00:01.798217773  1826   0x10c5f8 DEBUG               rtpbin
gstrtpbin.c:1949:new_ssrc_pad_found:<rtpbin0> connecting sync signal
0:00:01.798645019  1826   0x10c5f8 DEBUG               rtpbin
gstrtpbin.c:1859:pt_map_requested:<rtpbin0> payload map requested for
pt 96 in session 1
0:00:01.798797607  1826   0x10c5f8 DEBUG               rtpbin
gstrtpbin.c:621:get_pt_map: searching pt 96 in cache
0:00:01.829589843  1826   0x10c5f8 DEBUG               rtpbin
gstrtpbin.c:1859:pt_map_requested:<rtpbin0> payload map requested for
pt 97 in session 1
0:00:01.829833984  1826   0x10c5f8 DEBUG               rtpbin
gstrtpbin.c:621:get_pt_map: searching pt 97 in cache
0:00:01.829956054  1826   0x10c5f8 DEBUG               rtpbin
gstrtpbin.c:634:get_pt_map: emiting signal for pt 97 in session 1
0:00:01.849334716  1826   0x10c4e0 DEBUG           rtpptdemux
gstrtpptdemux.c:319:gst_rtp_pt_demux_chain:<rtpptdemux0> received
buffer for pt 96
0:00:01.850158691  1826   0x10c4e0 DEBUG               rtpbin
gstrtpbin.c:1859:pt_map_requested:<rtpbin0> payload map requested for
pt 96 in session 1
0:00:01.850341796  1826   0x10c4e0 DEBUG               rtpbin
gstrtpbin.c:621:get_pt_map: searching pt 96 in cache
0:00:01.850524902  1826   0x10c4e0 DEBUG           rtpptdemux
gstrtpptdemux.c:281:gst_rtp_pt_demux_get_caps: pt 96, got caps
application/x-rtp, media=(string)audio, payload=(int)96,
clock-rate=(int)22050, encoding-name=(string)MP4A-LATM,
encoding-params=(string)1, profile-level-id=(string)40,
cpresent=(string)0, config=(string)400027103fc0,
clock-base=(guint)21229834, seqnum-base=(guint)14745,
npt-start=(guint64)0, npt-stop=(guint64)212916000366,
play-speed=(double)1, play-scale=(double)1
0:00:01.851531982  1826   0x10c4e0 DEBUG           rtpptdemux
gstrtpptdemux.c:344:gst_rtp_pt_demux_chain: Adding pt=96 to the list.
0:00:01.851745605  1826   0x10c4e0 DEBUG           rtpptdemux
gstrtpptdemux.c:356:gst_rtp_pt_demux_chain: emitting new-payload-type
for pt 96
0:00:01.851959228  1826   0x10c4e0 DEBUG               rtpbin
gstrtpbin.c:1823:new_payload_found: new payload pad 96
0:00:01.854278564  1826   0x10c4e0 DEBUG              rtspsrc
gstrtspsrc.c:1740:new_session_pad:<d> got new session pad
<rtpbin0:recv_rtp_src_1_1097035638_96>
0:00:01.854614257  1826   0x10c4e0 DEBUG              rtspsrc
gstrtspsrc.c:1748:new_session_pad:<d> stream: 1, SSRC 1097035638, PT
96
0:00:01.859863281  1826   0x10c4e0 DEBUG              rtspsrc
gstrtspsrc.c:1773:new_session_pad:<d> stream 0xed0a8, container 0,
disabled 0, added 0
0:00:01.860107421  1826   0x10c4e0 DEBUG           rtpptdemux
gstrtpptdemux.c:368:gst_rtp_pt_demux_chain: emitting
payload-type-changed for pt 96
0:00:01.830139160  1826   0x10c5f8 DEBUG              rtspsrc
gstrtspsrc.c:1809:request_pt_map:<d> getting pt map for pt 97 in
session 1
0:00:01.864776611  1826   0x10c5f8 DEBUG               rtpbin
gstrtpbin.c:670:get_pt_map: caching pt 97 as application/x-rtp,
media=(string)audio, payload=(int)96, clock-rate=(int)22050,
encoding-name=(string)MP4A-LATM, encoding-params=(string)1,
profile-level-id=(string)40, cpresent=(string)0,
config=(string)400027103fc0, clock-base=(guint)21229834,
seqnum-base=(guint)14745, npt-start=(guint64)0,
npt-stop=(guint64)212916000366, play-speed=(double)1,
play-scale=(double)1
0:00:01.866363525  1826   0x10c5f8 DEBUG               rtpbin
gstrtpbin.c:1918:new_ssrc_pad_found:<rtpbin0> new SSRC pad 67418a31,
rtpssrcdemux1:src_1732348465
0:00:01.871337890  1826   0x10c5f8 DEBUG               rtpbin
gstrtpbin.c:1930:new_ssrc_pad_found:<rtpbin0> linking jitterbuffer RTP
0:00:01.872161865  1826   0x10c5f8 DEBUG               rtpbin
gstrtpbin.c:1939:new_ssrc_pad_found:<rtpbin0> linking jitterbuffer
RTCP
0:00:01.873413085  1826   0x10c5f8 DEBUG               rtpbin
gstrtpbin.c:1949:new_ssrc_pad_found:<rtpbin0> connecting sync signal
0:00:01.873809814  1826   0x10c5f8 DEBUG               rtpbin
gstrtpbin.c:1859:pt_map_requested:<rtpbin0> payload map requested for
pt 97 in session 1
0:00:01.873962402  1826   0x10c5f8 DEBUG               rtpbin
gstrtpbin.c:621:get_pt_map: searching pt 97 in cache
0:00:01.887390136  1826   0x11c600 DEBUG           rtpptdemux
gstrtpptdemux.c:319:gst_rtp_pt_demux_chain:<rtpptdemux1> received
buffer for pt 97
0:00:01.888244628  1826   0x11c600 DEBUG               rtpbin
gstrtpbin.c:1859:pt_map_requested:<rtpbin0> payload map requested for
pt 97 in session 1
0:00:01.888458251  1826   0x11c600 DEBUG               rtpbin
gstrtpbin.c:621:get_pt_map: searching pt 97 in cache
0:00:01.888641357  1826   0x11c600 DEBUG           rtpptdemux
gstrtpptdemux.c:281:gst_rtp_pt_demux_get_caps: pt 97, got caps
application/x-rtp, media=(string)audio, payload=(int)96,
clock-rate=(int)22050, encoding-name=(string)MP4A-LATM,
encoding-params=(string)1, profile-level-id=(string)40,
cpresent=(string)0, config=(string)400027103fc0,
clock-base=(guint)21229834, seqnum-base=(guint)14745,
npt-start=(guint64)0, npt-stop=(guint64)212916000366,
play-speed=(double)1, play-scale=(double)1
0:00:01.889556884  1826   0x11c600 DEBUG           rtpptdemux
gstrtpptdemux.c:344:gst_rtp_pt_demux_chain: Adding pt=97 to the list.
0:00:01.889770507  1826   0x11c600 DEBUG           rtpptdemux
gstrtpptdemux.c:356:gst_rtp_pt_demux_chain: emitting new-payload-type
for pt 97
0:00:01.889984130  1826   0x11c600 DEBUG               rtpbin
gstrtpbin.c:1823:new_payload_found: new payload pad 97
0:00:01.892181396  1826   0x11c600 DEBUG              rtspsrc
gstrtspsrc.c:1740:new_session_pad:<d> got new session pad
<rtpbin0:recv_rtp_src_1_1732348465_97>
0:00:01.892517089  1826   0x11c600 DEBUG              rtspsrc
gstrtspsrc.c:1748:new_session_pad:<d> stream: 1, SSRC 1732348465, PT
97
0:00:01.898254394  1826   0x11c600 DEBUG              rtspsrc
gstrtspsrc.c:1773:new_session_pad:<d> stream 0xed0a8, container 0,
disabled 0, added 0
0:00:01.898498535  1826   0x11c600 DEBUG           rtpptdemux
gstrtpptdemux.c:368:gst_rtp_pt_demux_chain: emitting
payload-type-changed for pt 97
0:00:02.181030273  1826   0x10c5f8 INFO      GST_ERROR_SYSTEM
gstelement.c:1677:gst_element_message_full:<udpsrc4> posting message:
Internal data flow error.
0:00:02.189941406  1826   0x10c5f8 DEBUG              rtspsrc
gstrtspsrc.c:5133:gst_rtspsrc_handle_message:<d> got error from
udpsrc4
0:00:02.197784423  1826   0x10c5f8 DEBUG              rtspsrc
gstrtspsrc.c:5147:gst_rtspsrc_handle_message:<d> combined flows: ok
0:00:02.223022460  1826   0x10c5f8 INFO      GST_ERROR_SYSTEM
gstelement.c:1700:gst_element_message_full:<udpsrc4> posted error
message: Internal data flow error.




More information about the gstreamer-devel mailing list