summaryrefslogtreecommitdiffstats
path: root/meta-pipewire/recipes-multimedia/pipewire/pipewire/0002-pipewiresink-release-manually-acquired-buffers-back-.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta-pipewire/recipes-multimedia/pipewire/pipewire/0002-pipewiresink-release-manually-acquired-buffers-back-.patch')
-rw-r--r--meta-pipewire/recipes-multimedia/pipewire/pipewire/0002-pipewiresink-release-manually-acquired-buffers-back-.patch52
1 files changed, 0 insertions, 52 deletions
diff --git a/meta-pipewire/recipes-multimedia/pipewire/pipewire/0002-pipewiresink-release-manually-acquired-buffers-back-.patch b/meta-pipewire/recipes-multimedia/pipewire/pipewire/0002-pipewiresink-release-manually-acquired-buffers-back-.patch
deleted file mode 100644
index aeafae616..000000000
--- a/meta-pipewire/recipes-multimedia/pipewire/pipewire/0002-pipewiresink-release-manually-acquired-buffers-back-.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-From 8911e22793ed3713ceb78be5414eeb03ebde962e Mon Sep 17 00:00:00 2001
-From: George Kiagiadakis <george.kiagiadakis@collabora.com>
-Date: Mon, 10 May 2021 17:25:57 +0300
-Subject: pipewiresink: release manually acquired buffers back to the pool
-
-When we manually acquire buffers from the pool, we never release them.
-But because gst_buffer_pool_acquire_buffer() adds a reference to the pool,
-this leaks the pool eventually.
-
-To fix this, just unref the buffer after it has been sent. This releases
-it back to the pool and unrefs the pool.
-
-This has no significant effect to the stream, since the underlying
-pw buffers are actually pooled in the pw_stream. It just prevents leaking.
-
-Upstream-Status: Backport [from master/0.3.28]
----
- src/gst/gstpipewiresink.c | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/src/gst/gstpipewiresink.c b/src/gst/gstpipewiresink.c
-index 031b3ae0..2f79a4f7 100644
---- a/src/gst/gstpipewiresink.c
-+++ b/src/gst/gstpipewiresink.c
-@@ -578,6 +578,7 @@ gst_pipewire_sink_render (GstBaseSink * bsink, GstBuffer * buffer)
- GstPipeWireSink *pwsink;
- GstFlowReturn res = GST_FLOW_OK;
- const char *error = NULL;
-+ gboolean unref_buffer = FALSE;
-
- pwsink = GST_PIPEWIRE_SINK (bsink);
-
-@@ -620,6 +621,7 @@ gst_pipewire_sink_render (GstBaseSink * bsink, GstBuffer * buffer)
- gst_buffer_unmap (b, &info);
- gst_buffer_resize (b, 0, gst_buffer_get_size (buffer));
- buffer = b;
-+ unref_buffer = TRUE;
-
- pw_thread_loop_lock (pwsink->core->loop);
- if (pw_stream_get_state (pwsink->stream, &error) != PW_STREAM_STATE_STREAMING)
-@@ -628,6 +630,8 @@ gst_pipewire_sink_render (GstBaseSink * bsink, GstBuffer * buffer)
-
- GST_DEBUG ("push buffer");
- do_send_buffer (pwsink, buffer);
-+ if (unref_buffer)
-+ gst_buffer_unref (buffer);
-
- done_unlock:
- pw_thread_loop_unlock (pwsink->core->loop);
---
-2.30.2
-