[alsa-devel] [PATCH 2/2] add API to allow disabling period interrupt

Jaroslav Kysela perex at perex.cz
Mon Nov 8 22:03:10 CET 2010


On Mon, 8 Nov 2010, pl bossart wrote:

>> I see two ways:
>>
>> 1) leave set/get functions with this semantics:
>>   - application tries to set the no period update behaviour for hw_params
>>     - alsa-lib should check if nonblock flag is set at this moment
>>   - snd_pcm_hw_params() call
>>   - application reads back the no period update state and if the flag is
>>     not set, it will use standard period updates
>> 2) create new optional snd_pcm_open flag
>>   - application opens device with nonblock and no period update flags
>>   - snd_pcm_hw_params() call
>>   - application reads back the no period update state and if the flag is
>>     not set, it will use standard period updates
>>
>> Note that we can even implement both methods together like for handling the
>> nonblock behaviour.
>
> I re-implemented the first solution and checked if the mode is indeed
> non-blocking. This solution assumes that the apps cannot go back to
> blocking mode at a later stage. Is it a valid asumption, or can the
> blocking mode be enabled/disabled at any time with snd_pcm_nonblock()?

Yes, this function must return an error if an app tries to set blocking 
mode..

 						Jaroslav

-----
Jaroslav Kysela <perex at perex.cz>
Linux Kernel Sound Maintainer
ALSA Project, Red Hat, Inc.


More information about the Alsa-devel mailing list