AW: Question about decodebin and prerolling

Bernhard Graaf bernhard.graaf at gmx.de
Thu Dec 20 14:23:30 UTC 2018


Hello Russel,

May you send us the output from gst-launch-1.0 playbin -v
uri=dvb://BBC%20NEWS.

Seams something handled different from playbin-side.

Bernhard

-----Ursprüngliche Nachricht-----
Von: gstreamer-devel [mailto:gstreamer-devel-bounces at lists.freedesktop.org]
Im Auftrag von Russel Winder
Gesendet: Donnerstag, 20. Dezember 2018 13:27
An: Discussion of the development of and with GStreamer
Betreff: Re: Question about decodebin and prerolling

On Thu, 2018-12-20 at 09:10 +0000, Tim-Philipp Müller wrote:
> On Thu, 2018-12-20 at 08:41 +0000, Russel Winder wrote:
> 
> Hi,
> 
> > I just tried:
> > 
> >    gst-launch-1.0 decodebin uri=dvb://BBC%20NEWS ! x264enc ! mp4mux !
> > filesink location=news.mp4
> > 
> > but it failed due to not being able to PREROLL.
> > 
> > playbin can handle uri=dvb://BBC%20NEWS, but it seems decodebin
> > cannot. Hopefully I am missing something fairly obvious.
> 
> Hard to say what the problem is without more info but I would guess
> that it's between decodebin and the encoder. Try adding a videoconvert
> element. Also note that you will want to pass -e to gst-launch so your
> file is finalised properly when you exit later.

Thanks for thinking about this problem of mine, much appreciated. I am never
sure what to put in these initial "requests for help". If there is something
specific that would help you give advice, I am entirely happy to provide.

I tried:

gst-launch-1.0 -e decodebin uri=dvb://BBC%20NEWS ! videoconvert ! x264enc !
mp4mux ! filesink location=news.mp4

   Setting pipeline to PAUSED ...
   Pipeline is PREROLLING ...
   ^Chandling interrupt.
   Interrupt: Stopping pipeline ...
   ERROR: pipeline doesn't want to preroll.
   Setting pipeline to NULL ...
   Freeing pipeline ...

but got the same result.

gst-launch-1.0 playbin uri=dvb://BBC%20NEWS

puts up a window and plays the BBC News channel. So all the DVB stuff is
present and correct. It just seems that there is something playbin is doing
that decodebin isn't that causes the pipeline not to need prerolling:

   Setting pipeline to PAUSED ...
   Pipeline is live and does not need PREROLL ...
   Setting pipeline to PLAYING ...
   New clock: GstSystemClock
   Redistribute latency...
   Redistribute latency...
   Redistribute latency...
   ERROR: from element
/GstPlayBin:playbin0/GstPlaySink:playsink/GstBin:vbin/GstXvImageSink:xvimage
sink0: Output window was closed
   Additional debug info:
   xvimagesink.c(555): gst_xv_image_sink_handle_xevents ():
/GstPlayBin:playbin0/GstPlaySink:playsink/GstBin:vbin/GstXvImageSink:xvimage
sink0
   Execution ended after 0:00:03.559091765
   Setting pipeline to PAUSED ...
   Setting pipeline to READY ...
   Setting pipeline to NULL ...
   Freeing pipeline ...

-- 
Russel.
===========================================
Dr Russel Winder      t: +44 20 7585 2200
41 Buckmaster Road    m: +44 7770 465 077
London SW11 1EN, UK   w: www.russel.org.uk




More information about the gstreamer-devel mailing list