On Sat, 12 Oct 2002, James Courtier-Dutton wrote:

> Currently, the state of play is that "snd_pcm_hw_params_can_pause ()" 
> should not be called until one has first done the first 
> "snd_pcm_hw_params()"
> 
> I start with
> snd_pcm_hw_params_any(this->audio_fd, params);
> then go about setting params, e.g.
> snd_pcm_hw_params_set_access()
> snd_pcm_hw_params_set_format()
> etc.
> Then
> snd_pcm_hw_params()
> then
> snd_pcm_hw_params_can_pause (params)
> 
> If the "snd_pcm_hw_params_can_pause (params)" goes before the 
> "snd_pcm_hw_params()" an invalid result is returned. I.E. the result is 
> always 1 even for cards which don't support it.
> 
> I think the documentation should make it clear when one should use 
> "snd_pcm_hw_params_can_pause ()".
> or maybe "snd_pcm_hw_params_any()" should be modified to correctly fill 
> the "can_pause" bit.
> Maybe I have missunderstood the API, but I would prefer the approach of 
> first retrieving the current hw params, then go about modifying it, then 
> writting it back. If one has not set any hw params yet, it would fill 

But what's "current configuration"? What you want to prefer? rate? 
channels? period_size? No, application should give these hints to driver.

> the structure with the most general case, then allow the application to 
> set params to further restrict the config.
> I had assumed that "snd_pcm_hw_params_any()" did the retrieving of the 
> current hw params, but reset to the least restrictive settings. I don't 
> think "can_pause" is anything an application can set, the hardware on 
> the card decides that, so the "snd_pcm_hw_params_any()" should cause 
> "can_pause" to return a valid setting that matches the hardware, instead 
> of having to wait for the params to be written to the card with 
> "snd_pcm_hw_params()" before "can_pause" is set accurately.

All these functions needs exactly one configuration at input.
The snd_pcm_hw_params() function chooses one configuration and sets it to 
hardware. I've updated documentation.

                                                Jaroslav

-----
Jaroslav Kysela <[EMAIL PROTECTED]>
Linux Kernel Sound Maintainer
ALSA Project  http://www.alsa-project.org
SuSE Linux    http://www.suse.com



-------------------------------------------------------
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