At 29 Aug 2003 02:04:24 -0700, Joshua Haberman wrote: > > Two questions. > > First: Is it possible to determine the maximum number of channels for a > sound card that is in use by another application? My method for > detecting the number of channels is: > > - open the pcm > - use the hw_params API to determine the number of channels > > But if another application has the sound card open, it cannot be opened > again and therefore the hw_params API cannot be used!
hmm, i think there is no "safe" way about this. maybe it would be nice to have a read-only query functions. > Second question: what is the meaning and intended use of the > card,device,subdevice design of ALSA? I thought this would become clear > to be once I bought a multichannel card, but now I own an Audiophile > 2496 and it's still a mystery. > > "Card" I understand -- I can hold a card in my hand. But what is a > "device" and a "subdevice?" When are they ever used, and how? "device" corresponds to a gate-way to access to the card. in the driver level, each device has a device file (pcmCxDx[pc]). usually each device reprenents different type of PCM streams. a device contains one or more subdevices. "sub-device" is the lowest level of PCM abstration. an actual PCM stream is always assigned to a sub-stream. the sub-device is introduced to represent the cases like multi-playback function. for example, SB Live can play 32 stereo streams at the same time. in the ALSA, the driver assigns 32 sub-devices (sub-streams) to a playback device. in the case of envy24, there are only one subdevice, because it's a multi-channel card but not a multi-stream card. Takashi ------------------------------------------------------- This sf.net email is sponsored by:ThinkGeek Welcome to geek heaven. http://thinkgeek.com/sf _______________________________________________ Alsa-devel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/alsa-devel