[Bug 705066] mpegvideoparse: fix timestamps

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Tue Jul 30 03:06:25 PDT 2013


https://bugzilla.gnome.org/show_bug.cgi?id=705066
  GStreamer | gst-plugins-bad | git

--- Comment #15 from Matej Knopp <matej.knopp at gmail.com> 2013-07-30 10:06:19 UTC ---
So currently the way the filter works it only adds missing timestamps, doesn't
touch timestamps that come from upstream. This works well for most files (where
the timestamps from upstream are sparse, but correct). 

Some files are not so nice however. For example
https://s3.amazonaws.com/MatejK/Samples/V.VOB

It has only timestamps on i-frames (which is usual). The timestamp of second
iFrame is 
0:28:19.420000000
But the actual presentation time (when calculated from all frames that are
displayed before it) is 
0:28:19.940000000

In current state, the filter ignores the calculated value and just uses the one
from upstream. This will of course cause errors during playback, as the
timestamps jump back.

Now without the filter (where the timestamps are sparse), libav just ignores
the timestamps and goes on, so the playback  works. With the filter however,
when all timesamps are set, libav honors the timestamps so the playback is
actually worse.

I need to check the demuxer to see if the timestamps it gives are correct, but
for now I assume they are. I don't see any solution for this. wtay says that
the parser should respect upstream timestamps, but when we do, the file is
unplayable (even though it plays in other players, as they obviously ignore
those, at least when the TS are going backwards)

-- 
Configure bugmail: https://bugzilla.gnome.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.


More information about the gstreamer-bugs mailing list