Merged update from upstream sources

This is an automated DistroBaker update from upstream sources.
If you do not know what this is about or would like to opt out,
contact the OSCI team.

Source: https://src.fedoraproject.org/rpms/pipewire.git#e5b2cea4d6202a2e64d4badbdf26d29bbcc6b46b
This commit is contained in:
DistroBaker 2020-11-04 15:45:23 +00:00
parent f7f6f6badf
commit d89e5e5992
2 changed files with 52 additions and 1 deletions

View 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

View File

@ -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