From mboxrd@z Thu Jan 1 00:00:00 1970 From: Takashi Iwai Subject: Re: questions about card detection Date: Fri, 29 Aug 2003 11:37:29 +0200 Sender: alsa-devel-admin@lists.sourceforge.net Message-ID: References: <1062147863.5596.15.camel@trimble1dhcp30.ups.edu> Mime-Version: 1.0 (generated by SEMI 1.14.4 - "Hosorogi") Content-Type: text/plain; charset=US-ASCII Return-path: In-Reply-To: <1062147863.5596.15.camel@trimble1dhcp30.ups.edu> Errors-To: alsa-devel-admin@lists.sourceforge.net List-Help: List-Post: List-Subscribe: , List-Unsubscribe: , List-Archive: To: Joshua Haberman Cc: alsa-devel@lists.sourceforge.net List-Id: alsa-devel@alsa-project.org 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