<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    Hi Pali,<br>
    <br>
    <div class="moz-cite-prefix">On 17/05/2019 16:38, Pali Rohár wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:20190517143808.lrzfxjbpdlrlvxg7@pali">
      <pre class="moz-quote-pre" wrap="">On Friday 17 May 2019 16:26:30 Frédéric Danis wrote:
</pre>
      <blockquote type="cite">
        <pre class="moz-quote-pre" wrap="">Hi Pali,

On 17/05/2019 15:51, Pali Rohár wrote:
</pre>
        <blockquote type="cite">
          <pre class="moz-quote-pre" wrap="">On Friday 17 May 2019 15:45:10 Frédéric Danis wrote:
</pre>
          <blockquote type="cite">
            <pre class="moz-quote-pre" wrap="">This series of patch allows to manage the bandwidth used by an A2DP source
using SBC encoder by adding ability to change the bitpool dynamically during
runtime.
In a crowded environment this can allow to limit interference between source
and headphones.

This needs "Message API v2" patches from Georg Chini [1]

I am currently not sure in patch 2 where should occur the SBC bitpool apply.

Any comments appreciated.

[1] <a class="moz-txt-link-freetext" href="https://gitlab.freedesktop.org/pulseaudio/pulseaudio/merge_requests/51">https://gitlab.freedesktop.org/pulseaudio/pulseaudio/merge_requests/51</a>
</pre>
          </blockquote>
          <pre class="moz-quote-pre" wrap="">Hi! I would suggest to wait until my patches for extending A2DP codecs
is reviewed and merged. You can find them in email with subject
"[PATCH v10 00/11] Bluetooth A2DP codecs"
</pre>
        </blockquote>
        <pre class="moz-quote-pre" wrap="">
Tanu Kaskinen has already pointed them to me and I have a version using
them.
I've sent this RFC with minimal dependency on waiting patches to start
getting some feedback about it.
</pre>
      </blockquote>
      <pre class="moz-quote-pre" wrap="">
Ok.

</pre>
      <blockquote type="cite">
        <pre class="moz-quote-pre" wrap="">With your patches, I have to use the "SBC (Automatic Quality)" profile to be
able to change the SBC bitpool.
</pre>
      </blockquote>
      <pre class="moz-quote-pre" wrap="">
Ok.

</pre>
      <blockquote type="cite">
        <pre class="moz-quote-pre" wrap="">Do you know if there is a way to set it as preferred profile for new
connections?
</pre>
      </blockquote>
      <pre class="moz-quote-pre" wrap="">
So.. I do not think that "SBC (Automatic Quality)" should be used as
default/preferred profile.

Lot of people are complaining about bad quality of the bluetooth a2dp
implementation in linux... And the solution is to use SBC UHQ mode if is
available -- so to stop using SBC High Quality (and automatic quality).
In most cases SBC UHQ is possible to use only via DualChannel mode as
the highest possible bitpool value for JointStereo mode in most cases is
not enough for UHQ.</pre>
    </blockquote>
    <br>
    <div id="magicdomid580" class="ace-line"><span
        class="author-a-z81zaz90zgz68z2z69z430z88zz84zl07z88z">I
        understand your point of view, but my tests with SBC UHQ mode in
        an environment with interferences may increase sound quality but
        with audio dropouts. Which is not really better.</span></div>
    <br>
    <blockquote type="cite"
      cite="mid:20190517143808.lrzfxjbpdlrlvxg7@pali">
      <blockquote type="cite">
        <blockquote type="cite">
          <pre class="moz-quote-pre" wrap="">In this patch series is also big rework of SBC codec, to support e.g.
UHQ mode and your changes would introduce new conflicts with that patch
series.

Anyway, correct behavior of SBC codec in automatic mode should
automatically increase or decrease SBC bitpool based on available
bandwidth.
</pre>
        </blockquote>
        <pre class="moz-quote-pre" wrap="">
The idea should be to have an external application getting information
</pre>
      </blockquote>
      <pre class="moz-quote-pre" wrap="">
This is way to the hell.

</pre>
      <blockquote type="cite">
        <pre class="moz-quote-pre" wrap="">about
the radio environment like the number of Bluetooth devices (A2DP sources and
sinks, and other devices), link quality, WiFi usage, ... to be able to
dynamically change the bitpool to be used.
</pre>
      </blockquote>
      <pre class="moz-quote-pre" wrap="">
I do not think that this would work reliable even when implemented. Plus
having another external entity which would control internal settings of
A2DP transfer is the worst solution. People would just start more
complaining that subjective quality is not good. And debugging another
external application, or more figuring out how is configured would just
complicate many more things.</pre>
    </blockquote>
    <br>
    <div id="magicdomid522" class="ace-line"><span
        class="author-a-z81zaz90zgz68z2z69z430z88zz84zl07z88z">What I
        would like to achieve is to be able to control the SBC bitrate
        of up to 300 BT transmitters in a noisy and possibly RF
        perturbed environment, for which I can watch the statistics for
        dropouts, and if it gets too high, reduce the quality either
        globally, or across a physically-adjacent set of transmitters. I
        think this can not be achieved by an algorithm inside PA daemon.</span></div>
    <div id="magicdomid523" class="ace-line"><br>
    </div>
    <div id="magicdomid525" class="ace-line"><span
        class="author-a-z81zaz90zgz68z2z69z430z88zz84zl07z88z">I'm not
        intending to have "btsbcqualityd" running on everyone's desktop.<br>
        <br>
      </span>
    </div>
    <blockquote type="cite"
      cite="mid:20190517143808.lrzfxjbpdlrlvxg7@pali">
      <pre class="moz-quote-pre" wrap="">SBC bitpool indirectly specify SBC packet size. In my opinion bitpool
should be controlled directly by pulseaudio based on socket latency and
socket state, packet loss, how is kernel able to transmit packets...
</pre>
    </blockquote>
    <br>
    <div id="magicdomid535" class="ace-line"><span
        class="author-a-z81zaz90zgz68z2z69z430z88zz84zl07z88z">AFAIK
        there is not so many information available from the Bluetooth
        side regarding socket latency, packet loss, …</span></div>
    <div id="magicdomid367" class="ace-line"><br>
    </div>
    <div id="magicdomid365" class="ace-line"><span
        class="author-a-z81zaz90zgz68z2z69z430z88zz84zl07z88z">Fred</span></div>
  </body>
</html>