diff --git a/NEWS b/NEWS index 5191ed58b..db8cc04f8 100644 --- a/NEWS +++ b/NEWS @@ -23,6 +23,7 @@ ver 0.24 (not yet released) * tags - new tags "TitleSort", "Mood" * output + - pipewire: fix corruption bug due to missing lock - pipewire: map tags "Date" and "Comment" * switch to C++20 - GCC 10 or clang 11 (or newer) recommended diff --git a/src/output/plugins/PipeWireOutputPlugin.cxx b/src/output/plugins/PipeWireOutputPlugin.cxx index 9d2976383..bf8e890f3 100644 --- a/src/output/plugins/PipeWireOutputPlugin.cxx +++ b/src/output/plugins/PipeWireOutputPlugin.cxx @@ -963,6 +963,8 @@ PipeWireOutput::SendTag(const Tag &tag) struct spa_dict dict = SPA_DICT_INIT(items.data(), (uint32_t)items.size()); + const PipeWire::ThreadLoopLock lock(thread_loop); + auto rc = pw_stream_update_properties(stream, &dict); if (rc < 0) LogWarning(pipewire_output_domain, "Error updating properties");