From 86acbabe8f2a95031520c680f30135f2a14d56f4 Mon Sep 17 00:00:00 2001 From: Oschowa Date: Sun, 1 Nov 2020 18:32:22 +0100 Subject: [PATCH] pipewire-alsa: implement pause --- pipewire-alsa/alsa-plugins/pcm_pipewire.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/pipewire-alsa/alsa-plugins/pcm_pipewire.c b/pipewire-alsa/alsa-plugins/pcm_pipewire.c index 02dffd5ea..e0d91698a 100644 --- a/pipewire-alsa/alsa-plugins/pcm_pipewire.c +++ b/pipewire-alsa/alsa-plugins/pcm_pipewire.c @@ -487,6 +487,18 @@ static int snd_pcm_pipewire_stop(snd_pcm_ioplug_t *io) return 0; } +static int snd_pcm_pipewire_pause(snd_pcm_ioplug_t * io, int enable) +{ + pw_log_debug(NAME" %p:", io); + + if (enable) + snd_pcm_pipewire_stop(io); + else + snd_pcm_pipewire_start(io); + + return 0; +} + #if __BYTE_ORDER == __BIG_ENDIAN #define _FORMAT_LE(p, fmt) p ? SPA_AUDIO_FORMAT_UNKNOWN : SPA_AUDIO_FORMAT_ ## fmt ## _OE #define _FORMAT_BE(p, fmt) p ? SPA_AUDIO_FORMAT_ ## fmt ## P : SPA_AUDIO_FORMAT_ ## fmt @@ -727,6 +739,7 @@ static snd_pcm_ioplug_callback_t pipewire_pcm_callback = { .close = snd_pcm_pipewire_close, .start = snd_pcm_pipewire_start, .stop = snd_pcm_pipewire_stop, + .pause = snd_pcm_pipewire_pause, .pointer = snd_pcm_pipewire_pointer, .drain = snd_pcm_pipewire_drain, .prepare = snd_pcm_pipewire_prepare,