summaryrefslogtreecommitdiffstats
path: root/meta-pipewire/recipes-multimedia/pipewire/pipewire/0007-gst-pwaudioringbuffer-set-node.latency-to-get-schedu.patch
blob: 1f542cb4213ddf29b448ecbb2a4d7f244997f534 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
From 3357a7d5bfb32a26f6c4fd3df2ea3a8f04f20770 Mon Sep 17 00:00:00 2001
From: George Kiagiadakis <george.kiagiadakis@collabora.com>
Date: Tue, 20 Aug 2019 18:33:35 +0300
Subject: [PATCH] gst: pwaudioringbuffer: set node.latency to get scheduled
 correctly in capture mode

Upstream-Status: Denied
See https://gitlab.freedesktop.org/pipewire/pipewire/merge_requests/140
---
 src/gst/gstpwaudioringbuffer.c | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/src/gst/gstpwaudioringbuffer.c b/src/gst/gstpwaudioringbuffer.c
index 3efec6ec..8136b815 100644
--- a/src/gst/gstpwaudioringbuffer.c
+++ b/src/gst/gstpwaudioringbuffer.c
@@ -402,11 +402,9 @@ gst_pw_audio_ring_buffer_acquire (GstAudioRingBuffer *buf,
 
   /* construct param & props objects */
 
+  props = pw_properties_new (NULL, NULL);
   if (self->props->properties) {
-    props = pw_properties_new (NULL, NULL);
     gst_structure_foreach (self->props->properties, copy_properties, props);
-  } else {
-    props = NULL;
   }
 
   spa_pod_builder_init (&b, buffer, sizeof (buffer));
@@ -423,6 +421,9 @@ gst_pw_audio_ring_buffer_acquire (GstAudioRingBuffer *buf,
   self->rate = GST_AUDIO_INFO_RATE (&spec->info);
   self->segoffset = 0;
 
+  pw_properties_setf(props, PW_KEY_NODE_LATENCY, "%u/%u",
+      self->segsize / self->bpf, self->rate);
+
   /* connect stream */
 
   pw_thread_loop_lock (self->main_loop);
-- 
2.24.0