Date: Mon, 14 Jul 1997 17:51:33 -0400 From: Randall Hopper <rhh@ct.picker.com> To: Luigi Rizzo <luigi@labinfo.iet.unipi.it> Cc: Amancio Hasty <hasty@rah.star-gate.com>, multimedia@freebsd.org Subject: Re: guspnp9: Recording 16-bit yields Interrupted sys call on read() Message-ID: <19970714175133.20728@ct.picker.com> In-Reply-To: <19970713201730.37369@ct.picker.com>; from Randall Hopper on Sun, Jul 13, 1997 at 08:17:30PM -0400 References: <19970713201730.37369@ct.picker.com>
next in thread | previous in thread | raw e-mail | index | archive | help
Randall Hopper:
| Back on guspnp7, I'd mentioned this as one of the 4 main things I had
|some trouble with, but didn't know it was tied to 16-bit. Figured that out
|working with test cases for guspnp9 this evening.
Luigi Rizzo:
|If someone has problems recording with the sb (perhaps in 16-bit
|mode) note that in snd970711 there was a typo in sb_dsp.c. In
|sb_dsp_start_input(), around line 404, you should apply the following
|fix
|
| if (sb_dsp_command(DSP_CMD_HSSIZE)) { /* High speed size */
| sb_dsp_command((u_char) (dsp_count & 0xff));
| sb_dsp_command((u_char) ((dsp_count >> 8) & 0xff));
|- sb_dsp_command(DSP_CMD_HSDAC); /* High speed 8 bit ADC */
|+ sb_dsp_command(DSP_CMD_HSADC); /* High speed 8 bit ADC */
| } else
| printf("SB Error: Unable to start (high speed) ADC\n");
| splx(flags);
| } else {
Just tried this Luigi and on a 16-bit record, the first read() still
terminates with interrupted system call, for all sample rates and number of
channels. E.g.:
> record -r 44100 -b 16 -c 2
read() failed; errno = Interrupted system call
> record -r 44100 -b 16 -c 1
read() failed; errno = Interrupted system call
> record -r 11025 -b 16 -c 2
read() failed; errno = Interrupted system call
> record -r 11025 -b 16 -c 1
read() failed; errno = Interrupted system call
Randall
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?19970714175133.20728>
