Pipeline Debugging.

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

Pipeline Debugging.

Richard
Hi All,

Is there a method in Gstreamer to determine which component in the
pipeline has stalled. Currently I have a FIFO file written to by an
application, this FIFO file is read by a filesrc SRC component and
after mangling the data is written to a FDSINK (which is a TCP/IP
handle to a Video viewer)

Randomly (it feels like it) the Gstreamer pipeline stops consuming
data out the FIFO and then it overflows. I have to tear the pipeline
down and re-start it for the data flow to resume.

Is there callback function/callback that shows how many packets were
consumed/produced as I have no idea what pipe is stalling.

I am using a leaky queue before the fdsink to help protect the
MPEGTSDEMUX/other components but even in this case the filesource
stops reading data.

I have tried using GST_DEBUG but that spams the console its almost
unusable... any alternatives to find out where the holdup is occuring?

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

Re: Pipeline Debugging.

Tiago Katcipis
Hi Richard,

When i found myself in situations like yours i find useful to use the identity element before/after the element that I'm suspecting to be the one that stalled. Also, GST_DEBUG is extremely useful, if you just use GST_DEBUG=5, the amount of debug information is overwhelming, but if you use GST_DEBUG=element:level, it gets a lot more interesting (i found a lot of bugs on my elements using GST_DEBUG=my_element:5).

Debug in general:
http://gstreamer.freedesktop.org/data/doc/gstreamer/head/manual/html/section-checklist-debug.html

Identity element:
http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer-plugins/html/gstreamer-plugins-identity.html

Debug elements that may be useful:
http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-good-plugins/html/gst-plugins-good-plugins-plugin-debug.html

Hope this helps.

Best regards,
Tiago Katcipis

On Sat, May 5, 2012 at 9:36 AM, Richard <[hidden email]> wrote:
Hi All,

Is there a method in Gstreamer to determine which component in the
pipeline has stalled. Currently I have a FIFO file written to by an
application, this FIFO file is read by a filesrc SRC component and
after mangling the data is written to a FDSINK (which is a TCP/IP
handle to a Video viewer)

Randomly (it feels like it) the Gstreamer pipeline stops consuming
data out the FIFO and then it overflows. I have to tear the pipeline
down and re-start it for the data flow to resume.

Is there callback function/callback that shows how many packets were
consumed/produced as I have no idea what pipe is stalling.

I am using a leaky queue before the fdsink to help protect the
MPEGTSDEMUX/other components but even in this case the filesource
stops reading data.

I have tried using GST_DEBUG but that spams the console its almost
unusable... any alternatives to find out where the holdup is occuring?

Richard
_______________________________________________
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
Reply | Threaded
Open this post in threaded view
|

Re: Pipeline Debugging.

Stefan Sauer
On 05/07/2012 03:18 PM, Tiago Katcipis wrote:
Hi Richard,

When i found myself in situations like yours i find useful to use the identity element before/after the element that I'm suspecting to be the one that stalled. Also, GST_DEBUG is extremely useful, if you just use GST_DEBUG=5, the amount of debug information is overwhelming, but if you use GST_DEBUG=element:level, it gets a lot more interesting (i found a lot of bugs on my elements using GST_DEBUG=my_element:5).
and use the gst-debug-viewer (see http://cgit.freedesktop.org/~cymacs/gst-debug-viewer/) for long log files.

Stefan

Debug in general:
http://gstreamer.freedesktop.org/data/doc/gstreamer/head/manual/html/section-checklist-debug.html

Identity element:
http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer-plugins/html/gstreamer-plugins-identity.html

Debug elements that may be useful:
http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-good-plugins/html/gst-plugins-good-plugins-plugin-debug.html

Hope this helps.

Best regards,
Tiago Katcipis

On Sat, May 5, 2012 at 9:36 AM, Richard <[hidden email]> wrote:
Hi All,

Is there a method in Gstreamer to determine which component in the
pipeline has stalled. Currently I have a FIFO file written to by an
application, this FIFO file is read by a filesrc SRC component and
after mangling the data is written to a FDSINK (which is a TCP/IP
handle to a Video viewer)

Randomly (it feels like it) the Gstreamer pipeline stops consuming
data out the FIFO and then it overflows. I have to tear the pipeline
down and re-start it for the data flow to resume.

Is there callback function/callback that shows how many packets were
consumed/produced as I have no idea what pipe is stalling.

I am using a leaky queue before the fdsink to help protect the
MPEGTSDEMUX/other components but even in this case the filesource
stops reading data.

I have tried using GST_DEBUG but that spams the console its almost
unusable... any alternatives to find out where the holdup is occuring?

Richard
_______________________________________________
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


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

Re: Pipeline Debugging.

Tiago Katcipis


On Wed, May 9, 2012 at 6:11 PM, Stefan Sauer <[hidden email]> wrote:
On 05/07/2012 03:18 PM, Tiago Katcipis wrote:
Hi Richard,

When i found myself in situations like yours i find useful to use the identity element before/after the element that I'm suspecting to be the one that stalled. Also, GST_DEBUG is extremely useful, if you just use GST_DEBUG=5, the amount of debug information is overwhelming, but if you use GST_DEBUG=element:level, it gets a lot more interesting (i found a lot of bugs on my elements using GST_DEBUG=my_element:5).
and use the gst-debug-viewer (see http://cgit.freedesktop.org/~cymacs/gst-debug-viewer/) for long log files.

Awesome,

this is new to me, is there any reference of it on gstreamer website ?
 

Stefan


Debug in general:
http://gstreamer.freedesktop.org/data/doc/gstreamer/head/manual/html/section-checklist-debug.html

Identity element:
http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer-plugins/html/gstreamer-plugins-identity.html

Debug elements that may be useful:
http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-good-plugins/html/gst-plugins-good-plugins-plugin-debug.html

Hope this helps.

Best regards,
Tiago Katcipis

On Sat, May 5, 2012 at 9:36 AM, Richard <[hidden email]> wrote:
Hi All,

Is there a method in Gstreamer to determine which component in the
pipeline has stalled. Currently I have a FIFO file written to by an
application, this FIFO file is read by a filesrc SRC component and
after mangling the data is written to a FDSINK (which is a TCP/IP
handle to a Video viewer)

Randomly (it feels like it) the Gstreamer pipeline stops consuming
data out the FIFO and then it overflows. I have to tear the pipeline
down and re-start it for the data flow to resume.

Is there callback function/callback that shows how many packets were
consumed/produced as I have no idea what pipe is stalling.

I am using a leaky queue before the fdsink to help protect the
MPEGTSDEMUX/other components but even in this case the filesource
stops reading data.

I have tried using GST_DEBUG but that spams the console its almost
unusable... any alternatives to find out where the holdup is occuring?

Richard
_______________________________________________
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


_______________________________________________
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
Reply | Threaded
Open this post in threaded view
|

Detecting packet loss on a rtsp stream receiver

Federico Zamperini
Hi,
        i'm facing the problem of detecting network packet loss on the receiver
side (a  rtsp/rtp stream receiver); I'd like to switch to a backup video
stored on the client in case of poor video performance.
One solution I'm trying is handling qos bus messages and counting
dropped buffers, which actually affects the output (artifatcs).
I was wondering if it was even possibile to peek RTCP statistics, but I
couldn't get the children of the rtspsrc (I'm not a gstreamer expert --
any help accepted ;-)).
Does anyone here have other better solutions to suggest?
Thanks

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

Re: Detecting packet loss on a rtsp stream receiver

sivaits4u
get the stats structure and expand it  in on-ssrc-active callback ...
u can see rtp examples directory for test c code.

On Fri, May 11, 2012 at 9:54 PM, Federico Zamperini <[hidden email]> wrote:
Hi,
       i'm facing the problem of detecting network packet loss on the receiver side (a  rtsp/rtp stream receiver); I'd like to switch to a backup video stored on the client in case of poor video performance.
One solution I'm trying is handling qos bus messages and counting dropped buffers, which actually affects the output (artifatcs).
I was wondering if it was even possibile to peek RTCP statistics, but I couldn't get the children of the rtspsrc (I'm not a gstreamer expert -- any help accepted ;-)).
Does anyone here have other better solutions to suggest?
Thanks

Federico
_______________________________________________
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