[arch-commits] Commit in chromium/trunk (2 files)
Evangelos Foutras
foutrelis at gemini.archlinux.org
Wed Oct 6 12:25:35 UTC 2021
Date: Wednesday, October 6, 2021 @ 12:25:34
Author: foutrelis
Revision: 425164
upgpkg: chromium 94.0.4606.71-2: fix for xdg-desktop-portal 1.10
Fix desktop sharing via Pipewire with xdg-desktop-portal 1.10.
https://crbug.com/webrtc/13192
Added:
chromium/trunk/pipewire-do-not-typecheck-the-portal-session_handle.patch
Modified:
chromium/trunk/PKGBUILD
-----------------------------------------------------------+
PKGBUILD | 7 +
pipewire-do-not-typecheck-the-portal-session_handle.patch | 44 ++++++++++++
2 files changed, 50 insertions(+), 1 deletion(-)
Modified: PKGBUILD
===================================================================
--- PKGBUILD 2021-10-06 09:34:55 UTC (rev 425163)
+++ PKGBUILD 2021-10-06 12:25:34 UTC (rev 425164)
@@ -5,7 +5,7 @@
pkgname=chromium
pkgver=94.0.4606.71
-pkgrel=1
+pkgrel=2
_launcher_ver=8
_gcc_patchset=3
pkgdesc="A web browser built for speed, simplicity, and security"
@@ -27,6 +27,7 @@
replace-blacklist-with-ignorelist.patch
add-a-TODO-about-a-missing-pnacl-flag.patch
use-ffile-compilation-dir.patch
+ pipewire-do-not-typecheck-the-portal-session_handle.patch
sql-make-VirtualCursor-standard-layout-type.patch
chromium-93-ffmpeg-4.4.patch
chromium-94-ffmpeg-roll.patch
@@ -38,6 +39,7 @@
'd3344ba39b8c6ed202334ba7f441c70d81ddf8cdb15af1aa8c16e9a3a75fbb35'
'd53da216538f2e741a6e048ed103964a91a98e9a3c10c27fdfa34d4692fdc455'
'921010cd8fab5f30be76c68b68c9b39fac9e21f4c4133bb709879592bbdf606e'
+ '1889d890ff512a8b82a0f88972e78c78131177d8034750ff53577dfad99b3e3e'
'dd317f85e5abfdcfc89c6f23f4c8edbcdebdd5e083dcec770e5da49ee647d150'
'1a9e074f417f8ffd78bcd6874d8e2e74a239905bf662f76a7755fa40dc476b57'
'56acb6e743d2ab1ed9f3eb01700ade02521769978d03ac43226dec94659b3ace'
@@ -116,6 +118,9 @@
patch -Rp1 -i ../add-a-TODO-about-a-missing-pnacl-flag.patch
patch -Rp1 -i ../use-ffile-compilation-dir.patch
+ # Fix desktop sharing via Pipewire with xdg-desktop-portal 1.10
+ patch -Np1 -d third_party/webrtc <../pipewire-do-not-typecheck-the-portal-session_handle.patch
+
# https://chromium-review.googlesource.com/c/chromium/src/+/2862724
patch -Np1 -i ../sql-make-VirtualCursor-standard-layout-type.patch
Added: pipewire-do-not-typecheck-the-portal-session_handle.patch
===================================================================
--- pipewire-do-not-typecheck-the-portal-session_handle.patch (rev 0)
+++ pipewire-do-not-typecheck-the-portal-session_handle.patch 2021-10-06 12:25:34 UTC (rev 425164)
@@ -0,0 +1,44 @@
+From 408e4da26f1b782005ab10307c83892055d7ef45 Mon Sep 17 00:00:00 2001
+From: Robert Mader <robert.mader at posteo.de>
+Date: Mon, 20 Sep 2021 15:15:31 +0200
+Subject: [PATCH] Pipewire: Do not typecheck the portal session_handle
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Desktop sharing via Pipewire will break for clients updating to
+xdg-desktop-portal 1.10 due to a bug fix in the API implementation[1].
+
+This ports over a fix from OBS Studio[2] that also is used in the
+downstream Firefox WebRTC copy[3].
+
+1: https://github.com/flatpak/xdg-desktop-portal/pull/609
+2: https://github.com/obsproject/obs-studio/pull/5294
+3: https://phabricator.services.mozilla.com/D126053
+Bug: webrtc:13192
+Change-Id: I497dd1bb53cc39dee3732c2e0014e2e36a7afb6c
+Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/232329
+Reviewed-by: Erik Språng <sprang at webrtc.org>
+Reviewed-by: Tommi <tommi at webrtc.org>
+Commit-Queue: Tommi <tommi at webrtc.org>
+Cr-Commit-Position: refs/heads/main@{#35153}
+---
+ modules/desktop_capture/linux/base_capturer_pipewire.cc | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/modules/desktop_capture/linux/base_capturer_pipewire.cc b/modules/desktop_capture/linux/base_capturer_pipewire.cc
+index 2d5e973..45229b2 100644
+--- a/modules/desktop_capture/linux/base_capturer_pipewire.cc
++++ b/modules/desktop_capture/linux/base_capturer_pipewire.cc
+@@ -801,8 +801,9 @@ void BaseCapturerPipeWire::OnSessionRequestResponseSignal(
+ Scoped<GVariant> response_data;
+ g_variant_get(parameters, "(u at a{sv})", &portal_response,
+ response_data.receive());
+- g_variant_lookup(response_data.get(), "session_handle", "s",
+- &that->session_handle_);
++ Scoped<GVariant> session_handle(
++ g_variant_lookup_value(response_data.get(), "session_handle", nullptr));
++ that->session_handle_ = g_variant_dup_string(session_handle.get(), nullptr);
+
+ if (!that->session_handle_ || portal_response) {
+ RTC_LOG(LS_ERROR)
More information about the arch-commits
mailing list