That fixed it, working like a charm! And it's perfect for my purposes.
Thanks again!
Take care,
Steve
On Tue, 3 Feb 2004, Jaroslav Kysela wrote:
> On Tue, 3 Feb 2004, Stephen Stocker wrote:
>
> > On Tue, 3 Feb 2004, Jaroslav Kysela wrote:
> >
> > > On Tue, 3 Feb 2004, Stephen Stocker wrote:
> > >
> > > > Hi,
> > > >
> > > > I've just got a Soundblaster 16 (Vibra16C, isapnp). Sure seems like
> > > > something about it's wrong, although it'll record/play S16_LE at 44.1 kHZ
> > > > maximum. The computer's an old 200MHz Pentium MMX, running Slackware, if
> > > > that helps.
> > > >
> > > > Really, it's a small issue, but it'd be so great to figure out how to do
> > > > this without ESD or whatever. Thanks again.
> > >
> > > At first: Set "16-bit DMA Allocation" to "Playback" using alsamixer or
> > > amixer. It will force the playback to use the 16-bit sample resolution.
> > >
> > > The other stream (capture) will have only 8-bit resolution (it's
> > > limitation of hardware). Then add 'format U8' to your dsnoop pcm
> > > definition (slave.pcm section) to inform the dsnoop plugin to use the
> > > 8-bit capture stream.
> > >
> > > Jaroslav
> >
> > That's it, and I should've thought of it. I've still got an error,
> > because dsnoop doesn't support 8-bit, but I understand that!
>
> Oops. It was typo in our sources. dsnoop support all PCM formats, but dmix
> is restricted to s16 and s32 formats.
>
> > $ arecord -Dduplex test.wav
> > ALSA lib pcm_dsnoop.c:843:(_snd_pcm_dsnoop_open) invalid format, specify s16 or
> > s32
> > arecord: main:502: audio open error: Invalid argument
>
> This is wrong. Thank you for this report. This patch should fix it:
>
> Index: pcm_dmix.c
> ===================================================================
> RCS file: /cvsroot/alsa/alsa-lib/src/pcm/pcm_dmix.c,v
> retrieving revision 1.50
> diff -u -r1.50 pcm_dmix.c
> --- pcm_dmix.c 24 Jan 2004 16:35:11 -0000 1.50
> +++ pcm_dmix.c 3 Feb 2004 14:42:23 -0000
> @@ -1215,6 +1215,14 @@
> if (err < 0)
> return err;
>
> + /* sorry, limited features */
> + if (params.format != SND_PCM_FORMAT_S16 &&
> + params.format != SND_PCM_FORMAT_S32) {
> + SNDERR("invalid format, specify s16 or s32");
> + snd_config_delete(sconf);
> + return -EINVAL;
> + }
> +
> params.period_size = psize;
> params.buffer_size = bsize;
>
> Index: pcm_dsnoop.c
> ===================================================================
> RCS file: /cvsroot/alsa/alsa-lib/src/pcm/pcm_dsnoop.c,v
> retrieving revision 1.15
> diff -u -r1.15 pcm_dsnoop.c
> --- pcm_dsnoop.c 23 Jan 2004 13:05:20 -0000 1.15
> +++ pcm_dsnoop.c 3 Feb 2004 14:42:23 -0000
> @@ -837,14 +837,6 @@
> if (err < 0)
> return err;
>
> - /* sorry, limited features */
> - if (params.format != SND_PCM_FORMAT_S16 &&
> - params.format != SND_PCM_FORMAT_S32) {
> - SNDERR("invalid format, specify s16 or s32");
> - snd_config_delete(sconf);
> - return -EINVAL;
> - }
> -
> params.period_size = psize;
> params.buffer_size = bsize;
> err = snd_pcm_dsnoop_open(pcmp, name, ipc_key, ipc_perm, ¶ms, bindings,
> slowptr, root, sconf, stream, mode);
>
>
>
> Jaroslav
>
> -----
> Jaroslav Kysela <[EMAIL PROTECTED]>
> Linux Kernel Sound Maintainer
> ALSA Project, SuSE Labs
-------------------------------------------------------
The SF.Net email is sponsored by EclipseCon 2004
Premiere Conference on Open Tools Development and Integration
See the breadth of Eclipse activity. February 3-5 in Anaheim, CA.
http://www.eclipsecon.org/osdn
_______________________________________________
Alsa-user mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/alsa-user