[pulseaudio-discuss] SBC XQ for PA 13.0

Andrey Semashev andrey.semashev at gmail.com
Sat Dec 7 19:13:28 UTC 2019


On 2019-12-07 21:30, Pali Rohár wrote:
> On Saturday 07 December 2019 21:09:04 Andrey Semashev wrote:
>> However, I can still hear compression artefacts on quiet or nearly silent
>> audio sections, which sound like high-pitch squeaking sounds. It can often
>> be heard on various music fade out sections. I don't know if this is
>> inherrent from SBC codec itself or is a deficiency of libsbc implementation,
>> or the headphones. These artefacts are my main complaint about SBC.
> 
> See very nice description about this problem https://habr.com/en/post/456182/
> Probably your headphones cripple audio by filters when SBC is used...

Yes, I've read that. That is the reason why I suspect the headphones 
might be the culprit, but I cannot be sure.

>> Which brings me to my question to PA developers. Would an addition of
>> support for AAC be possible?
> 
> My A2DP patch series brings new pulseaudio API for implementing new A2DP
> codecs. So yes, additional support for other A2DP codecs with my patch
> series is possible. My patch series contains support for aptX, aptX-HD
> and FastStream A2DP codecs.

Are your patches available in a PR or a git fork somewhere? If I'm going 
to give it a try to add support for AAC, how can I get the up to date PA 
version to develop against?

> But... you need a library for encoding and decoding that codec ...
> 
>> pulseaudio-modules-bt uses libfdk-aac to implement AAC, and if possible, I
>> would prefer that library as it provides the best quality available on
>> Linux. However, if licensing is an issue, there is also a built-in
>> implementation in ffmpeg.
> 
> FDK-AAC library is incompatible with any version of the GNU GPL license
> and therefore it is not possible to use it in any GPL licensed software,
> like pulseaudio. See: https://www.gnu.org/licenses/license-list.html#fdk

Well, incompatibility means the resulting binary is not redistributable. 
Users could still build PA with libfdk-aac locally. Or the library could 
be loaded dynamically, if present on the user's system, without having 
to link with it at build time.

> If there is other AAC library which license allows usage it in
> pulseaudio then it could be possible. Just somebody needs to write it.

The built-in implementation in ffmpeg is under LGPL 2.1, which should be 
compatible.


More information about the pulseaudio-discuss mailing list