On 07.02.2017 15:28, Tanu Kaskinen wrote:
On Thu, 2017-02-02 at 11:29 +0100, Georg Chini wrote:
On 31.01.2017 14:51, Tanu Kaskinen wrote:
On Mon, 2017-01-30 at 17:35 +0100, Georg Chini wrote:
Hello,
in module-bluez5-device.c and module-bluez4-device.c, latencies for
bluetooth are defined as follows:
#define FIXED_LATENCY_PLAYBACK_A2DP (25 * PA_USEC_PER_MSEC)
#define FIXED_LATENCY_PLAYBACK_SCO (125 * PA_USEC_PER_MSEC)
#define FIXED_LATENCY_RECORD_A2DP (25 * PA_USEC_PER_MSEC)
#define FIXED_LATENCY_RECORD_SCO (25 * PA_USEC_PER_MSEC)
Is the fixed latency for SCO playback a mistake? Both headsets I own
report around 28 ms actual latency for the SCO sink, so I cannot
understand why the fixed latency is set to 125 ms. Should I send a
patch to correct it?
I don't know how Lennart came up with these numbers. How did you get
the latency report from the headset? AFAIK, the reason why these
constants exist is that we don't have a way to query the latency with
bluetooth, and reporting some latency is likely more accurate than
reporting zero latency.
Hi Tanu,
the values (plus one write block size) are passed to pulse via
pa_{sink,source}_set_fixed_latency_within_thread() calls.
So pacmd list-sinks shows a fixed latency of 128 ms for the
SCO sink.
When I use module-loopback, the latency of the sink reported
by pa_sink_get_latency() is 28 ms however, similar to what I
get for A2DP.
Since all other fixed latencies are at 25 ms and this is also set
for SCO recording, I think that the 125 is just a typo.
If you agree, I would send a patch to correct it.
I thought that the latency constants would be included in the value
that get_latency() reports, but apparently that's only true for A2DP in
module-bluez4-device (which I believe you're still using). In module-
bluez5-device the fixed latency is added to all reports.
I'm fine with changing the constant from 125 ms to 25 ms, it may very
well be a typo.
Hi Tanu,
I am using bluez5 and I just tested it again to make sure - at least
pa_sink_get_latency_within_thread() returns a value of around 28 ms
and also pacmd list-sinks returns similar values although the fixed
latency is set to 128 ms. Here the output of pacmd list-sinks:
index: 3
name: <bluez_sink.0C_E0_E4_31_23_2D.headset_head_unit>
driver: <module-bluez5-device.c>
flags: HARDWARE HW_VOLUME_CTRL LATENCY
state: RUNNING
suspend cause:
priority: 9030
volume: mono: 65536 / 100%
balance 0,00
base volume: 65536 / 100%
volume steps: 16
muted: no
current latency: 32,60 ms
max request: 0 KiB
max rewind: 0 KiB
monitor source: 6
sample spec: s16le 1ch 8000Hz
channel map: mono
Mono
used by: 1
linked by: 1
fixed latency: 128,00 ms
I already sent a patch last weekend.
Regards
Georg
_______________________________________________
pulseaudio-discuss mailing list
pulseaudio-discuss@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/pulseaudio-discuss