pulseaudio/src/modules/bluetooth
Sanchayan Maity d61493640e bluetooth: Introduce a can_be_supported API for A2DP codecs
This API internally checks if a requested codec can be supported on the
system. This is especially required for codecs supported via GStreamer
where the availability of a plugin decides if the said codec can be
supported.

This will be used to prevent registration of a codec which the remote
endpoint device might be able to support, but, PulseAudio can't as the
codec is not available on the system due to the absence of a plugin.
We can also prevent listing or switching to an unavailable codec.

Note that the codec negotiation happens with the bluez stack even before
a device is connected. Because of this, we need to make sure that gst_init
is called before checking for the availability of a plugin. Since
module-bluez5-device gets loaded only after a connection to the device
has been established, doing the gst_init in that or one of the bluetooth
modules is not feasible.

Part-of: <https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/440>
2021-01-19 13:43:42 +05:30
..
a2dp-codec-api.h bluetooth: Introduce a can_be_supported API for A2DP codecs 2021-01-19 13:43:42 +05:30
a2dp-codec-aptx-gst.c bluetooth: Introduce a can_be_supported API for A2DP codecs 2021-01-19 13:43:42 +05:30
a2dp-codec-gst.c bluetooth: Introduce a can_be_supported API for A2DP codecs 2021-01-19 13:43:42 +05:30
a2dp-codec-gst.h bluetooth: Add a generic GStreamer codec module 2021-01-19 13:43:42 +05:30
a2dp-codec-ldac-gst.c bluetooth: Introduce a can_be_supported API for A2DP codecs 2021-01-19 13:43:42 +05:30
a2dp-codec-sbc.c bluetooth: Introduce a can_be_supported API for A2DP codecs 2021-01-19 13:43:42 +05:30
a2dp-codec-util.c bluetooth: Introduce a can_be_supported API for A2DP codecs 2021-01-19 13:43:42 +05:30
a2dp-codec-util.h bluetooth: Introduce a can_be_supported API for A2DP codecs 2021-01-19 13:43:42 +05:30
a2dp-codecs.h bluetooth: Update a2dp-codecs.h from upstream bluez project 2019-04-12 13:56:28 +03:00
backend-native.c bluez: Don't autodetect MTU by default 2017-09-18 18:49:34 +03:00
backend-ofono.c bluetooth: correct possible segmentation fault 2020-12-25 10:36:02 -05:00
bluez5-util.c bluetooth: Introduce a can_be_supported API for A2DP codecs 2021-01-19 13:43:42 +05:30
bluez5-util.h bluetooth: Support A2DP codec switching via messaging API 2021-01-19 13:43:42 +05:30
meson.build bluetooth: Add aptX support via GStreamer 2021-01-19 13:43:42 +05:30
module-bluetooth-discover.c bluetooth: Remove leftover references to the BlueZ 4/5 split 2018-07-27 11:28:11 +03:00
module-bluetooth-policy.c bluetooth: policy: Remove BlueZ 4 related code 2020-06-20 11:39:45 +02:00
module-bluez5-device.c bluetooth: Add support for getting current active codec 2021-01-19 13:43:42 +05:30
module-bluez5-discover.c bluetooth: Support A2DP codec switching via messaging API 2021-01-19 13:43:42 +05:30
rtp.h bluetooth: Fix usage of RTP structures in SBC codec 2019-07-24 17:29:45 +03:00