mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-24 17:20:36 +00:00
ext/alsa/: Make alsasink actually honor gst_element_set_clock and use that clock instead of ist internal one.
Original commit message from CVS: 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.
This commit is contained in:
parent
2b204597ba
commit
a931717c2e
4 changed files with 13 additions and 2 deletions
|
@ -1,3 +1,11 @@
|
|||
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
|
||||
|
|
|
@ -1213,7 +1213,9 @@ gst_alsa_get_clock (GstElement * element)
|
|||
|
||||
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 *********************************************************/
|
||||
|
|
|
@ -156,6 +156,7 @@ struct _GstAlsa {
|
|||
|
||||
/* 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
|
||||
|
|
|
@ -405,7 +405,7 @@ sink_restart:
|
|||
* 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) {
|
||||
|
|
Loading…
Reference in a new issue