Check PipeWire server version when dropping single modifier

PipeWire server in older versions would mark the negotiation as
finished and start creating buffers.

Upstream bug: https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/1732

Bug: webrtc:13429
Change-Id: I7194e6672716d7fef1c2aadc40d3acf55cb282a2
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/262621
Reviewed-by: Alexander Cooper <alcooper@chromium.org>
Commit-Queue: Alexander Cooper <alcooper@chromium.org>
Cr-Commit-Position: refs/heads/main@{#36901}
This commit is contained in:
Jan Grulich
2022-05-16 08:10:49 +02:00
committed by WebRTC LUCI CQ
parent 6aa5cea4d3
commit 43feb9e5a2

View File

@ -599,7 +599,7 @@ void SharedScreenCastStreamPrivate::ProcessBuffer(pw_buffer* buffer) {
RTC_LOG(LS_ERROR) << "Dropping DMA-BUF modifier: " << modifier_
<< " and trying to renegotiate stream parameters";
if (pw_client_version_ >= kDropSingleModifierMinVersion) {
if (pw_server_version_ >= kDropSingleModifierMinVersion) {
modifiers_.erase(
std::remove(modifiers_.begin(), modifiers_.end(), modifier_),
modifiers_.end());