audiosink: add adjustement when slaving
authorWim Taymans <wim.taymans@collabora.co.uk>
Wed, 25 Nov 2009 16:26:16 +0000 (10:26 -0600)
committerWim Taymans <wim@metal.(none)>
Wed, 25 Nov 2009 16:26:16 +0000 (10:26 -0600)
Our calibration against the pipeline clock is done with the adjusted
ringbuffer time, so take the adjustement into account. Fixes some audio dropouts
when reusing audio sinks after switching clocks and slaving methods in a
pipeline.

gst-libs/gst/audio/gstbaseaudiosink.c

index a4d2dc8..a58e128 100644 (file)
@@ -995,6 +995,7 @@ gst_base_audio_sink_skew_slaving (GstBaseAudioSink * sink,
   /* sample clocks and figure out clock skew */
   etime = gst_clock_get_time (GST_ELEMENT_CLOCK (sink));
   itime = gst_audio_clock_get_time (sink->provided_clock);
+  itime = gst_audio_clock_adjust (sink->provided_clock, itime);
 
   GST_DEBUG_OBJECT (sink,
       "internal %" GST_TIME_FORMAT " external %" GST_TIME_FORMAT