+2004-11-28 Martin Soto <martinsoto@users.sourceforge.net>
+
+ * ext/alsa/gstalsasink.c (gst_alsa_sink_loop):
+ * ext/alsa/gstalsa.h:
+ * ext/alsa/gstalsa.c (gst_alsa_set_clock):
+ Make alsasink actually honor gst_element_set_clock and use that
+ clock instead of ist internal one.
+
2004-11-27 Christophe Fergeau <teuf@gnome.org>
* gst/playback/gstplaybasebin.c: (setup_source): fixed a caps leak
static void
gst_alsa_set_clock (GstElement * element, GstClock * clock)
-{ /* we need this function just so everybody knows we use a clock */
+{
+ /* we need this function just so everybody knows we use a clock */
+ GST_ALSA (element)->ext_clock = clock;
}
/*** AUDIO PROCESSING *********************************************************/
/* clocking */
GstAlsaClock * clock; /* our provided clock */
+ GstClock * ext_clock; /* externally set clock. */
snd_pcm_uframes_t played; /* samples transmitted since last sync
This thing actually is our master clock.
We will event insert silent samples or
* assumes that both calls return the same value. However they can be
* wildly different, since snd_pcm_delay goes deep into the kernel.
*/
- if (gst_element_get_clock (element) == GST_CLOCK (this->clock)) {
+ if (this->ext_clock == GST_CLOCK (this->clock)) {
/* FIXME: this is ugly because of the variables it uses but I
* don't know a better way to get this info */
if (element->base_time > this->clock->start_time) {