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 Linux Kernel Sound Maintainer ALSA Project, Red Hat, Inc.