[Jack-Devel] How to use jackd as a 'system-wide' server?

Chris Caudle chris at chriscaudle.org
Fri May 11 22:59:44 CEST 2018


On Fri, May 11, 2018 3:41 pm, Christophe Lohr wrote:
> Now I can execute jack_evmon in another terminal and see activity of the
> jackd server:

Perhaps I missed it, but I don't recall seeing any information about the
arguments given to jackd.  Can you post the parameters used?

> [May 11 20:30:00] WARNING[30222][C-00000000]: app_jack.c:600
> queue_voice_frame: Tried to write 3844 bytes to the ringbuffer, but only
> wrote 1679

Are you running an RT kernel? Is it possible that the period size is just
too small and asterisk can't keep up?

I see that app_jack includes a resampler, what sample rate is asterisk
using, and what sample rate is jackd using?

The error message is here, but it is not obvious yet what controls the
length written:

	res = jack_ringbuffer_write(jack_data->output_rb, (const char *) f_buf,
f_buf_used * sizeof(float));
	if (res != (f_buf_used * sizeof(float))) {
		ast_log(LOG_WARNING, "Tried to write %d bytes to the ringbuffer, but
only wrote %d\n",
			(int) (f_buf_used * sizeof(float)), (int) res);
}


I don't see jack_ringbuffer_write() in that same app_jack.c file and I
don't really have time to search through the other files right now.
Have you asked on the asterisk developer list?  They may have a better
idea of what often causes problems for asterisk.

-- 
Chris Caudle





More information about the Jackaudio mailing list