Add patch to fix screen sharing for old clients
This commit is contained in:
parent
4579fc9e52
commit
e5b2cea4d6
45
0001-protocol-native-do-version-check-on-HELLO.patch
Normal file
45
0001-protocol-native-do-version-check-on-HELLO.patch
Normal file
@ -0,0 +1,45 @@
|
||||
From b8c7b36d3b8be16593f554964cf2f852c21b5c2c Mon Sep 17 00:00:00 2001
|
||||
From: Wim Taymans <wtaymans@redhat.com>
|
||||
Date: Wed, 4 Nov 2020 16:12:25 +0100
|
||||
Subject: [PATCH] protocol-native: do version check on HELLO
|
||||
|
||||
Always do the version check on HELLO because the connection could
|
||||
have been moved from a v3 portal to a v0 client (like chrome)
|
||||
|
||||
Fixes #270
|
||||
---
|
||||
src/modules/module-protocol-native/connection.c | 4 +---
|
||||
1 file changed, 1 insertion(+), 3 deletions(-)
|
||||
|
||||
diff --git a/src/modules/module-protocol-native/connection.c b/src/modules/module-protocol-native/connection.c
|
||||
index 84fad68f..1807833a 100644
|
||||
--- a/src/modules/module-protocol-native/connection.c
|
||||
+++ b/src/modules/module-protocol-native/connection.c
|
||||
@@ -72,7 +72,6 @@ struct impl {
|
||||
|
||||
uint32_t version;
|
||||
size_t hdr_size;
|
||||
- unsigned int checked:1;
|
||||
};
|
||||
|
||||
/** \endcond */
|
||||
@@ -319,7 +318,7 @@ static int prepare_packet(struct pw_protocol_native_connection *conn, struct buf
|
||||
buf->msg.opcode = p[1] >> 24;
|
||||
len = p[1] & 0xffffff;
|
||||
|
||||
- if (!impl->checked) {
|
||||
+ if (buf->msg.id == 0 && buf->msg.opcode == 1) {
|
||||
if (p[3] >= 4) {
|
||||
pw_log_warn("old version detected");
|
||||
impl->version = 0;
|
||||
@@ -331,7 +330,6 @@ static int prepare_packet(struct pw_protocol_native_connection *conn, struct buf
|
||||
spa_hook_list_call(&conn->listener_list,
|
||||
struct pw_protocol_native_connection_events,
|
||||
start, 0, impl->version);
|
||||
- impl->checked = 1;
|
||||
}
|
||||
if (impl->version >= 3) {
|
||||
buf->msg.seq = p[2];
|
||||
--
|
||||
2.26.2
|
||||
|
||||
@ -29,7 +29,7 @@
|
||||
Name: pipewire
|
||||
Summary: Media Sharing Server
|
||||
Version: %{majorversion}.%{minorversion}.%{microversion}
|
||||
Release: 1%{?snap:.%{snap}git%{shortcommit}}%{?dist}
|
||||
Release: 2%{?snap:.%{snap}git%{shortcommit}}%{?dist}
|
||||
License: MIT
|
||||
URL: https://pipewire.org/
|
||||
%if 0%{?gitrel}
|
||||
@ -41,6 +41,7 @@ Source0: https://gitlab.freedesktop.org/pipewire/pipewire/-/archive/%{version}/p
|
||||
%endif
|
||||
|
||||
## upstream patches
|
||||
Patch0: 0001-protocol-native-do-version-check-on-HELLO.patch
|
||||
|
||||
## upstreamable patches
|
||||
|
||||
@ -217,6 +218,8 @@ This package provides a PulseAudio implementation based on PipeWire
|
||||
%prep
|
||||
%setup -q -T -b0 -n %{name}-%{version}%{?gitrel:-%{gitrel}-g%{shortcommit}}
|
||||
|
||||
%patch0 -p1 -b .0000
|
||||
|
||||
%build
|
||||
%meson \
|
||||
-D docs=true -D man=true -D gstreamer=true -D systemd=true \
|
||||
@ -412,6 +415,9 @@ systemctl --no-reload preset --global pipewire.socket >/dev/null 2>&1 || :
|
||||
%endif
|
||||
|
||||
%changelog
|
||||
* Wed Nov 4 2020 Wim Taymans <wtaymans@redhat.com> - 0.3.15-2
|
||||
- Add patch to fix screen sharing for old clients
|
||||
|
||||
* Wed Nov 4 2020 Wim Taymans <wtaymans@redhat.com> - 0.3.15-1
|
||||
- Update to 0.3.15
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user