At Thu, 9 Apr 2009 13:26:50 +0530, Harsha, Priya wrote:
The issue that I am facing with creating a snd_kcontrol is that I am not able to bind that value to a stream.
Why?
Say I start the application and set the type of that control to voice and open another instance of that application and set the type to audio.
Another instance must have a different stream, right? Then it must have a different substream number. In the scenario a la emu10k1, you'll have a control per each substream. So this won't conflict.
There might be a clash and I might get the wrong stream type to the driver. Also, the stream ids passed cannot also be guaranteed to reach the right stream.
The "stream id" you are referring to might be different from what I'm thinking of. Please elaborate your terminology before further questions. It's a bit hard to illustrate your use-case from your descriptions, so far...
thanks,
Takashi
-----Original Message----- From: alsa-devel-bounces@alsa-project.org [mailto:alsa-devel-bounces@alsa-project.org] On Behalf Of Harsha, Priya Sent: Thursday, April 09, 2009 1:07 PM To: alsa-devel@alsa-project.org Cc: Takashi Iwai; David Dillow; Lee Revell; Clemens Ladisch Subject: Re: [alsa-devel] question on hardware
Hi ,
I need more help here. I tried looking at the .conf file but I have another requirement here.
Let me put my requirements here. Please suggest me ways to get this done
- When I get a .prepare call in my driver, I need to know the stream type
- When I return from that call, I need to send to the user the locally allocated stream id
This is specific to the sound card/ DSP I am developing the driver for. The application is also proprietary. Is this possible at all? Please suggest me ways to do the same.
Thanks, Harsha
-----Original Message----- From: David Dillow [mailto:dave@thedillows.org] Sent: Tuesday, December 09, 2008 6:14 PM To: Harsha, Priya Cc: Clemens Ladisch; alsa-devel@alsa-project.org; Lee Revell Subject: Re: [alsa-devel] question on hardware mixing
On Tue, 2008-12-09 at 14:25 +0530, Harsha, Priya wrote:
If I define mixer controls to switch between each substream, I would not be able to handle multiple streams at time....
Check into the ALSA configuration file syntax -- there are number of things you can do there, like define a 'voice' device that uses hooks to set a control setting (snd_kcontrol) when you open a PCM. You can use that control setting to let your driver know if the PCM channel is being used for voice or audio traffic.
Look at how the EMU10K1 handles surround sound audio in /etc/alsa/cards/EMU10K1.conf
I started to do some similar things for sis7019 surround sound, but they've never made it out of my office due to lack of time/testing HW.
I had asked this in my earlier follow up email as well - can I use snd_pcm_t->private_data to communicate if it's a voice or audio I understand this private_data gets copied to substream->private data which will reach the driver... Am I right here?
I can't answer this specifically, but I believe the answer is in the name -- 'private'. This is for the ALSA system to use, you can hang your own data off a substream using snd_pcm_substream_chip(). Besides, how do you plan on setting it in the snd_pcm_t type?
I think that if you set up some controls, use the config file language, and have your audio apps open a 'voice' device, you can get where you want.
Dave
Alsa-devel mailing list Alsa-devel@alsa-project.org http://mailman.alsa-project.org/mailman/listinfo/alsa-devel