[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