[Bug 654844] dts streams with non monotonically increasing timestamps from mkv containers sound broken

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Mon Nov 28 03:01:49 PST 2011


https://bugzilla.gnome.org/show_bug.cgi?id=654844
  GStreamer | don't know | 0.10.34

Stefan Sauer (gstreamer, gtkdoc dev) <ensonic> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
 Attachment #192249|none                        |needs-work
             status|                            |

--- Comment #6 from Stefan Sauer (gstreamer, gtkdoc dev) <ensonic at sonicpulse.de> 2011-11-28 11:01:44 UTC ---
Review of attachment 192249:
 --> (https://bugzilla.gnome.org/review?bug=654844&attachment=192249)

::: ext/dts/gstdtsdec.c
@@ +810,3 @@
         GST_TIME_ARGS (GST_BUFFER_DURATION (buf)));
+
+    /* There are two possible bugs: time from container can be bigger als,

s/als/as/

@@ +811,3 @@
+
+    /* There are two possible bugs: time from container can be bigger als,
+     * real time of stream, so there is silent; or less, then it is an

s/so so there is silent/so that there is silence/

@@ +813,3 @@
+     * real time of stream, so there is silent; or less, then it is an
+     * overlap */
+    /* time overlap - contaniers timestamp is defenetly  brocken.

s/contaniers/containers/
s/defenetly/definitively/
s/brocken/broken/

@@ +814,3 @@
+     * overlap */
+    /* time overlap - contaniers timestamp is defenetly  brocken.
+     * Ignor it as long as possible,

s/Ignor/Ignore/

@@ +816,3 @@
+     * Ignor it as long as possible,
+     * for example: 4096 samples = 16 * 256 dts blocks */
+    if (container_ts + sample_time * 4096 < dts->time) {

It would be nice to have a simple define somewhere for the tolerance. Could be
in audio.h / video.h. Do we need different values for audio/video?
Anyway I think this should be in time and not in samples.

@@ +818,3 @@
+    if (container_ts + sample_time * 4096 < dts->time) {
+      GST_DEBUG_OBJECT (dts, "overlaping samples: %lli",
+    /* time overlap - contaniers timestamp is defenetly  brocken.

please use the GLIB macros "samples %"G_GINT64_TIME_FORMAT, GST_CLOCK_DIFF(...)

@@ +824,3 @@
+      /* we can tollerate small GAPs */
+      GST_DEBUG_OBJECT (dts, "GAP samples: %lli",
+    if (container_ts + sample_time * 4096 < dts->time) {

here too.

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