
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.