mirror of
https://anongit.gentoo.org/git/repo/gentoo.git
synced 2025-12-21 02:42:18 +00:00
Selection of cherry-picks from the 1.4 branch. Adjust the 1.4.8 ebuild to not apply these, just 1.4.8-r1. Signed-off-by: Sam James <sam@gentoo.org>
54 lines
2.2 KiB
Diff
54 lines
2.2 KiB
Diff
https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/78937ee0ece9dc5f35c7bc6fa9fad3abe9b3eb9f
|
|
|
|
From 78937ee0ece9dc5f35c7bc6fa9fad3abe9b3eb9f Mon Sep 17 00:00:00 2001
|
|
From: Wim Taymans <wtaymans@redhat.com>
|
|
Date: Wed, 24 Sep 2025 12:36:13 +0200
|
|
Subject: [PATCH] adapter: fix Start of adapter
|
|
|
|
Commit cbbf37c3b8b6c77e111ab229c3315aadb9690bf9 changed the logic of the
|
|
Start command. Before this commit, when there was no converter, the
|
|
follower would always get the Start command. After the commit, the
|
|
follower would only get Start when previously Paused.
|
|
|
|
This however breaks when we set a format or buffers on the follower
|
|
without a converter because those actions might change the state of the
|
|
follower to Paused implicitly.
|
|
|
|
We should simply remove the started check here and always call Start on
|
|
the converter and follower, the implementations themselves will keep track
|
|
if anything needs to be done.
|
|
|
|
Fixes #4911
|
|
---
|
|
spa/plugins/audioconvert/audioadapter.c | 2 --
|
|
spa/plugins/videoconvert/videoadapter.c | 2 --
|
|
2 files changed, 4 deletions(-)
|
|
|
|
diff --git a/spa/plugins/audioconvert/audioadapter.c b/spa/plugins/audioconvert/audioadapter.c
|
|
index 2e42b6f432..b4535dd765 100644
|
|
--- a/spa/plugins/audioconvert/audioadapter.c
|
|
+++ b/spa/plugins/audioconvert/audioadapter.c
|
|
@@ -1013,8 +1013,6 @@ static int impl_node_send_command(void *object, const struct spa_command *comman
|
|
switch (SPA_NODE_COMMAND_ID(command)) {
|
|
case SPA_NODE_COMMAND_Start:
|
|
spa_log_debug(this->log, "%p: starting %d", this, this->started);
|
|
- if (this->started)
|
|
- return 0;
|
|
if ((res = negotiate_format(this)) < 0)
|
|
return res;
|
|
this->ready = true;
|
|
diff --git a/spa/plugins/videoconvert/videoadapter.c b/spa/plugins/videoconvert/videoadapter.c
|
|
index 5b101ff3d9..c901b99e6c 100644
|
|
--- a/spa/plugins/videoconvert/videoadapter.c
|
|
+++ b/spa/plugins/videoconvert/videoadapter.c
|
|
@@ -980,8 +980,6 @@ static int impl_node_send_command(void *object, const struct spa_command *comman
|
|
switch (SPA_NODE_COMMAND_ID(command)) {
|
|
case SPA_NODE_COMMAND_Start:
|
|
spa_log_debug(this->log, "%p: starting %d", this, this->started);
|
|
- if (this->started)
|
|
- return 0;
|
|
if ((res = negotiate_format(this)) < 0)
|
|
return res;
|
|
this->ready = true;
|
|
--
|
|
GitLab
|