[PD] PD-linux, OSS, 32-bit samples

Miller Puckette mpuckett at man104-1.ucsd.edu
Fri Jun 14 04:37:16 CEST 2002


HI Brian,

I think the 32 bit format isn't standard in Linux.  I too wonder what
the 1024 bit means to your driver, but it sounds as if I have to find a
better way of checking this.

One possibility would be to add a -16bit flag which would make Pd
prefer to use 16 bit audio.  I'd be happy to do this if nobody can
think of a more canonical way to go about it...

cheers -- and thanks for flagging this!
Miller

On Thu, Jun 13, 2002 at 11:26:36AM -0400, Brian Whitman wrote:
> 
> I have a cheapo OSS-supported soundcard in a 2.4 kernel linux and am
> trying PD-.35-26.
> 
> I was getting pure noise on the outputs and "OSS: DSP format: wanted 1024,
> got 16" so I investigated. It seems the s_linux.c file doesn't handle
> cards (or older OSS apis, not sure) that don't support 32-bit samples.
> 
> i.e. line 864 s_linux.c:
>     if ((ioctl(fd,SNDCTL_DSP_GETFMTS,&param) >= 0) &&
>     	(param & AFMT_S32_BLOCKED))
> Always returns true in my case: SNDCTL_DSP_GETFMTS returns 1048
> (1024+16+8). The mask defined there for 32-bit samples (which I've only so
> far seen for RME cards) is 1024. I'm not sure why DSP_GETFMTS is returning
> a 1024 when the API hasn't heard of 32-bit samples yet. (i.e., when it
> tries to actually DSP_SETFMT that mask, it stops with an error.)
> 
> I guess my questions are: 1) is AFMT_S32* defined in a newer OSS spec
> that I just don't have yet? 2) Does anyone know why a card would return a
> 1024 in its capable-mask if it can't set it?
> 
> To fix the situation on my machine, I just commented out that check and
> left it at AFMT_S16_NE.
> 
> Also, p.s.: KDE's aRts completely confuses the OSS startup routine in PD.
> I had to disable it.
> 
> 
> --
> Brian Whitman - bwhitman at media.mit.edu
> http://www.media.mit.edu/~bwhitman
> Music, Mind & Machine Group
> MIT Media Lab
> 
> 
> 



More information about the Pd-list mailing list