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 668684 - mpegtsdemux: Certain samples do not show start of video
mpegtsdemux: Certain samples do not show start of video
Status: RESOLVED OBSOLETE
Product: GStreamer
Classification: Platform
Component: gst-plugins-bad
git master
Other Linux
: Normal critical
: NONE
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2012-01-25 17:59 UTC by Mart Raudsepp
Modified: 2013-09-25 22:19 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
GST_DEBUG=2 log showing reported errors from ffdec_h264 (263.73 KB, application/octet-stream)
2012-02-14 16:06 UTC, Thibault Saunier
Details

Description Mart Raudsepp 2012-01-25 17:59:53 UTC
The sample at http://samples.mplayerhq.hu/V-codecs/h264/HD-h264.ts does not show the beginning on the 0.10 branch anymore. It works with latest stable releases.

Tested with the following pipeline:

gst-launch-0.10 playbin2 uri=file:///tmp/HD-h264.ts video-sink="navseek ! timeoverlay ! autovideosink"

On 0.10 branch this is stuck at displaying the frame at timestamp 12:44:55.363 for about 18 seconds before proceeding with video, whereas that frame is not the beginning of it all.
With latest stable releases (core/base 0.10.35, good .30, bad .22, ffmpeg 0.10.12) it starts at timestamp 12:44:37.112 instead, is only still for about a second and shows all the ~18 seconds of video that the 0.10 branch completely skips (showing the later frame instead for 18 seconds until timestamps catch up).

Made sure this isn't a h264parse related regression (with parsers being plugged now by playbin2), with the following pipeline:

gst-launch-0.10 filesrc location=/tmp/HD-h264.ts ! mpegtsdemux name=d ! queue max-size-buffers=0 max-size-time=0 ! ac3parse ! a52dec ! audioconvert ! audioresample ! pulsesink  d. ! queue max-size-buffers=0 max-size-time=0 ! ffdec_h264 ! ffmpegcolorspace ! timeoverlay ! ffmpegcolorspace ! xvimagesink

Works with last stable releases, but doesn't with 0.10 branch. Adding h264parse before ffdec_h264 makes no difference.

Note that in 0.10 branch replacing mpegtsdemux with tsdemux in the long pipeline doesn't work at all (internal data stream error while prerolling), while it does with latest release.

master will be tested a bit later, after I'm done pinning down H.264 regressions on the 0.10 branch.
Comment 1 Thibault Saunier 2012-02-14 16:05:04 UTC
I have the feeling that the stream contains error. With current master or the latest stable release, I get missing frames and errors from ffdec_h264 plus I get the exact same behaviour of missing frames with VLC or ffplay.

So are you totally sure that the stream is good?

Do you have other streams with the same problem ?

Concerning tsdemux, indeed there is another bug that I am now investigating.
Comment 2 Thibault Saunier 2012-02-14 16:06:17 UTC
Created attachment 207535 [details]
GST_DEBUG=2 log showing reported errors from ffdec_h264
Comment 3 Mart Raudsepp 2012-02-20 09:47:18 UTC
Many streams on samples.mplayerhq.hu are problematic or not quite up to ideal spec indeed. It's just something I found while trying to find a public sample for a different problem, which showed problems with git 0.10, while it does show the beginning half video of the sample with latest release versions.
So if this isn't a regression in H.264 or MPEG-TS playback, it is at least a regression in being able to make the best possible out of problematic media
Comment 4 David Schleef 2012-02-22 00:06:02 UTC
Marking as NEW, as it's clearly a bug.
Comment 5 Thibault Saunier 2012-02-22 02:07:56 UTC
The stream plays with tsdemux after:

commit 1182dd0c1ba3e97d197d145dcdb0feeb76f6cd1e
Author: Thibault Saunier <thibault.saunier@collabora.com>
Date:   Wed Feb 15 10:32:17 2012 -0300

    tsdemux: Avoid throwing FLOW_ERROR on last PCR processing error
    
    In the case of scanning last pcr, errors are not critical, so we keep
    the stream flowing.

Now, the result with tsdemux is exactly the same as with either vlc or mplayer.
Comment 6 Edward Hervey 2012-05-24 08:56:58 UTC
The issue is with multiple programs it seems.
Comment 7 Edward Hervey 2013-06-12 06:32:25 UTC
Works fine (i.e. the same way as mplayer/vlc) with current master. Closing.