this seek error is confusing and appears to be wrong

Andres Gonzalez andres.agoralabs at gmail.com
Sat Jul 8 14:42:26 UTC 2017


Hi,

I have a simple pipeline:  filesrc -> decodebin ....... appsink

I am testing with several of the big buck bunny files which all appear to be
correctly formatted container files when playing them with various media
players and as verified by gst-discoverer. The pipeline works without errors
when played normally.

I first put the pipeline in the PAUSED state, then after several seconds I
issue this seek command:

    gst_element_seek(pGstPipeline, 1.0, GST_FORMAT_TIME,
GST_SEEK_FLAG_FLUSH,
                            GST_SEEK_TYPE_SET, lNewPosition,
GST_SEEK_TYPE_NONE, GST_CLOCK_TIME_NONE)

this fails and produces the following information.  This is my logging
output which contains some logging from my routines and the bus messages.
The onFileEOS() is the signal handler from the final appsink.

stream duration                                 : 0:09:56.461666666
seeking to position                            : 0:04:58.230833333
onFileEOS(): entered
ERROR: GstBus msg from GstElement                    : qtdemux3         
ERROR:     : error: This file is invalid and cannot be played.
ERROR:     : info : qtdemux.c(5814): gst_qtdemux_process_adapter ():
/GstPipeline:FilePipeline-4/GstDecodeBin:FileDecodeBin-4/GstQTDemux:qtdemux3:
atom .|.. has bogus size 94072701
ERROR: GstBus msg from GstElement                    : FileSrc-4        
ERROR:     : error: Internal data flow error.
ERROR:     : info : gstbasesrc.c(2948): gst_base_src_loop ():
/GstPipeline:FilePipeline-4/GstFileSrc:FileSrc-4:
streaming task paused, reason error (-5)
ERROR: GstBus msg from GstElement                    : qtdemux3         
ERROR:     : error: This file is invalid and cannot be played.
ERROR:     : info : qtdemux.c(5814): gst_qtdemux_process_adapter ():
/GstPipeline:FilePipeline-4/GstDecodeBin:FileDecodeBin-4/GstQTDemux:qtdemux3:
atom .|.. has bogus size 94072701
onFileEOS(): entered
ERROR: GstBus msg from GstElement                    : qtdemux3         
ERROR:     : error: This file is invalid and cannot be played.
ERROR:     : info : qtdemux.c(5814): gst_qtdemux_process_adapter ():
/GstPipeline:FilePipeline-4/GstDecodeBin:FileDecodeBin-4/GstQTDemux:qtdemux3:
atom ..J. has bogus size 2787970170
ERROR: GstBus msg from GstElement                    : FileSrc-4        
ERROR:     : error: Internal data flow error.
ERROR:     : info : gstbasesrc.c(2948): gst_base_src_loop ():
/GstPipeline:FilePipeline-4/GstFileSrc:FileSrc-4:
streaming task paused, reason error (-5)
ERROR: GstBus msg from GstElement                    : qtdemux3         
ERROR:     : error: This file is invalid and cannot be played.
ERROR:     : info : qtdemux.c(5814): gst_qtdemux_process_adapter ():
/GstPipeline:FilePipeline-4/GstDecodeBin:FileDecodeBin-4/GstQTDemux:qtdemux3:
atom ..J. has bogus size 2787970170
ERROR: fileSeek(): gst_element_seek() failed

The confusing part is the invalid file error because the files are indeed
correct. Also, after this error the pipeline goes to the PAUSED state with
the stream position of 0:00:00.000000000.

Question: why do I get the invalid file error?
Question: why is the appsink posting 2 EOS events?
Question: why is the stream position 0:00:00.000000000 after the EOS event? 
should it not be the end of the file or the duration of 0:04:58.230833333?

Thanks,
-Andres



--
View this message in context: http://gstreamer-devel.966125.n4.nabble.com/this-seek-error-is-confusing-and-appears-to-be-wrong-tp4683738.html
Sent from the GStreamer-devel mailing list archive at Nabble.com.


More information about the gstreamer-devel mailing list