GStreamer pipeline doesnt run if immediately running again after terminating it

Tim Müller tim at centricular.com
Mon Jun 9 05:37:07 PDT 2014


On Sat, 2014-06-07 at 03:44 -0700, manickam palaniappan wrote:

Hi,

are there any elements of your own involved here? Or is this with stock
GStreamer elements? What kind of audio/video/subtitle streams are being
sent? What's the output of gst-launch-1.0 if you pass -v to it?

> No output window shows in the machine display and below is the
> following output of the cmd:
> 
> 
> gst-template/gst-plugin$ gst-launch-1.0 rtspsrc
> location=rtsp://<snipped>/videoSub ! decodebin ! xvimagesink
> Setting pipeline to PAUSED ...
> Pipeline is live and does not need PREROLL ...
> Progress: (open) Opening Stream
> Progress: (connect) Connecting to rtsp://<snipped>/videoSub
> Progress: (open) Retrieving server options
> Progress: (open) Retrieving media info
> Progress: (request) SETUP stream 0
> Progress: (request) SETUP stream 1
> 
> (gst-launch-1.0:2468): GStreamer-CRITICAL **:
> gst_segment_to_running_time: assertion 'segment->format == format'
> failed

That doesn't look good. Run gst-launch-1.0 in gdb and get a strack trace
to see what triggers that critical and where like this:

 $ G_DEBUG=fatal_warnings gdb --args gst-launch-1.0 rtspsrc .....
 (gdb) run
 ... wait for abort ..
 (gdb) bt
 (gdb) kill
 (gdb) quit

> Progress: (open) Opened Stream
> Setting pipeline to PLAYING ...
> New clock: GstSystemClock
> Progress: (request) Sending PLAY request
> Progress: (request) Sending PLAY request
> Progress: (request) Sent PLAY request
> 
> (gst-launch-1.0:2468): GStreamer-CRITICAL **: gst_pad_push_event:
> assertion 'GST_IS_EVENT (event)' failed

That's really bad (would probably crash in other circumstances),
possibly an event refcount bug somewhere. Both might be related (not
pushing a SEGMENT event on or unrefing it too early or so).

A good next step would be to narrow down the pipeline and replace
decodebin with the elements that get plugged (depayloader, parser,
decoder). After that, remove elements at the end and replace with
fakesink to narrow it down further.

 Cheers
  -Tim

-- 
Tim Müller, Centricular Ltd - http://www.centricular.com



More information about the gstreamer-devel mailing list