From 6015960871bd6267f0565601718f517cd4c97652 Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Fri, 30 Jul 2021 15:20:21 +0200 Subject: [PATCH] output/pipewire: reset the "interrupted" flag in Cancel() This fixes seeking. --- src/output/plugins/PipeWireOutputPlugin.cxx | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/output/plugins/PipeWireOutputPlugin.cxx b/src/output/plugins/PipeWireOutputPlugin.cxx index 88e7692cd..b1fe347e8 100644 --- a/src/output/plugins/PipeWireOutputPlugin.cxx +++ b/src/output/plugins/PipeWireOutputPlugin.cxx @@ -121,7 +121,7 @@ private: size_t Play(const void *chunk, size_t size) override; // TODO: void Drain() override; - // TODO: void Cancel() noexcept override; + void Cancel() noexcept override; // TODO: bool Pause() noexcept override; }; @@ -313,6 +313,15 @@ PipeWireOutput::Play(const void *chunk, size_t size) } } +void +PipeWireOutput::Cancel() noexcept +{ + const PipeWire::ThreadLoopLock lock(thread_loop); + interrupted = false; + + // TODO implement +} + const struct AudioOutputPlugin pipewire_output_plugin = { "pipewire", nullptr,