[pulseaudio-discuss] [PATCH] modules: Disable timer scheduling for a2dp playback to reduce power consumption.
Alexander E. Patrakov
patrakov at gmail.com
Wed Oct 22 08:47:45 PDT 2014
05.08.2014 11:35, Sajeesh Sidharthan wrote:
> ---
> src/modules/bluetooth/module-bluez5-device.c | 8 ++++----
> 1 file changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/src/modules/bluetooth/module-bluez5-device.c b/src/modules/bluetooth/module-bluez5-device.c
> index 57b2791..eda7a9d 100644
> --- a/src/modules/bluetooth/module-bluez5-device.c
> +++ b/src/modules/bluetooth/module-bluez5-device.c
> @@ -1170,10 +1170,10 @@ static void thread_func(void *userdata) {
> a2dp_reduce_bitpool(u);
> }
> }
> -
> - do_write = 1;
> - pending_read_bytes = 0;
> }
> +
> + do_write = 1;
> + pending_read_bytes = 0;
> }
>
> if (writable && do_write > 0) {
> @@ -1208,7 +1208,7 @@ static void thread_func(void *userdata) {
> sleep_for = PA_USEC_PER_MSEC * 500;
>
> pa_rtpoll_set_timer_relative(u->rtpoll, sleep_for);
> - disable_timer = false;
> + /* disable_timer = false; *//* Disable timer to reduce power consumption */
> }
> }
> }
>
I have tested this patch.
Both with and without this patch, using Wine (which always requests
tlength=40.00 ms, minreq=10.00 ms unless patched with winepulse, which
is something that e.g. Arch does not do), I have:
I: [pulseaudio] protocol-native.c: Final latency 99.03 ms = 39.52 ms +
2*10.00 ms + 39.51 ms
Without this patch, Wine somehow marginally manages to work, with some
"Skipping 7119 us (= 1252 bytes) in audio stream" messages in the
pulseaudio log. With this patch, it just produces a lot of xruns.
--
Alexander E. Patrakov
More information about the pulseaudio-discuss
mailing list