"Internal data flow error" in rtspsrc element only in certain IP cameras

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

"Internal data flow error" in rtspsrc element only in certain IP cameras

Bruno Gonzalez-2
Sometimes, a TCP H264 video stream to some IP cameras cannot be stablished.
This problematic behaviour happens only with 2 out of the 5 cameras we have tried.
I cannot reproduce the buggy behaviour from other client like VLC (

 == Client system information:
$ cat /etc/issue
Ubuntu 11.10 \n \l
$ uname -a
Linux dubai 3.0.0-16-generic-pae #29-Ubuntu SMP Tue Feb 14 13:56:31 UTC 2012 i686 i686 i386 GNU/Linux
$ gst-launch-0.10 --version
gst-launch-0.10 version 0.10.35
GStreamer 0.10.35

 == Steps to reproduce bug:
1) Run these commands:
$ export GST_DEBUG="*:2"
$ while true; do gst-launch rtspsrc location="rtsp://user:password@192.168.3.206/axis-media/media.amp?resolution=640x480&fps=10&videocodec=h264" protocols="tcp" ! decodebin ! ffmpegcolorspace ! xvimagesink; done
2) Ctrl+C each time you get a working video stream, let it loop and try to get a new stream again.
3) About 10-15% of the times it will fail to show any video. Console will show this output:
Setting pipeline to PAUSED ...
Pipeline is live and does not need PREROLL ...
Setting pipeline to PLAYING ...
0:00:00.399456836 29193  0x9df6050 WARN                     bin gstbin.c:2384:gst_bin_do_latency_func:<pipeline0> failed to query latency
New clock: GstSystemClock
0:00:00.696638170 29193  0x9f7beb0 WARN                 rtspsrc gstrtspsrc.c:4025:gst_rtspsrc_loop:<rtspsrc0> error: Internal data flow error.
0:00:00.696708832 29193  0x9f7beb0 WARN                 rtspsrc gstrtspsrc.c:4025:gst_rtspsrc_loop:<rtspsrc0> error: streaming task paused, reason not-linked (-1)
ERROR: from element /GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0: Internal data flow error.
Additional debug info:
gstrtspsrc.c(4025): gst_rtspsrc_loop (): /GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0:
streaming task paused, reason not-linked (-1)
Execution ended after 122707578 ns


 == Additional information:
The "failed to query latency" debug message seems to be normal? It happens with all tested cameras. However the "internal data flow error" and "streaming task paused" messages are not normal.

A faster way to make the stream fail, is to stablish not 1, but 2 or more simultaneous streams (and of course, disregarding any 503 errors that may appear due to camera rejecting additional connections, which can be reasonable to expect), like this:
$ while true; do gst-launch rtspsrc location="rtsp://user:password@192.168.3.206/axis-media/media.amp?resolution=640x480&fps=10&videocodec=h264" protocols="tcp" ! decodebin ! ffmpegcolorspace ! xvimagesink  rtspsrc location="rtsp://user:password@192.168.3.206/axis-media/media.amp?resolution=640x480&fps=10&videocodec=h264" protocols="tcp" ! decodebin ! ffmpegcolorspace ! xvimagesink; done



Please let me know if you need more information.

--
Saludos,
     Bruno González

_______________________________________________
Jabber: stenyak AT gmail.com
http://www.stenyak.com

_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: "Internal data flow error" in rtspsrc element only in certain IP cameras

Tiago Katcipis
Hi,

I had a similar problem with dtmfsrc on blackfin:

https://bugzilla.gnome.org/show_bug.cgi?id=666626

But in my case the error was on configuring the latency, not querying it.

I had to create a branch of the plugin with the fix since until now it has not been fixed. Do some inspection on rtspsrc, may it is not handling latency queries well.

Best regards,
Tiago Katcipis

On Tue, Apr 17, 2012 at 3:15 AM, Bruno Gonzalez <[hidden email]> wrote:
Sometimes, a TCP H264 video stream to some IP cameras cannot be stablished.
This problematic behaviour happens only with 2 out of the 5 cameras we have tried.
I cannot reproduce the buggy behaviour from other client like VLC (

 == Client system information:
$ cat /etc/issue
Ubuntu 11.10 \n \l
$ uname -a
Linux dubai 3.0.0-16-generic-pae #29-Ubuntu SMP Tue Feb 14 13:56:31 UTC 2012 i686 i686 i386 GNU/Linux
$ gst-launch-0.10 --version
gst-launch-0.10 version 0.10.35
GStreamer 0.10.35

 == Steps to reproduce bug:
1) Run these commands:
$ export GST_DEBUG="*:2"
$ while true; do gst-launch rtspsrc location="rtsp://user:password@192.168.3.206/axis-media/media.amp?resolution=640x480&fps=10&videocodec=h264" protocols="tcp" ! decodebin ! ffmpegcolorspace ! xvimagesink; done
2) Ctrl+C each time you get a working video stream, let it loop and try to get a new stream again.
3) About 10-15% of the times it will fail to show any video. Console will show this output:
Setting pipeline to PAUSED ...
Pipeline is live and does not need PREROLL ...
Setting pipeline to PLAYING ...
0:00:00.399456836 29193  0x9df6050 WARN                     bin gstbin.c:2384:gst_bin_do_latency_func:<pipeline0> failed to query latency
New clock: GstSystemClock
0:00:00.696638170 29193  0x9f7beb0 WARN                 rtspsrc gstrtspsrc.c:4025:gst_rtspsrc_loop:<rtspsrc0> error: Internal data flow error.
0:00:00.696708832 29193  0x9f7beb0 WARN                 rtspsrc gstrtspsrc.c:4025:gst_rtspsrc_loop:<rtspsrc0> error: streaming task paused, reason not-linked (-1)
ERROR: from element /GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0: Internal data flow error.
Additional debug info:
gstrtspsrc.c(4025): gst_rtspsrc_loop (): /GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0:
streaming task paused, reason not-linked (-1)
Execution ended after 122707578 ns


 == Additional information:
The "failed to query latency" debug message seems to be normal? It happens with all tested cameras. However the "internal data flow error" and "streaming task paused" messages are not normal.

A faster way to make the stream fail, is to stablish not 1, but 2 or more simultaneous streams (and of course, disregarding any 503 errors that may appear due to camera rejecting additional connections, which can be reasonable to expect), like this:
$ while true; do gst-launch rtspsrc location="rtsp://user:password@192.168.3.206/axis-media/media.amp?resolution=640x480&fps=10&videocodec=h264" protocols="tcp" ! decodebin ! ffmpegcolorspace ! xvimagesink  rtspsrc location="rtsp://user:password@192.168.3.206/axis-media/media.amp?resolution=640x480&fps=10&videocodec=h264" protocols="tcp" ! decodebin ! ffmpegcolorspace ! xvimagesink; done



Please let me know if you need more information.

--
Saludos,
     Bruno González

_______________________________________________
Jabber: stenyak AT gmail.com
http://www.stenyak.com

_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel



_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel