[Bug 712744] [patch] [matroskamux] Fix handling of negative timestamps

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Wed Nov 20 10:26:57 PST 2013


https://bugzilla.gnome.org/show_bug.cgi?id=712744
  GStreamer | gst-plugins-good | 1.2.1

--- Comment #2 from Krzysztof Kotlenga <pocek at users.sf.net> 2013-11-20 18:26:54 UTC ---
So, to make the case more convincing, party^Wgst-launch time:

Producer:
gst-launch-1.0 -e \
matroskamux name=mux \
videotestsrc ! queue ! x264enc key-int-max=20 ! mux.video_0 \
videotestsrc ! queue ! x264enc ! mux.video_1 \
mux. ! filesink location=broken.mkv

Consumer:
gst-launch-1.0 -v filesrc location=broken.mkv ! matroskademux name=d d.video_1
! identity silent=0 ! fakesink | awk '{print $11}' | less

...
pts:0:00:10.567000000,
pts:0:00:00.000000000, <- bug
pts:0:00:10.799000000,
...
pts:0:00:21.900000000,
pts:0:00:03.003000000, <- once again
pts:0:00:22.133000000,

Let's see what `mkvinfo -t broken.mkv` (mkvtoolnix package) has to say about
this:

+ Cluster timecode: 10.666s
+ Cluster previous size: 244936
+ SimpleBlock (key, track number 1, 1 frame(s), timecode 10.666s =
00:00:10.666)
 + Frame with size 7237
+ SimpleBlock (track number 2, 1 frame(s), timecode 18446744027.136s =
-00:00:08.331)
                                                    ^^^^^^^^^^^^^^^^

That's what we get from using gst_util_*uint64*_scale with gint64
(relative_timestamp64) and putting it in gint16 (relative_timestamp).

I didn't make it clear, but the patch is just a partial revert back to the
original/correct code (Bug 339678).

-- 
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