Hi > PA 11.1 should work fine with your kernel and bluez version. Thank you, Iâ??ll try that. >>> When you record from the BT headset, the BT headset is set to HSP/HFP. >>> This means that recording and playback stream are at 8kHz, not 16kHz. I want to handle voice packet as Linear 16bit little endian 16000Hz, I configure stream as follows. static pa_sample_spec samplespec = { .format = PA_SAMPLE_S16LE, /* Linear 16bit */ .rate = 16000, /* 16000Hz */ .channels = 1 /* mono */ } Does it means .rate should be 8000? > You should not expect to get a fixed number of bytes in a fixed time > interval. This is only true on average but not for a single callback. Are > the 96 bytes an average value? > If your application needs constant size data packets, you may have to > buffer some data. > Did you take a look at the pacat code to see how reading data from > a stream is done correctly? I donâ??t expect fixed number of bytes. So, I implemented to buffer voice packets in read callback. However I got voice packet on my callback at 96 bytes per 10ms constantly. It means I couldnâ??t get sufficient voice packet because voice packet needs at least 320bytes per 10ms in case of Linear 16bit little endian 16000Hz. I read pacat how to handle voice packet in read callback. I implemented like pacat except silence hole using pa_silence_memory(). > Did you test other resample methods? There are quite a few available > and "trivial" is definitely the worst of them. No I didnâ??t. Iâ??ll change the coniguration. Best Regards, Shinnosuke Suzuki. > Date: Fri, 9 Feb 2018 08:42:39 +0100 > From: Georg Chini <georg at chini.tk> > To: General PulseAudio Discussion > <pulseaudio-discuss at lists.freedesktop.org>, Shinnosuke Suzuki > <suzukisn at gmail.com> > Subject: Re: [pulseaudio-discuss] Sample format spec with Linear 16bit > 16kHz > Message-ID: <c16ab184-45a0-9401-523d-009d1e9dd33f at chini.tk> > Content-Type: text/plain; charset=utf-8; format=flowed > > On 09.02.2018 07:17, Shinnosuke Suzuki wrote: >> Sorry, I didn't change the Subject. >> >> Hi, Thank you for prompt reply. >> >>> Can't you use a newer version? We are at 11.1 already and the >>> bluetooth code has changed significantly. >> >> I hope to do so, but I am developing on a embedded system (linux >> kernel 3.10.49 Openwrt). >> And I use BlueZ 5.30. >> If pulseaudio 11.1 doesn't depend on kernel version, I would like to >> install pulseaudio 11.1. >> Does it any dependency on this? > > PA 11.1 should work fine with your kernel and bluez version. > >> >>> When you record from the BT headset, the BT headset is set to HSP/HFP. >>> This means that recording and playback stream are at 8kHz, not 16kHz. >>> Pulseaudio only supports CVSD codec, not mSBC. >> >> Thank you, I understand what codec pulseaudio uses. >> So pulseaudio convert codec like this? >> My app <- Linear 16bit 16kHz <- Pulseaudio <- CVSD codec ( 8kHz?) >> <- Bluetooth Headset >> My application want to use a Linear 16bit 16kHz because of a DSP spec. >> From your point out, Do I have to set a sample format to PA_SAMPLE_U8? >> If so, Do I have to convert voice packet which I get from callback >> from 8kHz to 16kHz? >> I thought pulseaudio do this. > > yes, PA will do the re-sampling. > >> And I could get a voice data by 96byte per 10ms. >> If stream is 8kHz, What codec could get in My app? PCM 8bit? >> I couldn't understand why My app get 96byte per 10ms. > > You should not expect to get a fixed number of bytes in a fixed time > interval. This is only true on average but not for a single callback. Are > the 96 bytes an average value? > If your application needs constant size data packets, you may have to > buffer some data. > Did you take a look at the pacat code to see how reading data from > a stream is done correctly? > >> >>> resample-method=trivial might result in bad audio quality. >> I did set because CPU load is extremely high. I don't know why CPU >> load is high. >> So CPU load becomes low, I'll change configuration file. > > Did you test other resample methods? There are quite a few available > and "trivial" is definitely the worst of them. -------------- next part -------------- An HTML attachment was scrubbed... URL: <https://lists.freedesktop.org/archives/pulseaudio-discuss/attachments/20180210/03bdf44a/attachment.html>