diff options
-rw-r--r-- | ChangeLog | 9 | ||||
-rw-r--r-- | ext/jack/gstjackaudiosink.c | 10 | ||||
-rw-r--r-- | ext/jack/gstjackaudiosrc.c | 10 | ||||
-rw-r--r-- | ext/jack/gstjackbin.c | 2 |
4 files changed, 28 insertions, 3 deletions
@@ -1,3 +1,12 @@ +2008-11-23 Stefan Kost <ensonic@users.sf.net> + + * ext/jack/gstjackaudiosink.c: + * ext/jack/gstjackaudiosrc.c: + Query port latencies for sink/src delays. + + * ext/jack/gstjackbin.c: + No printf please. + 2008-11-23 Sebastian Dröge <sebastian.droege@collabora.co.uk> * gst/mxf/mxfdemux.c: (gst_mxf_demux_pull_klv_packet), diff --git a/ext/jack/gstjackaudiosink.c b/ext/jack/gstjackaudiosink.c index 265ec68c..228a2297 100644 --- a/ext/jack/gstjackaudiosink.c +++ b/ext/jack/gstjackaudiosink.c @@ -594,9 +594,17 @@ static guint gst_jack_ring_buffer_delay (GstRingBuffer * buf) { GstJackAudioSink *sink; - guint res = 0; + guint i, res = 0, latency; + jack_client_t *client; sink = GST_JACK_AUDIO_SINK (GST_OBJECT_PARENT (buf)); + client = gst_jack_audio_client_get_client (sink->client); + + for (i = 0; i < sink->port_count; i++) { + latency = jack_port_get_total_latency (client, sink->ports[i]); + if (latency > res) + res = latency; + } GST_DEBUG_OBJECT (sink, "delay %u", res); diff --git a/ext/jack/gstjackaudiosrc.c b/ext/jack/gstjackaudiosrc.c index 6462d239..682a684a 100644 --- a/ext/jack/gstjackaudiosrc.c +++ b/ext/jack/gstjackaudiosrc.c @@ -601,9 +601,17 @@ static guint gst_jack_ring_buffer_delay (GstRingBuffer * buf) { GstJackAudioSrc *src; - guint res = 0; + guint i, res = 0, latency; + jack_client_t *client; src = GST_JACK_AUDIO_SRC (GST_OBJECT_PARENT (buf)); + client = gst_jack_audio_client_get_client (src->client); + + for (i = 0; i < src->port_count; i++) { + latency = jack_port_get_total_latency (client, src->ports[i]); + if (latency > res) + res = latency; + } GST_DEBUG_OBJECT (src, "delay %u", res); diff --git a/ext/jack/gstjackbin.c b/ext/jack/gstjackbin.c index 7b219c70..08fed371 100644 --- a/ext/jack/gstjackbin.c +++ b/ext/jack/gstjackbin.c @@ -337,7 +337,7 @@ static void shutdown (void *arg) { /* GstJackClient *client = (GstJackClient*) arg; */ - printf ("shutdown %p\n", arg); + JACK_DEBUG ("shutdown %p\n", arg); /* gst_element_set_state (GST_ELEMENT (client->manager), GST_STATE_READY); */ } |