From 32c8de50db70ceaa4b5292518f84b49a5cdb5bc9 Mon Sep 17 00:00:00 2001 From: Stefano Ragni Date: Mon, 8 Feb 2021 11:50:11 +0100 Subject: [PATCH] pipewire: apply qjackctl fix from master --- ...0bea4167573d3d364e1a768605d11be241293.diff | 74 +++++++++++++++++++ srcpkgs/pipewire/template | 2 +- 2 files changed, 75 insertions(+), 1 deletion(-) create mode 100644 srcpkgs/pipewire/patches/3450bea4167573d3d364e1a768605d11be241293.diff diff --git a/srcpkgs/pipewire/patches/3450bea4167573d3d364e1a768605d11be241293.diff b/srcpkgs/pipewire/patches/3450bea4167573d3d364e1a768605d11be241293.diff new file mode 100644 index 00000000000..10cd090cce7 --- /dev/null +++ b/srcpkgs/pipewire/patches/3450bea4167573d3d364e1a768605d11be241293.diff @@ -0,0 +1,74 @@ +Fix https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/696 +diff --git a/pipewire-jack/src/pipewire-jack.c b/pipewire-jack/src/pipewire-jack.c +index 5163d4a5e287d076160ee01bb8c1c1aac73ff35c..a7ead586db3d682b7ae0e6ba0069fec98458d69b 100644 +--- pipewire-jack/src/pipewire-jack.c ++++ 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) + { diff --git a/srcpkgs/pipewire/template b/srcpkgs/pipewire/template index 50d32828a47..f327ea67fb2 100644 --- a/srcpkgs/pipewire/template +++ b/srcpkgs/pipewire/template @@ -1,7 +1,7 @@ # Template file for 'pipewire' pkgname=pipewire version=0.3.21 -revision=1 +revision=2 build_style=meson configure_args="-Dman=true -Dgstreamer=true -Ddocs=true -Dsystemd=false -Dbluez5=true -Dffmpeg=true -Dpipewire-alsa=true -Dpipewire-jack=true