GNOME Bugzilla – Bug 672832
[tsdemux] playback regression
Last modified: 2012-10-06 11:52:54 UTC
The attached file used to work using playbin2, but now it just reports EOS. It works fine in mpegtsdemux which used to be the default demuxer. $ gst-launch filesrc location=media.ts ! tsdemux ! h264parse ! ffdec_h264 ! ffmpegcolorspace ! videoscale ! xvimagesink Setting pipeline to PAUSED ... Pipeline is PREROLLING ... Pipeline is PREROLLED ... Setting pipeline to PLAYING ... New clock: GstSystemClock Got EOS from element "pipeline0". Execution ended after 129829 ns. Setting pipeline to PAUSED ... Setting pipeline to READY ... Setting pipeline to NULL ... Freeing pipeline ... A quick look using fakesink reveals this is likely a timestamp handling issue, as the newsegment timestamps doesn't match the buffer timestamps. $ gst-launch -v filesrc location=media.ts ! tsdemux ! h264parse ! fakesink Setting pipeline to PAUSED ... Pipeline is PREROLLING ... /GstPipeline:pipeline0/GstH264Parse:h264parse0.GstPad:src: caps = video/x-h264, stream-format=(string)byte-stream, alignment=(string)nal, parsed=(boolean)true /GstPipeline:pipeline0/GstH264Parse:h264parse0.GstPad:sink: caps = video/x-h264, stream-format=(string)byte-stream, alignment=(string)nal /GstPipeline:pipeline0/GstFakeSink:fakesink0.GstPad:sink: caps = video/x-h264, stream-format=(string)byte-stream, alignment=(string)nal, parsed=(boolean)true /GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = "preroll ******* " Pipeline is PREROLLED ... Setting pipeline to PLAYING ... /GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = "event ******* (fakesink0:sink) E (type: 102, GstEventNewsegment, update=(boolean)false, rate=(double)1, applied-rate=(double)1, format=(GstFormat)GST_FORMAT_TIME, start=(gint64)95443716088888, stop=(gint64)-1, position=(gint64)95443716088888;) 0x21a8140" /GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = "chain ******* (fakesink0:sink) (9987 bytes, timestamp: 0:00:00.000000000, duration: none, offset: 940, offset_end: -1, flags: 0 ) 0x7fe994002ee0" New clock: GstSystemClock /GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = "chain ******* (fakesink0:sink) (1196 bytes, timestamp: 0:00:00.040000000, duration: none, offset: 11280, offset_end: -1, flags: 0 ) 0x7fe994002400" ...
Created attachment 210604 [details] Failing MPEG-TS file
Works fine with 0.10 and master branch. Can you test again ?
I can confirm that it works once again.