<div dir="ltr"><div><div>Hi, Thank you for prompt reply.<br></div><div><br>> Can't you use a newer version? We are at 11.1 already and the<br>> bluetooth code has changed significantly.<br>


<br></div>I hope to do so, but I am developing on a embedded system (linux kernel 3.10.49 Openwrt).<br></div>And I use BlueZ 5.30.<br><div><div><div class="gmail_extra">If pulseaudio 11.1 doesn't depend on kernel version, I would like to install 
pulseaudio 11.1.<br></div><div class="gmail_extra">Does it any dependency on this?<br></div><div class="gmail_extra"><br>
> When you record from the BT headset, the BT headset is set to HSP/HFP.<br>



This means that recording and playback stream are at 8kHz, not 16kHz.<br>



Pulseaudio only supports CVSD codec, not mSBC.<br>


<br></div><div class="gmail_extra">Thank you, I understand what codec pulseaudio uses.<br>So pulseaudio convert codec like this?<br> My app <- Linear 16bit 16kHz <- Pulseaudio  <-  CVSD codec ( 8kHz?) <- Bluetooth Headset<br></div><div class="gmail_extra">


My application want to use a 
Linear 16bit 16kHz

because of a DSP spec.<br></div><div class="gmail_extra">From your point out, Do I have to set a sample format to PA_SAMPLE_U8?<br></div><div class="gmail_extra">If so, Do I have to convert voice packet which I get from callback from 8kHz to 16kHz?<br></div><div class="gmail_extra">I thought pulseaudio do this.<br>
And I could get a voice data by 96byte per 10ms.<br></div><div class="gmail_extra">If stream is 8kHz, What codec could get in My app? PCM 8bit?<br></div><div class="gmail_extra">I couldn't understand why My app get 96byte per 10ms.<br></div><div class="gmail_extra"><br>
>resample-method=trivial might result in bad audio quality.<br></div><div class="gmail_extra">


I did set because CPU load is extremely high. I don't know why CPU load is high.<br>So CPU load becomes low, I'll change configuration file.<br></div><div class="gmail_extra"><br></div><div class="gmail_extra">Best Regards,<br></div><div class="gmail_extra">Shinnosuke Suzuki<br><div class="gmail_quote"><br>Date: Thu, 8 Feb 2018 13:24:49 +0100<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
From: Georg Chini <<a href="mailto:georg@chini.tk">georg@chini.tk</a>><br>
To: General PulseAudio Discussion<br>
        <<a href="mailto:pulseaudio-discuss@lists.freedesktop.org">pulseaudio-discuss@lists.<wbr>freedesktop.org</a>>,  Shinnosuke Suzuki<br>
        <<a href="mailto:suzukisn@gmail.com">suzukisn@gmail.com</a>><br>
Subject: Re: [pulseaudio-discuss] Sample format spec with Linear 16bit<br>
        16kHz<br>
Message-ID: <<a href="mailto:3ba83b18-c006-bf24-7f84-7ebeac5fbba5@chini.tk">3ba83b18-c006-bf24-7f84-<wbr>7ebeac5fbba5@chini.tk</a>><br>
Content-Type: text/plain; charset=utf-8; format=flowed<br>
<br>
On 08.02.2018 12:06, Shinnosuke Suzuki wrote:<br>
> Hi<br>
><br>
> I am developing a phone app using pulseaudio 6.0 with asynchronous API<br>
> using Bluetooth Headset.<br>
<br>
Can't you use a newer version? We are at 11.1 already and the<br>
bluetooth code has changed significantly.<br>
<br>
><br>
> I create a record stream with pa_stream_new() with this parameter.<br>
>  static pa_sample_spec samplespec = {<br>
>      .format = PA_SAMPLE_S16LE, /* Linear 16bit */<br>
>      .rate = 16000, /* 16000Hz */<br>
>      .channels = 1 /* mono */<br>
>  }<br>
> And I set a callback function by pa_stream_set_read_callback().<br>
> After the stream created, I could get a voice data by 96byte per 10ms<br>
> in this callback.I checked a log with clock_gettime() in this callback.<br>
><br>
> I think I get voice packet by 320Byte per 10ms.<br>
> 16000Hz * 1 * 16bit = 256kbps = 32KBps<br>
> This means that I can get 320Byte per 10ms.<br>
> So I need to get 320Byte per 10ms.<br>
><br>
> I set sample format above, but I got different voice packet from callback.<br>
> I would like to get a voice with Linear 16bit 16kHz mono.<br>
> Is there additional configuration to this codec?<br>
><br>
> For confirmation, when I use a bluetooth headset, Is this correct the<br>
> pulseaudio convert codec from SBC to Linear as follows?<br>
> My app <- Linear 16bit 16kHz <- Pulseaudio  <- SBC codec <- Bluetooth<br>
> Headset<br>
<br>
When you record from the BT headset, the BT headset is set to HSP/HFP.<br>
This means that recording and playback stream are at 8kHz, not 16kHz.<br>
Pulseaudio only supports CVSD codec, not mSBC.<br>
<br>
><br>
> And addition to that, After stream connected, CPU load for pulseaudio<br>
> rose up 50%-60%.CPU load for MyAPP rose up 20%-30%.<br>
> In order to reduce CPU load, I conigure as follows:<br>
>  high-priority = no<br>
>  realtime-scheduling = no<br>
>  resample-method=trivial<br>
><br>
resample-method=trivial might result in bad audio quality.<br>
<br>
<br></blockquote></div></div></div></div></div>