[alsa-devel] Triggering a DAPM widget event

Peter Ujfalusi peter.ujfalusi at nokia.com
Thu Jan 27 08:09:39 CET 2011


On 01/26/11 22:38, ext Harrod, John wrote:
>> What is your actual problem here?
> 
> I have a speaker widget (snd_soc_dapm_spk) whose event handler only receives a
> SND_SOC_DAPM_PRE_PMD event when the pcm is closed.

Events on widgets are (among others):
SND_SOC_DAPM_PRE_PMU: will be sent before the widget power up
SND_SOC_DAPM_POST_PMU: will be sent after the widget power up
SND_SOC_DAPM_PRE_PMD: will be sent before the widget power down
SND_SOC_DAPM_POST_PMD: will be sent after the widget power down

The *_PMU events are triggered whenever the widget is going to be
powered up:
stream start, within prepare time;
complete bypass, or loopback path

The *_PMD events are triggered whenever the widget is going to be
powered down:
bypass, or loopback path is disabled
After the stream has been stopped/closed.
 In case of playback the power down is delayed (5 sec by default)
 In case of capture the power down is instant.

If you stop, and restart the playback stream within 5 sec, events will
not be triggered on the widgets, since they are still powered.

-- 
Péter


More information about the Alsa-devel mailing list