summaryrefslogtreecommitdiffstats
path: root/meta-pipewire/recipes-multimedia/pipewire/pipewire/0016-a2dpsink-fix-infinite-loop-when-buffer-could-not-be-.patch
diff options
context:
space:
mode:
authorGeorge Kiagiadakis <george.kiagiadakis@collabora.com>2019-09-02 17:33:03 +0300
committerScott Murray <scott.murray@konsulko.com>2019-09-04 00:44:08 +0000
commitd372ad9bb2ca1ab64bec7eb5b5e6adcd739cf337 (patch)
tree66fc45ee7451339a7909e7287c6932f79cd2b0f8 /meta-pipewire/recipes-multimedia/pipewire/pipewire/0016-a2dpsink-fix-infinite-loop-when-buffer-could-not-be-.patch
parent14a240cc44d6f72bca6b389b00efc5e07ef465cf (diff)
pipewire: add patches for bluetooth support
Bug-AGL: SPEC-2792 Change-Id: Ida682a405c4cc5d2f84a98cb71f89a7bb41ad489 Signed-off-by: George Kiagiadakis <george.kiagiadakis@collabora.com> (cherry picked from commit c0eaa62e6fafd0b4cc057c0089ff110426bfde25)
Diffstat (limited to 'meta-pipewire/recipes-multimedia/pipewire/pipewire/0016-a2dpsink-fix-infinite-loop-when-buffer-could-not-be-.patch')
-rw-r--r--meta-pipewire/recipes-multimedia/pipewire/pipewire/0016-a2dpsink-fix-infinite-loop-when-buffer-could-not-be-.patch32
1 files changed, 32 insertions, 0 deletions
diff --git a/meta-pipewire/recipes-multimedia/pipewire/pipewire/0016-a2dpsink-fix-infinite-loop-when-buffer-could-not-be-.patch b/meta-pipewire/recipes-multimedia/pipewire/pipewire/0016-a2dpsink-fix-infinite-loop-when-buffer-could-not-be-.patch
new file mode 100644
index 00000000..d747a7a9
--- /dev/null
+++ b/meta-pipewire/recipes-multimedia/pipewire/pipewire/0016-a2dpsink-fix-infinite-loop-when-buffer-could-not-be-.patch
@@ -0,0 +1,32 @@
+From c186e40905f78f41cbc015da0e204735a0398450 Mon Sep 17 00:00:00 2001
+From: Julian Bouzas <julian.bouzas@collabora.com>
+Date: Fri, 19 Jul 2019 08:38:21 -0400
+Subject: [PATCH] a2dpsink: fix infinite loop when buffer could not be encoded
+
+Upstream-Status: Backport [4b202b965665bbcb55194b4ab827984e5804e3e0]
+---
+ spa/plugins/bluez5/a2dp-sink.c | 7 ++++++-
+ 1 file changed, 6 insertions(+), 1 deletion(-)
+
+diff --git a/spa/plugins/bluez5/a2dp-sink.c b/spa/plugins/bluez5/a2dp-sink.c
+index 731577e5..d6d9e7d6 100644
+--- a/spa/plugins/bluez5/a2dp-sink.c
++++ b/spa/plugins/bluez5/a2dp-sink.c
+@@ -558,8 +558,13 @@ static int flush_data(struct impl *this, uint64_t now_time)
+ n_bytes = add_data(this, src + offs, l0);
+ if (n_bytes > 0 && l1 > 0)
+ n_bytes += add_data(this, src, l1);
+- if (n_bytes <= 0)
++ if (n_bytes <= 0) {
++ spa_list_remove(&b->link);
++ b->outstanding = true;
++ spa_node_call_reuse_buffer(&this->callbacks, 0, b->id);
++ port->ready_offset = 0;
+ break;
++ }
+
+ n_frames = n_bytes / port->frame_size;
+
+--
+2.23.0.rc1
+