mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-01-12 10:25:33 +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>
|
2004-11-27 Christophe Fergeau <teuf@gnome.org>
|
||||||
|
|
||||||
* gst/playback/gstplaybasebin.c: (setup_source): fixed a caps leak
|
* gst/playback/gstplaybasebin.c: (setup_source): fixed a caps leak
|
||||||
|
|
|
@ -1213,7 +1213,9 @@ gst_alsa_get_clock (GstElement * element)
|
||||||
|
|
||||||
static void
|
static void
|
||||||
gst_alsa_set_clock (GstElement * element, GstClock * clock)
|
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 *********************************************************/
|
/*** AUDIO PROCESSING *********************************************************/
|
||||||
|
|
|
@ -156,6 +156,7 @@ struct _GstAlsa {
|
||||||
|
|
||||||
/* clocking */
|
/* clocking */
|
||||||
GstAlsaClock * clock; /* our provided clock */
|
GstAlsaClock * clock; /* our provided clock */
|
||||||
|
GstClock * ext_clock; /* externally set clock. */
|
||||||
snd_pcm_uframes_t played; /* samples transmitted since last sync
|
snd_pcm_uframes_t played; /* samples transmitted since last sync
|
||||||
This thing actually is our master clock.
|
This thing actually is our master clock.
|
||||||
We will event insert silent samples or
|
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
|
* assumes that both calls return the same value. However they can be
|
||||||
* wildly different, since snd_pcm_delay goes deep into the kernel.
|
* 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
|
/* FIXME: this is ugly because of the variables it uses but I
|
||||||
* don't know a better way to get this info */
|
* don't know a better way to get this info */
|
||||||
if (element->base_time > this->clock->start_time) {
|
if (element->base_time > this->clock->start_time) {
|
||||||
|
|
Loading…
Reference in a new issue