diff --git a/audio/aidl/default/Android.bp b/audio/aidl/default/Android.bp index 7b96293e41..949b654cd3 100644 --- a/audio/aidl/default/Android.bp +++ b/audio/aidl/default/Android.bp @@ -94,6 +94,7 @@ cc_library { "audio_policy_engine_configuration_aidl_default", ], shared_libs: [ + "android.hardware.bluetooth.audio-impl", "libaudio_aidl_conversion_common_ndk", "libbluetooth_audio_session_aidl", "libmedia_helper", @@ -127,6 +128,7 @@ cc_binary { "libaudioserviceexampleimpl", ], shared_libs: [ + "android.hardware.bluetooth.audio-impl", "libaudio_aidl_conversion_common_ndk", "libbluetooth_audio_session_aidl", "libmedia_helper", diff --git a/audio/aidl/default/bluetooth/ModuleBluetooth.cpp b/audio/aidl/default/bluetooth/ModuleBluetooth.cpp index 502b15352b..8a1cbbfe1c 100644 --- a/audio/aidl/default/bluetooth/ModuleBluetooth.cpp +++ b/audio/aidl/default/bluetooth/ModuleBluetooth.cpp @@ -33,8 +33,23 @@ using aidl::android::media::audio::common::MicrophoneInfo; using android::bluetooth::audio::aidl::BluetoothAudioPortAidl; using android::bluetooth::audio::aidl::BluetoothAudioPortAidlOut; +// TODO(b/312265159) bluetooth audio should be in its own process +// Remove this and the shared_libs when that happens +extern "C" binder_status_t createIBluetoothAudioProviderFactory(); + namespace aidl::android::hardware::audio::core { +ModuleBluetooth::ModuleBluetooth(std::unique_ptr&& config) + : Module(Type::BLUETOOTH, std::move(config)) { + // TODO(b/312265159) bluetooth audio should be in its own process + // Remove this and the shared_libs when that happens + binder_status_t status = createIBluetoothAudioProviderFactory(); + if (status != STATUS_OK) { + LOG(ERROR) << "Failed to create bluetooth audio provider factory. Status: " + << ::android::statusToString(status); + } +} + ndk::ScopedAStatus ModuleBluetooth::getBluetoothA2dp( std::shared_ptr* _aidl_return) { *_aidl_return = getBtA2dp().getInstance(); diff --git a/audio/aidl/default/include/core-impl/ModuleBluetooth.h b/audio/aidl/default/include/core-impl/ModuleBluetooth.h index a58798b779..631b08854c 100644 --- a/audio/aidl/default/include/core-impl/ModuleBluetooth.h +++ b/audio/aidl/default/include/core-impl/ModuleBluetooth.h @@ -28,8 +28,7 @@ class ModuleBluetooth final : public Module { std::weak_ptr> BtProfileHandles; - ModuleBluetooth(std::unique_ptr&& config) - : Module(Type::BLUETOOTH, std::move(config)) {} + ModuleBluetooth(std::unique_ptr&& config); private: ChildInterface& getBtA2dp();