After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 672832 - [tsdemux] playback regression
[tsdemux] playback regression
Status: RESOLVED OBSOLETE
Product: GStreamer
Classification: Platform
Component: gst-plugins-bad
git master
Other All
: Normal blocker
: NONE
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2012-03-26 08:57 UTC by Gil Pedersen
Modified: 2012-10-06 11:52 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Failing MPEG-TS file (500.00 KB, application/octet-stream)
2012-03-26 09:01 UTC, Gil Pedersen
Details

Description Gil Pedersen 2012-03-26 08:57:57 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"
...
Comment 1 Gil Pedersen 2012-03-26 09:01:29 UTC
Created attachment 210604 [details]
Failing MPEG-TS file
Comment 2 Edward Hervey 2012-05-22 16:05:52 UTC
Works fine with 0.10 and master branch. Can you test again ?
Comment 3 Gil Pedersen 2012-05-23 08:01:01 UTC
I can confirm that it works once again.