summaryrefslogtreecommitdiff
path: root/media-video/pipewire/files/pipewire-0.3.59-filter-chain-alloc-port-data-handle.patch
diff options
context:
space:
mode:
Diffstat (limited to 'media-video/pipewire/files/pipewire-0.3.59-filter-chain-alloc-port-data-handle.patch')
-rw-r--r--media-video/pipewire/files/pipewire-0.3.59-filter-chain-alloc-port-data-handle.patch87
1 files changed, 0 insertions, 87 deletions
diff --git a/media-video/pipewire/files/pipewire-0.3.59-filter-chain-alloc-port-data-handle.patch b/media-video/pipewire/files/pipewire-0.3.59-filter-chain-alloc-port-data-handle.patch
deleted file mode 100644
index bd066e31af09..000000000000
--- a/media-video/pipewire/files/pipewire-0.3.59-filter-chain-alloc-port-data-handle.patch
+++ /dev/null
@@ -1,87 +0,0 @@
-https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/94a857550b566472e5ab51191e1b34098e5a9506
-
-From 94a857550b566472e5ab51191e1b34098e5a9506 Mon Sep 17 00:00:00 2001
-From: Wim Taymans <wtaymans@redhat.com>
-Date: Mon, 3 Oct 2022 09:44:32 +0200
-Subject: [PATCH] filter-chain: alloc port data per handle.
-
---- a/src/modules/module-filter-chain.c
-+++ b/src/modules/module-filter-chain.c
-@@ -1501,7 +1501,6 @@ static int load_node(struct graph *graph, struct spa_json *json)
- bool have_config = false;
- uint32_t i;
- int res;
-- float *data;
-
- while (spa_json_get_string(json, key, sizeof(key)) > 0) {
- if (spa_streq("type", key)) {
-@@ -1576,14 +1575,6 @@ static int load_node(struct graph *graph, struct spa_json *json)
- port->idx = i;
- port->external = SPA_ID_INVALID;
- port->p = desc->output[i];
-- if ((data = port->audio_data[i]) == NULL) {
-- data = calloc(1, MAX_SAMPLES * sizeof(float));
-- if (data == NULL) {
-- pw_log_error("cannot create port data: %m");
-- return -errno;
-- }
-- }
-- port->audio_data[i] = data;
- spa_list_init(&port->link_list);
- }
- for (i = 0; i < desc->n_control; i++) {
-@@ -1629,6 +1620,26 @@ static void node_cleanup(struct node *node)
- }
- }
-
-+static int port_ensure_data(struct port *port, uint32_t i)
-+{
-+ float *data;
-+ if ((data = port->audio_data[i]) == NULL) {
-+ data = calloc(1, MAX_SAMPLES * sizeof(float));
-+ if (data == NULL) {
-+ pw_log_error("cannot create port data: %m");
-+ return -errno;
-+ }
-+ }
-+ port->audio_data[i] = data;
-+ return 0;
-+}
-+
-+static void port_free_data(struct port *port, uint32_t i)
-+{
-+ free(port->audio_data[i]);
-+ port->audio_data[i] = NULL;
-+}
-+
- static void node_free(struct node *node)
- {
- uint32_t i, j;
-@@ -1636,7 +1647,7 @@ static void node_free(struct node *node)
- spa_list_remove(&node->link);
- for (i = 0; i < node->n_hndl; i++) {
- for (j = 0; j < node->desc->n_output; j++)
-- free(node->output_port[j].audio_data[i]);
-+ port_free_data(&node->output_port[j], i);
- }
- node_cleanup(node);
- descriptor_unref(node->desc);
-@@ -1688,6 +1699,8 @@ static int graph_instantiate(struct graph *graph)
-
- spa_list_for_each(link, &port->link_list, input_link) {
- struct port *peer = link->output;
-+ if ((res = port_ensure_data(peer, i)) < 0)
-+ goto error;
- pw_log_info("connect input port %s[%d]:%s %p",
- node->name, i, d->ports[port->p].name,
- peer->audio_data[i]);
-@@ -1696,6 +1709,8 @@ static int graph_instantiate(struct graph *graph)
- }
- for (j = 0; j < desc->n_output; j++) {
- port = &node->output_port[j];
-+ if ((res = port_ensure_data(port, i)) < 0)
-+ goto error;
- pw_log_info("connect output port %s[%d]:%s %p",
- node->name, i, d->ports[port->p].name,
- port->audio_data[i]);
-GitLab