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

Reply via email to