gst-libs/gst/audio/gstbaseaudiosink.c: Revert previous patch that attempted to more...
authorWim Taymans <wim.taymans@gmail.com>
Mon, 12 May 2008 08:45:11 +0000 (08:45 +0000)
committerWim Taymans <wim.taymans@gmail.com>
Mon, 12 May 2008 08:45:11 +0000 (08:45 +0000)
Original commit message from CVS:
* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_render), (gst_base_audio_sink_async_play):
Revert previous patch that attempted to more accurately calculate the
initial offset between master and slave clock. The best thing we can do
in general is take the time of both clocks as the diff since we don't
know when the actual preroll happened.

ChangeLog
gst-libs/gst/audio/gstbaseaudiosink.c

index 235e4c1e9d394357a385bd675abfe7f033fc37c2..dcf603d8358200810b43ac374489b722f3ca7d7c 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2008-05-12  Wim Taymans  <wim.taymans@collabora.co.uk>
+
+       * gst-libs/gst/audio/gstbaseaudiosink.c:
+       (gst_base_audio_sink_render), (gst_base_audio_sink_async_play):
+       Revert previous patch that attempted to more accurately calculate the
+       initial offset between master and slave clock. The best thing we can do
+       in general is take the time of both clocks as the diff since we don't
+       know when the actual preroll happened.
+
 2008-05-11  Tim-Philipp Müller  <tim.muller at collabora co uk>
 
        * gst-libs/gst/pbutils/install-plugins.c:
index 82abaf4cc5c81b8450ac8c0fc7fbeaa118d15933..6a7addf04b50431ad5fa19cdeac122b6c7fe150a 100644 (file)
@@ -1419,21 +1419,15 @@ gst_base_audio_sink_async_play (GstBaseSink * basesink)
 
   /* if we are slaved to a clock, we need to set the initial
    * calibration */
-  /* get external and internal time to set as calibration params */
-  etime = GST_ELEMENT_CAST (sink)->base_time;
-  itime = gst_base_audio_sink_get_time (sink->provided_clock, sink);
-
   switch (sink->priv->slave_method) {
     case GST_BASE_AUDIO_SINK_SLAVE_SKEW:
     case GST_BASE_AUDIO_SINK_SLAVE_RESAMPLE:
-      /* adjust with upstream latency, when we are prerolled, our internal clock
-       * should exactly have been the time of the upstream latency */
-      etime += sink->priv->us_latency;
-      break;
     case GST_BASE_AUDIO_SINK_SLAVE_NONE:
-      /* no slaving, base_time corresponds to our 0 time */
-      itime = 0;
     default:
+      /* When we are prerolled, our internal clock should exactly have been the time
+       * of the external clock */
+      etime = gst_clock_get_time (clock);
+      itime = gst_base_audio_sink_get_time (sink->provided_clock, sink);
       break;
   }
   GST_DEBUG_OBJECT (sink,