There are some scenarios when using DSP where one may want to have
partially active stream and fully enable it after some event occurs.
Following patchset adds new "detect" state to ALSA state machine to
allow waiting for condition to occur before fully starting a stream. In
further patches the state is propagated through ASoC components to allow
them to handling the state as necessary.
Main goal of this patchset is to allow handling scenarios like keyphrase
detection - where DSP analyses incoming signal and wakes userspace to
consume stream only when keyphrase is detected.
I'm sending this as RFC so we can discuss if this is the way to go or if
there is perhaps another preferred way of adding such interface.
Userspace part of implementation is available at
https://github.com/amadeuszslawinski-intel/alsa-lib/tree/rfc_detect
Amadeusz Sławiński (4):
ALSA: core: Add support for running detect on capture stream
ALSA: core: Allow polling for detection
ASoC: pcm: Add support for running detect on capture stream
ASoC: Propagate DETECT trigger
include/sound/pcm.h | 6 +++
include/sound/soc-dpcm.h | 2 +
include/uapi/sound/asound.h | 4 +-
sound/core/pcm_native.c | 89 ++++++++++++++++++++++++++++++++++++-
sound/soc/soc-component.c | 2 +
sound/soc/soc-dai.c | 2 +
sound/soc/soc-link.c | 2 +
sound/soc/soc-pcm.c | 56 +++++++++++++++++++++++
8 files changed, 160 insertions(+), 3 deletions(-)
--
2.34.1
[Index of Archives]
[Pulseaudio]
[Linux Audio Users]
[ALSA Devel]
[Fedora Desktop]
[Fedora SELinux]
[Big List of Linux Books]
[Yosemite News]
[KDE Users]