[pulseaudio-discuss] Sample format spec with Linear 16bit 16kHz
georg at chini.tk
Fri Feb 16 09:58:31 UTC 2018
On 16.02.2018 10:42, Shinnosuke Suzuki wrote:
> I updated pulseaudio to 11.1.
> However, this problem was not improved.
> I tried to check 2 things.
> 1.I collect voice data from bluetooth headset using parec as follows:
> parec -r --rate=16000 --format=s16le --channels=1 > test.raw
> parec -r --rate=8000 --format=s16le --channels=1 > test.raw
> parec -r --rate=8000 --format=u8 --channels=1 > test.raw
> parec -r --rate=8000 --format=ulaw --channels=1 > test.raw
> 2.I tried to listen voice to bluetooth headset with pacat using each
> raw file.
> pacat -p --rate=16000 --format=s16le --channels=1 < test.raw
> pacat -p --rate=8000 --format=s16le --channels=1 < test.raw
> pacat -p --rate=8000 --format=u8 --channels=1 < test.raw
> pacat -p --rate=8000 --format=ulaw --channels=1 < test.raw
> I could collect voice packet with parec and listen voice with pacat,
> but CPU load is extremely high.
> 80% for 1. and 40% for 2.
> This means that CPU load exceed 100% when I handle both streams of
> bluetooth headset.
I believe simply adding the CPU utilization is not correct, as input and
output are handled
within the same thread.
Did you try to run both commands at the same time on different terminals?
It is a slow board and there is no configuration to reduce the CPU load,
so I am not
sure if it can handle the load. (I suspect that the high load is due to
the time smoother
in PA which is called for each BT packet, but I cannot prove it.)
Anyway, if it works with pacat (parec is just a link to pacat), it shows
that there must
be something wrong with your code. I did not yet have the time to look
at it, sorry.
One more comment: Please avoid top posting when replying to a mail.
More information about the pulseaudio-discuss