[pulseaudio-discuss] SBC XQ for PA 13.0

Andrey Semashev andrey.semashev at gmail.com
Sun Dec 8 18:19:46 UTC 2019

On 2019-12-08 21:00, Pali Rohár wrote:
> On Sunday 08 December 2019 20:40:09 Andrey Semashev wrote:
>> One other question regarding libfdk-aac. Would it be ok to try using it
>> through ffmpeg if it is built with it? If ffmpeg is compiled without
>> libfdk-aac then we would fall back to the built-in encoder.
>> This would allow people who build ffmpeg themselves to use libfdk-aac. On
>> the PA side, this would require very little change code-wise (it would not
>> introduce build dependency on libfdk-aac), most of the integration with
>> ffmpeg remains the same.
> Supported A2DP codecs needs to be know at pulseaudio compile time.
> So unsupported codecs are excluded from build. This is also needed to
> ensure that compile time flags make sense and prevent problems that user
> compiled pulseaudio with codec X, but X does not work because is not
> installed available in system. So in pulseaudio's ELF binary are
> correctly filled all libraries and its codecs via NEEDED flag (which is
> used for generating dependences for probably all package managers).

The configure script will verify that ffmpeg is available and supports 
AAC. Whether it is built with libfdk-aac or not is not important at this 
stage because the built-in AAC encoder is always available. The attempt 
to use libfdk-aac (through ffmpeg API) will be performed at run time, 
and if it fails, we will use the built-in encoder.

Package dependencies are not a problem, PA packages will depend on 
libavcodec (not on libfdk-aac). Which will most probably be a virtual 
package, which is provided by one of the variants of libavcodec. For 
example, on Debian systems there are libavcodec58 and libavcodec58-extra 
(the latter provides more codecs), and either of them can be installed 
by user to fulfill the dependency on libavcodec.

More information about the pulseaudio-discuss mailing list