[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