From 8772997d102024b23fc820e3e5d9b96b4d309092 Mon Sep 17 00:00:00 2001 From: Sean McGovern Date: Mon, 11 Jun 2012 18:22:31 -0400 Subject: [PATCH] jack: update to new latency range API as the old one has been deprecated Fixes Bugzilla #279. Signed-off-by: Diego Biurrun --- configure | 4 +++- libavdevice/jack_audio.c | 6 ++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/configure b/configure index fbb71b6e16..5f9eed3cad 100755 --- a/configure +++ b/configure @@ -1087,6 +1087,7 @@ HAVE_LIST=" inet_aton inline_asm isatty + jack_port_get_latency_range ldbrx libdc1394_1 libdc1394_2 @@ -2982,7 +2983,8 @@ check_header soundcard.h enabled_any alsa_indev alsa_outdev && check_lib2 alsa/asoundlib.h snd_pcm_htimestamp -lasound -enabled jack_indev && check_lib2 jack/jack.h jack_client_open -ljack +enabled jack_indev && check_lib2 jack/jack.h jack_client_open -ljack && + check_func jack_port_get_latency_range -ljack enabled_any sndio_indev sndio_outdev && check_lib2 sndio.h sio_open -lsndio diff --git a/libavdevice/jack_audio.c b/libavdevice/jack_audio.c index 9f1bb23c3b..85f9f09740 100644 --- a/libavdevice/jack_audio.c +++ b/libavdevice/jack_audio.c @@ -91,7 +91,13 @@ static int process_callback(jack_nframes_t nframes, void *arg) /* Copy and interleave audio data from the JACK buffer into the packet */ for (i = 0; i < self->nports; i++) { + #if HAVE_JACK_PORT_GET_LATENCY_RANGE + jack_latency_range_t range; + jack_port_get_latency_range(self->ports[i], JackCaptureLatency, &range); + latency += range.max; + #else latency += jack_port_get_total_latency(self->client, self->ports[i]); + #endif buffer = jack_port_get_buffer(self->ports[i], self->buffer_size); for (j = 0; j < self->buffer_size; j++) pkt_data[j * self->nports + i] = buffer[j];