summaryrefslogtreecommitdiffstats
path: root/ext/jack/gstjackaudiosink.c
diff options
context:
space:
mode:
Diffstat (limited to 'ext/jack/gstjackaudiosink.c')
-rw-r--r--ext/jack/gstjackaudiosink.c10
1 files changed, 9 insertions, 1 deletions
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);