diff --git a/0001-pulse-server-actually-fill-in-the-maxlenght-and-frag.patch b/0001-pulse-server-actually-fill-in-the-maxlenght-and-frag.patch new file mode 100644 index 0000000..8f9823c --- /dev/null +++ b/0001-pulse-server-actually-fill-in-the-maxlenght-and-frag.patch @@ -0,0 +1,27 @@ +From 20008b4846f4c86e6d6641c95045cd8360eebcfc Mon Sep 17 00:00:00 2001 +From: Wim Taymans +Date: Thu, 4 Feb 2021 14:53:28 +0100 +Subject: [PATCH 1/2] pulse-server: actually fill in the maxlenght and + fragsize.. + +--- + src/modules/module-protocol-pulse/pulse-server.c | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/src/modules/module-protocol-pulse/pulse-server.c b/src/modules/module-protocol-pulse/pulse-server.c +index 40ec4f830..55fa88d3c 100644 +--- a/src/modules/module-protocol-pulse/pulse-server.c ++++ b/src/modules/module-protocol-pulse/pulse-server.c +@@ -1243,6 +1243,9 @@ static int reply_create_record_stream(struct stream *stream) + + snprintf(latency, sizeof(latency), "%u/%u", lat.num, lat.denom); + ++ snprintf(attr_maxlength, sizeof(attr_maxlength), "%u", stream->attr.maxlength); ++ snprintf(attr_fragsize, sizeof(attr_fragsize), "%u", stream->attr.fragsize); ++ + items[0] = SPA_DICT_ITEM_INIT(PW_KEY_NODE_LATENCY, latency); + items[1] = SPA_DICT_ITEM_INIT("pulse.attr.maxlength", attr_maxlength); + items[2] = SPA_DICT_ITEM_INIT("pulse.attr.fragsize", attr_fragsize); +-- +2.26.2 + diff --git a/0002-jack-implement-some-missing-methods.patch b/0002-jack-implement-some-missing-methods.patch new file mode 100644 index 0000000..16046ce --- /dev/null +++ b/0002-jack-implement-some-missing-methods.patch @@ -0,0 +1,86 @@ +From 3450bea4167573d3d364e1a768605d11be241293 Mon Sep 17 00:00:00 2001 +From: Wim Taymans +Date: Thu, 4 Feb 2021 15:48:36 +0100 +Subject: [PATCH 2/2] jack: implement some missing methods + +to make qjackctl 0.9.0 work +--- + pipewire-jack/src/pipewire-jack.c | 55 ++++++++++++++++++++++++++++++- + 1 file changed, 54 insertions(+), 1 deletion(-) + +diff --git a/pipewire-jack/src/pipewire-jack.c b/pipewire-jack/src/pipewire-jack.c +index 5163d4a5e..a7ead586d 100644 +--- a/pipewire-jack/src/pipewire-jack.c ++++ b/pipewire-jack/src/pipewire-jack.c +@@ -4719,7 +4719,12 @@ int jack_session_reply (jack_client_t *client, + SPA_EXPORT + void jack_session_event_free (jack_session_event_t *event) + { +- pw_log_warn("not implemented"); ++ if (event) { ++ free((void *)event->session_dir); ++ free((void *)event->client_uuid); ++ free(event->command_line); ++ free(event); ++ } + } + + SPA_EXPORT +@@ -4732,6 +4737,54 @@ char *jack_client_get_uuid (jack_client_t *client) + return spa_aprintf("%"PRIu64, client_make_uuid(c->node_id)); + } + ++SPA_EXPORT ++jack_session_command_t *jack_session_notify ( ++ jack_client_t* client, ++ const char *target, ++ jack_session_event_type_t type, ++ const char *path) ++{ ++ struct client *c = (struct client *) client; ++ spa_return_val_if_fail(c != NULL, NULL); ++ pw_log_warn("not implemented"); ++ return NULL; ++} ++ ++SPA_EXPORT ++void jack_session_commands_free (jack_session_command_t *cmds) ++{ ++ int i; ++ if (cmds == NULL) ++ return; ++ ++ for (i = 0; cmds[i].uuid != NULL; i++) { ++ free((char*)cmds[i].client_name); ++ free((char*)cmds[i].command); ++ free((char*)cmds[i].uuid); ++ } ++ free(cmds); ++} ++ ++SPA_EXPORT ++int jack_reserve_client_name (jack_client_t *client, ++ const char *name, ++ const char *uuid) ++{ ++ struct client *c = (struct client *) client; ++ spa_return_val_if_fail(c != NULL, -1); ++ pw_log_warn("not implemented"); ++ return 0; ++} ++ ++SPA_EXPORT ++int jack_client_has_session_callback (jack_client_t *client, const char *client_name) ++{ ++ struct client *c = (struct client *) client; ++ spa_return_val_if_fail(c != NULL, -1); ++ return 0; ++} ++ ++ + SPA_EXPORT + int jack_client_real_time_priority (jack_client_t * client) + { +-- +2.26.2 + diff --git a/pipewire.spec b/pipewire.spec index a3416a4..edecf0a 100644 --- a/pipewire.spec +++ b/pipewire.spec @@ -8,7 +8,7 @@ %global libversion %{soversion}.%(bash -c '((intversion = (%{minorversion} * 100) + %{microversion})); echo ${intversion}').0 # For rpmdev-bumpspec and releng automation -%global baserelease 1 +%global baserelease 2 #global snapdate 20210107 #global gitcommit b17db2cebc1a5ab2c01851d29c05f79cd2f262bb @@ -52,6 +52,8 @@ Source0: https://gitlab.freedesktop.org/pipewire/pipewire/-/archive/%{version}/p %endif ## upstream patches +Patch0: 0001-pulse-server-actually-fill-in-the-maxlenght-and-frag.patch +Patch1: 0002-jack-implement-some-missing-methods.patch ## upstreamable patches @@ -399,6 +401,10 @@ systemctl --no-reload preset --global pipewire.socket >/dev/null 2>&1 || : %endif %changelog +* Thu Feb 04 2021 Wim Taymans - 0.3.21-2 +- Add some upstream patches +- Fixes rhbz#1925138 + * Wed Feb 03 2021 Wim Taymans - 0.3.21-1 - Update to 0.3.21