basesink: don't compensate for render-delay twice
authorHavard Graff <havard.graff@tandberg.com>
Tue, 29 Nov 2011 13:22:44 +0000 (14:22 +0100)
committerTim-Philipp Müller <tim.muller@collabora.co.uk>
Thu, 5 Jan 2012 18:04:22 +0000 (18:04 +0000)
https://bugzilla.gnome.org/show_bug.cgi?id=667298

libs/gst/base/gstbasesink.c

index 338eeb5..a610e2e 100644 (file)
@@ -2411,8 +2411,7 @@ gst_base_sink_wait_eos (GstBaseSink * sink, GstClockTime time,
     GST_DEBUG_OBJECT (sink, "possibly waiting for clock to reach %"
         GST_TIME_FORMAT, GST_TIME_ARGS (time));
 
-    /* compensate for latency and ts_offset. We don't adjust for render delay
-     * because we don't interact with the device on EOS normally. */
+    /* compensate for latency, ts_offset and render delay */
     stime = gst_base_sink_adjust_time (sink, time);
 
     /* wait for the clock, this can be interrupted because we got shut down or
@@ -2563,14 +2562,6 @@ again:
   /* adjust for latency */
   stime = gst_base_sink_adjust_time (basesink, rstart);
 
-  /* adjust for render-delay, avoid underflows */
-  if (GST_CLOCK_TIME_IS_VALID (stime)) {
-    if (stime > priv->render_delay)
-      stime -= priv->render_delay;
-    else
-      stime = 0;
-  }
-
   /* preroll done, we can sync since we are in PLAYING now. */
   GST_DEBUG_OBJECT (basesink, "possibly waiting for clock to reach %"
       GST_TIME_FORMAT ", adjusted %" GST_TIME_FORMAT,