diff --git a/include/rohrkabel/metadata/metadata.hpp b/include/rohrkabel/metadata/metadata.hpp index 85e6c64..baaf504 100644 --- a/include/rohrkabel/metadata/metadata.hpp +++ b/include/rohrkabel/metadata/metadata.hpp @@ -30,6 +30,7 @@ namespace pipewire metadata &operator=(metadata &&) noexcept; public: + [[rk::needs_update]] void clear_property(std::uint32_t id, const std::string &key); [[rk::needs_update]] void set_property(std::uint32_t id, std::string key, std::string type, std::string value); public: diff --git a/src/metadata.cpp b/src/metadata.cpp index 69a648b..7d62801 100644 --- a/src/metadata.cpp +++ b/src/metadata.cpp @@ -29,6 +29,12 @@ namespace pipewire return *this; } + void metadata::clear_property(std::uint32_t id, const std::string &key) + { + pw_metadata_set_property(m_impl->metadata, id, key.c_str(), nullptr, nullptr); + m_impl->properties.erase(key); + } + void metadata::set_property(std::uint32_t id, std::string key, std::string type, std::string value) { pw_metadata_set_property(m_impl->metadata, id, key.c_str(), type.c_str(), value.c_str());