PipeWire capturer: set capturer as failed when session is closed Marking capturer as failed will indicate consumers will not be getting any new frames by sending back ERROR_PERMANENT and let them know that screencast can be stopped from their side. This will make screencast to stop when a window we share is closed or when screencast is closed from system tray. Bug: chromium:40276865 Change-Id: Ia2c13461bd3126cab9c4838b8aa6840578562e9e Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/339560 Commit-Queue: Jan Grulich <grulja@gmail.com> Reviewed-by: Alexander Cooper <alcooper@chromium.org> Cr-Commit-Position: refs/heads/main@{#41817}
diff --git a/modules/desktop_capture/linux/wayland/base_capturer_pipewire.cc b/modules/desktop_capture/linux/wayland/base_capturer_pipewire.cc index 40764de..81caa9b 100644 --- a/modules/desktop_capture/linux/wayland/base_capturer_pipewire.cc +++ b/modules/desktop_capture/linux/wayland/base_capturer_pipewire.cc
@@ -112,6 +112,7 @@ if (!capturer_failed_) { options_.screencast_stream()->StopScreenCastStream(); } + capturer_failed_ = true; } void BaseCapturerPipeWire::UpdateResolution(uint32_t width, uint32_t height) {