[pulseaudio-discuss] Couldn't set Buffer size for Bluetooth Audio
Tanu Kaskinen
tanuk at iki.fi
Sat Dec 9 07:07:05 UTC 2017
On Wed, 2017-12-06 at 20:07 +0900, Shinnosuke Suzuki wrote:
> Hi,
>
> I'm writing a phone application with bluetooth headset using pulseaudio api.
> I could create record/playback stream using asynchronous api.
>
> I got media packet from stream callback for record.
> In this function, I got 96 byte media packet by pa_stream_peek() in stream
> callback.
> I expected 320 bytes, because sample format is as follows:
> static pa_sample_spec sample_spec = {
> .format = PA_SAMPLE_S16LE,
> .rate = 16000,
> .channels = 1
> };
I don't understand why you think these parameters would mean that you
get 320 byte packets.
> I have to send media packet from bluetooth headset to DSP in my board
> by 320 bytes each.
>
> Is there any way to set media packet size with fix value like 320 bytes?
I don't think there is. You can set the maximum block size with
pa_buffer_attr.fragsize, but I think that won't help if the source is
creating smaller blocks.
> Or Do I have to write program packing the media packet with fixed value
> in the stream callback?
I'm not sure what you mean. If you must write 320 bytes at a time and
pulseaudio is giving you only 96 bytes at a time, then you'll have to
buffer the data and wait until you've received enough.
--
Tanu
https://www.patreon.com/tanuk
More information about the pulseaudio-discuss
mailing list