Revert "Add support for screen sharing with PipeWire on Wayland"
This reverts commit dd20c9c1e3f681f6c33d1879c76f588bd4b095bd. Reason for revert: Speculative revert; looks like it causes crashes on official builders. See crbug.com/901319. Original change's description: > Add support for screen sharing with PipeWire on Wayland > > Currently, when users want to use the screen sharing and are using the > Wayland display server (the default on Fedora distribution), then it > doesn't work, because the WebRTC only includes the X11 implementation. > This change adds the support by using the PipeWire multimedia server. > > The PipeWire implementation in WebRTC stays in > screen-capturer-pipewire.c and is guarded by the rtc_use_pipewire build > flag that is automatically enabled on Linux. > > More information are included in the relevant commit messages. > > Tested on the current Chromium master and Firefox. > > The sysroot changes are requested in: > https://chromium-review.googlesource.com/c/chromium/src/+/1258174 > > Co-authored-by: Jan Grulich <grulja@gmail.com> > Co-authored-by: Eike Rathke <erathke@redhat.com> > Change-Id: I212074a4bc437b99a77bf383266026c5bfae7c4a > > BUG=chromium:682122 > > Change-Id: I212074a4bc437b99a77bf383266026c5bfae7c4a > Reviewed-on: https://webrtc-review.googlesource.com/c/103504 > Commit-Queue: Patrik Höglund <phoglund@webrtc.org> > Reviewed-by: Patrik Höglund <phoglund@webrtc.org> > Reviewed-by: Brave Yao <braveyao@webrtc.org> > Cr-Commit-Position: refs/heads/master@{#25461} TBR=phoglund@webrtc.org,jamiewalch@chromium.org,niklas.enbom@webrtc.org,braveyao@webrtc.org,tomas.popela@gmail.com # Not skipping CQ checks because original CL landed > 1 day ago. NOPRESUBMIT=true Bug: chromium:682122, chromium:901319 Change-Id: I4ca5da77daea73cae1232953a0d633900a85a93d Reviewed-on: https://webrtc-review.googlesource.com/c/109584 Commit-Queue: Patrik Höglund <phoglund@webrtc.org> Reviewed-by: Patrik Höglund <phoglund@webrtc.org> Cr-Commit-Position: refs/heads/master@{#25522}
This commit is contained in:
committed by
Commit Bot
parent
82c07ea1da
commit
3ddaf3c408
@ -1,68 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2013 The WebRTC project authors. All Rights Reserved.
|
||||
*
|
||||
* Use of this source code is governed by a BSD-style license
|
||||
* that can be found in the LICENSE file in the root of the source
|
||||
* tree. An additional intellectual property rights grant can be found
|
||||
* in the file PATENTS. All contributing project authors may
|
||||
* be found in the AUTHORS file in the root of the source tree.
|
||||
*/
|
||||
|
||||
#include "modules/desktop_capture/linux/x_error_trap.h"
|
||||
|
||||
#include <assert.h>
|
||||
|
||||
#if defined(TOOLKIT_GTK)
|
||||
#include <gdk/gdk.h>
|
||||
#endif // !defined(TOOLKIT_GTK)
|
||||
|
||||
namespace webrtc {
|
||||
|
||||
namespace {
|
||||
|
||||
#if !defined(TOOLKIT_GTK)
|
||||
|
||||
// TODO(sergeyu): This code is not thread safe. Fix it. Bug 2202.
|
||||
static bool g_xserver_error_trap_enabled = false;
|
||||
static int g_last_xserver_error_code = 0;
|
||||
|
||||
int XServerErrorHandler(Display* display, XErrorEvent* error_event) {
|
||||
assert(g_xserver_error_trap_enabled);
|
||||
g_last_xserver_error_code = error_event->error_code;
|
||||
return 0;
|
||||
}
|
||||
|
||||
#endif // !defined(TOOLKIT_GTK)
|
||||
|
||||
} // namespace
|
||||
|
||||
XErrorTrap::XErrorTrap(Display* display)
|
||||
: original_error_handler_(NULL), enabled_(true) {
|
||||
#if defined(TOOLKIT_GTK)
|
||||
gdk_error_trap_push();
|
||||
#else // !defined(TOOLKIT_GTK)
|
||||
assert(!g_xserver_error_trap_enabled);
|
||||
original_error_handler_ = XSetErrorHandler(&XServerErrorHandler);
|
||||
g_xserver_error_trap_enabled = true;
|
||||
g_last_xserver_error_code = 0;
|
||||
#endif // !defined(TOOLKIT_GTK)
|
||||
}
|
||||
|
||||
int XErrorTrap::GetLastErrorAndDisable() {
|
||||
enabled_ = false;
|
||||
#if defined(TOOLKIT_GTK)
|
||||
return gdk_error_trap_push();
|
||||
#else // !defined(TOOLKIT_GTK)
|
||||
assert(g_xserver_error_trap_enabled);
|
||||
XSetErrorHandler(original_error_handler_);
|
||||
g_xserver_error_trap_enabled = false;
|
||||
return g_last_xserver_error_code;
|
||||
#endif // !defined(TOOLKIT_GTK)
|
||||
}
|
||||
|
||||
XErrorTrap::~XErrorTrap() {
|
||||
if (enabled_)
|
||||
GetLastErrorAndDisable();
|
||||
}
|
||||
|
||||
} // namespace webrtc
|
||||
Reference in New Issue
Block a user