diff options
15 files changed, 88 insertions, 42 deletions
diff --git a/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/current/android/hardware/bluetooth/audio/IBluetoothAudioProvider.aidl b/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/current/android/hardware/bluetooth/audio/IBluetoothAudioProvider.aidl index 6e0bd9855b..267af0f4b4 100644 --- a/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/current/android/hardware/bluetooth/audio/IBluetoothAudioProvider.aidl +++ b/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/current/android/hardware/bluetooth/audio/IBluetoothAudioProvider.aidl @@ -35,7 +35,7 @@ package android.hardware.bluetooth.audio; @VintfStability interface IBluetoothAudioProvider { void endSession(); - android.hardware.common.fmq.MQDescriptor<byte,android.hardware.common.fmq.SynchronizedReadWrite> startSession(in android.hardware.bluetooth.audio.IBluetoothAudioPort hostIf, in android.hardware.bluetooth.audio.AudioConfiguration audioConfig); + android.hardware.common.fmq.MQDescriptor<byte,android.hardware.common.fmq.SynchronizedReadWrite> startSession(in android.hardware.bluetooth.audio.IBluetoothAudioPort hostIf, in android.hardware.bluetooth.audio.AudioConfiguration audioConfig, in android.hardware.bluetooth.audio.LatencyMode[] supportedLatencyModes); void streamStarted(in android.hardware.bluetooth.audio.BluetoothAudioStatus status); void streamSuspended(in android.hardware.bluetooth.audio.BluetoothAudioStatus status); void updateAudioConfiguration(in android.hardware.bluetooth.audio.AudioConfiguration audioConfig); diff --git a/bluetooth/audio/aidl/android/hardware/bluetooth/audio/IBluetoothAudioProvider.aidl b/bluetooth/audio/aidl/android/hardware/bluetooth/audio/IBluetoothAudioProvider.aidl index ca6f691d91..d5c051e646 100644 --- a/bluetooth/audio/aidl/android/hardware/bluetooth/audio/IBluetoothAudioProvider.aidl +++ b/bluetooth/audio/aidl/android/hardware/bluetooth/audio/IBluetoothAudioProvider.aidl @@ -19,6 +19,7 @@ package android.hardware.bluetooth.audio; import android.hardware.bluetooth.audio.AudioConfiguration; import android.hardware.bluetooth.audio.BluetoothAudioStatus; import android.hardware.bluetooth.audio.IBluetoothAudioPort; +import android.hardware.bluetooth.audio.LatencyMode; import android.hardware.common.fmq.MQDescriptor; import android.hardware.common.fmq.SynchronizedReadWrite; @@ -50,6 +51,8 @@ interface IBluetoothAudioProvider { * device. The PCM parameters are set if software based encoding, * otherwise the correct codec configuration is used for hardware * encoding. + * @param supportedLatencyModes latency modes supported by the active + * remote device * * @return The fast message queue for audio data from/to this * provider. Audio data will be in PCM format as specified by the @@ -57,8 +60,8 @@ interface IBluetoothAudioProvider { * from/to hardware or on failure */ MQDescriptor<byte, SynchronizedReadWrite> startSession( - in IBluetoothAudioPort hostIf, in AudioConfiguration audioConfig); - + in IBluetoothAudioPort hostIf, in AudioConfiguration audioConfig, + in LatencyMode[] supportedLatencyModes); /** * Callback for IBluetoothAudioPort.startStream() * diff --git a/bluetooth/audio/aidl/default/A2dpOffloadAudioProvider.cpp b/bluetooth/audio/aidl/default/A2dpOffloadAudioProvider.cpp index fc8a911145..866776e7bf 100644 --- a/bluetooth/audio/aidl/default/A2dpOffloadAudioProvider.cpp +++ b/bluetooth/audio/aidl/default/A2dpOffloadAudioProvider.cpp @@ -38,7 +38,10 @@ bool A2dpOffloadAudioProvider::isValid(const SessionType& session_type) { ndk::ScopedAStatus A2dpOffloadAudioProvider::startSession( const std::shared_ptr<IBluetoothAudioPort>& host_if, - const AudioConfiguration& audio_config, DataMQDesc* _aidl_return) { + const AudioConfiguration& audio_config, + const std::vector<LatencyMode>& latency_modes, + DataMQDesc* _aidl_return) { + latency_modes_ = latency_modes; if (audio_config.getTag() != AudioConfiguration::a2dpConfig) { LOG(WARNING) << __func__ << " - Invalid Audio Configuration=" << audio_config.toString(); @@ -52,8 +55,8 @@ ndk::ScopedAStatus A2dpOffloadAudioProvider::startSession( *_aidl_return = DataMQDesc(); return ndk::ScopedAStatus::fromExceptionCode(EX_ILLEGAL_ARGUMENT); } - return BluetoothAudioProvider::startSession(host_if, audio_config, - _aidl_return); + return BluetoothAudioProvider::startSession( + host_if, audio_config, latency_modes, _aidl_return); } ndk::ScopedAStatus A2dpOffloadAudioProvider::onSessionReady( diff --git a/bluetooth/audio/aidl/default/A2dpOffloadAudioProvider.h b/bluetooth/audio/aidl/default/A2dpOffloadAudioProvider.h index 5934f5b32d..4621e8530f 100644 --- a/bluetooth/audio/aidl/default/A2dpOffloadAudioProvider.h +++ b/bluetooth/audio/aidl/default/A2dpOffloadAudioProvider.h @@ -32,7 +32,9 @@ class A2dpOffloadAudioProvider : public BluetoothAudioProvider { ndk::ScopedAStatus startSession( const std::shared_ptr<IBluetoothAudioPort>& host_if, - const AudioConfiguration& audio_config, DataMQDesc* _aidl_return); + const AudioConfiguration& audio_config, + const std::vector<LatencyMode>& latency_modes, + DataMQDesc* _aidl_return); private: ndk::ScopedAStatus onSessionReady(DataMQDesc* _aidl_return) override; diff --git a/bluetooth/audio/aidl/default/A2dpSoftwareAudioProvider.cpp b/bluetooth/audio/aidl/default/A2dpSoftwareAudioProvider.cpp index 5a413e07a8..d2f58f345b 100644 --- a/bluetooth/audio/aidl/default/A2dpSoftwareAudioProvider.cpp +++ b/bluetooth/audio/aidl/default/A2dpSoftwareAudioProvider.cpp @@ -61,7 +61,10 @@ bool A2dpSoftwareAudioProvider::isValid(const SessionType& sessionType) { ndk::ScopedAStatus A2dpSoftwareAudioProvider::startSession( const std::shared_ptr<IBluetoothAudioPort>& host_if, - const AudioConfiguration& audio_config, DataMQDesc* _aidl_return) { + const AudioConfiguration& audio_config, + const std::vector<LatencyMode>& latency_modes, + DataMQDesc* _aidl_return) { + latency_modes_ = latency_modes; if (audio_config.getTag() != AudioConfiguration::pcmConfig) { LOG(WARNING) << __func__ << " - Invalid Audio Configuration=" << audio_config.toString(); @@ -77,8 +80,8 @@ ndk::ScopedAStatus A2dpSoftwareAudioProvider::startSession( return ndk::ScopedAStatus::fromExceptionCode(EX_ILLEGAL_ARGUMENT); } - return BluetoothAudioProvider::startSession(host_if, audio_config, - _aidl_return); + return BluetoothAudioProvider::startSession( + host_if, audio_config, latency_modes, _aidl_return); } ndk::ScopedAStatus A2dpSoftwareAudioProvider::onSessionReady( diff --git a/bluetooth/audio/aidl/default/A2dpSoftwareAudioProvider.h b/bluetooth/audio/aidl/default/A2dpSoftwareAudioProvider.h index 3bc0a135dd..10f533ab20 100644 --- a/bluetooth/audio/aidl/default/A2dpSoftwareAudioProvider.h +++ b/bluetooth/audio/aidl/default/A2dpSoftwareAudioProvider.h @@ -32,7 +32,9 @@ class A2dpSoftwareAudioProvider : public BluetoothAudioProvider { ndk::ScopedAStatus startSession( const std::shared_ptr<IBluetoothAudioPort>& host_if, - const AudioConfiguration& audio_config, DataMQDesc* _aidl_return); + const AudioConfiguration& audio_config, + const std::vector<LatencyMode>& latency_modes, + DataMQDesc* _aidl_return); private: // audio data queue for software encoding diff --git a/bluetooth/audio/aidl/default/BluetoothAudioProvider.cpp b/bluetooth/audio/aidl/default/BluetoothAudioProvider.cpp index 8090d265a6..0dd814828c 100644 --- a/bluetooth/audio/aidl/default/BluetoothAudioProvider.cpp +++ b/bluetooth/audio/aidl/default/BluetoothAudioProvider.cpp @@ -34,11 +34,15 @@ BluetoothAudioProvider::BluetoothAudioProvider() { ndk::ScopedAStatus BluetoothAudioProvider::startSession( const std::shared_ptr<IBluetoothAudioPort>& host_if, - const AudioConfiguration& audio_config, DataMQDesc* _aidl_return) { + const AudioConfiguration& audio_config, + const std::vector<LatencyMode>& latencyModes, + DataMQDesc* _aidl_return) { if (host_if == nullptr) { *_aidl_return = DataMQDesc(); return ndk::ScopedAStatus::fromExceptionCode(EX_ILLEGAL_ARGUMENT); } + + latency_modes_ = latencyModes; audio_config_ = std::make_unique<AudioConfiguration>(audio_config); stack_iface_ = host_if; diff --git a/bluetooth/audio/aidl/default/BluetoothAudioProvider.h b/bluetooth/audio/aidl/default/BluetoothAudioProvider.h index 393aaba7b6..75794e85c9 100644 --- a/bluetooth/audio/aidl/default/BluetoothAudioProvider.h +++ b/bluetooth/audio/aidl/default/BluetoothAudioProvider.h @@ -16,6 +16,7 @@ #pragma once #include <aidl/android/hardware/bluetooth/audio/BnBluetoothAudioProvider.h> +#include <aidl/android/hardware/bluetooth/audio/LatencyMode.h> #include <aidl/android/hardware/bluetooth/audio/SessionType.h> #include <fmq/AidlMessageQueue.h> @@ -37,10 +38,11 @@ namespace audio { class BluetoothAudioProvider : public BnBluetoothAudioProvider { public: BluetoothAudioProvider(); - ndk::ScopedAStatus startSession( const std::shared_ptr<IBluetoothAudioPort>& host_if, - const AudioConfiguration& audio_config, DataMQDesc* _aidl_return); + const AudioConfiguration& audio_config, + const std::vector<LatencyMode>& latency_modes, + DataMQDesc* _aidl_return); ndk::ScopedAStatus endSession(); ndk::ScopedAStatus streamStarted(BluetoothAudioStatus status); ndk::ScopedAStatus streamSuspended(BluetoothAudioStatus status); @@ -59,6 +61,7 @@ class BluetoothAudioProvider : public BnBluetoothAudioProvider { std::shared_ptr<IBluetoothAudioPort> stack_iface_; std::unique_ptr<AudioConfiguration> audio_config_ = nullptr; SessionType session_type_; + std::vector<LatencyMode> latency_modes_; }; } // namespace audio diff --git a/bluetooth/audio/aidl/default/HearingAidAudioProvider.cpp b/bluetooth/audio/aidl/default/HearingAidAudioProvider.cpp index 66ce93bd35..c754849a0c 100644 --- a/bluetooth/audio/aidl/default/HearingAidAudioProvider.cpp +++ b/bluetooth/audio/aidl/default/HearingAidAudioProvider.cpp @@ -56,7 +56,10 @@ bool HearingAidAudioProvider::isValid(const SessionType& sessionType) { ndk::ScopedAStatus HearingAidAudioProvider::startSession( const std::shared_ptr<IBluetoothAudioPort>& host_if, - const AudioConfiguration& audio_config, DataMQDesc* _aidl_return) { + const AudioConfiguration& audio_config, + const std::vector<LatencyMode>& latency_modes, + DataMQDesc* _aidl_return) { + latency_modes_ = latency_modes; if (audio_config.getTag() != AudioConfiguration::pcmConfig) { LOG(WARNING) << __func__ << " - Invalid Audio Configuration=" << audio_config.toString(); @@ -71,8 +74,8 @@ ndk::ScopedAStatus HearingAidAudioProvider::startSession( return ndk::ScopedAStatus::fromExceptionCode(EX_ILLEGAL_ARGUMENT); } - return BluetoothAudioProvider::startSession(host_if, audio_config, - _aidl_return); + return BluetoothAudioProvider::startSession( + host_if, audio_config, latency_modes, _aidl_return); } ndk::ScopedAStatus HearingAidAudioProvider::onSessionReady( diff --git a/bluetooth/audio/aidl/default/HearingAidAudioProvider.h b/bluetooth/audio/aidl/default/HearingAidAudioProvider.h index a7e19e982d..a158c865a6 100644 --- a/bluetooth/audio/aidl/default/HearingAidAudioProvider.h +++ b/bluetooth/audio/aidl/default/HearingAidAudioProvider.h @@ -32,7 +32,9 @@ class HearingAidAudioProvider : public BluetoothAudioProvider { ndk::ScopedAStatus startSession( const std::shared_ptr<IBluetoothAudioPort>& host_if, - const AudioConfiguration& audio_config, DataMQDesc* _aidl_return); + const AudioConfiguration& audio_config, + const std::vector<LatencyMode>& latency_modes, + DataMQDesc* _aidl_return); private: // audio data queue for software encoding diff --git a/bluetooth/audio/aidl/default/LeAudioOffloadAudioProvider.cpp b/bluetooth/audio/aidl/default/LeAudioOffloadAudioProvider.cpp index 7a28513157..1a3c658b79 100644 --- a/bluetooth/audio/aidl/default/LeAudioOffloadAudioProvider.cpp +++ b/bluetooth/audio/aidl/default/LeAudioOffloadAudioProvider.cpp @@ -53,7 +53,10 @@ bool LeAudioOffloadAudioProvider::isValid(const SessionType& sessionType) { ndk::ScopedAStatus LeAudioOffloadAudioProvider::startSession( const std::shared_ptr<IBluetoothAudioPort>& host_if, - const AudioConfiguration& audio_config, DataMQDesc* _aidl_return) { + const AudioConfiguration& audio_config, + const std::vector<LatencyMode>& latency_modes, + DataMQDesc* _aidl_return) { + latency_modes_ = latency_modes; if (audio_config.getTag() != AudioConfiguration::leAudioConfig) { LOG(WARNING) << __func__ << " - Invalid Audio Configuration=" << audio_config.toString(); @@ -70,8 +73,8 @@ ndk::ScopedAStatus LeAudioOffloadAudioProvider::startSession( return ndk::ScopedAStatus::fromExceptionCode(EX_ILLEGAL_ARGUMENT); } - return BluetoothAudioProvider::startSession(host_if, audio_config, - _aidl_return); + return BluetoothAudioProvider::startSession( + host_if, audio_config, latency_modes, _aidl_return); } ndk::ScopedAStatus LeAudioOffloadAudioProvider::onSessionReady( diff --git a/bluetooth/audio/aidl/default/LeAudioOffloadAudioProvider.h b/bluetooth/audio/aidl/default/LeAudioOffloadAudioProvider.h index 6509a9e2b4..614c794fa3 100644 --- a/bluetooth/audio/aidl/default/LeAudioOffloadAudioProvider.h +++ b/bluetooth/audio/aidl/default/LeAudioOffloadAudioProvider.h @@ -32,7 +32,9 @@ class LeAudioOffloadAudioProvider : public BluetoothAudioProvider { ndk::ScopedAStatus startSession( const std::shared_ptr<IBluetoothAudioPort>& host_if, - const AudioConfiguration& audio_config, DataMQDesc* _aidl_return); + const AudioConfiguration& audio_config, + const std::vector<LatencyMode>& latency_modes, + DataMQDesc* _aidl_return); private: ndk::ScopedAStatus onSessionReady(DataMQDesc* _aidl_return) override; diff --git a/bluetooth/audio/aidl/default/LeAudioSoftwareAudioProvider.cpp b/bluetooth/audio/aidl/default/LeAudioSoftwareAudioProvider.cpp index 0fe205efe1..1f64b43920 100644 --- a/bluetooth/audio/aidl/default/LeAudioSoftwareAudioProvider.cpp +++ b/bluetooth/audio/aidl/default/LeAudioSoftwareAudioProvider.cpp @@ -69,7 +69,10 @@ bool LeAudioSoftwareAudioProvider::isValid(const SessionType& sessionType) { ndk::ScopedAStatus LeAudioSoftwareAudioProvider::startSession( const std::shared_ptr<IBluetoothAudioPort>& host_if, - const AudioConfiguration& audio_config, DataMQDesc* _aidl_return) { + const AudioConfiguration& audio_config, + const std::vector<LatencyMode>& latency_modes, + DataMQDesc* _aidl_return) { + latency_modes_ = latency_modes; if (audio_config.getTag() != AudioConfiguration::pcmConfig) { LOG(WARNING) << __func__ << " - Invalid Audio Configuration=" << audio_config.toString(); @@ -119,8 +122,8 @@ ndk::ScopedAStatus LeAudioSoftwareAudioProvider::startSession( } data_mq_ = std::move(temp_data_mq); - return BluetoothAudioProvider::startSession(host_if, audio_config, - _aidl_return); + return BluetoothAudioProvider::startSession( + host_if, audio_config, latency_modes, _aidl_return); } ndk::ScopedAStatus LeAudioSoftwareAudioProvider::onSessionReady( diff --git a/bluetooth/audio/aidl/default/LeAudioSoftwareAudioProvider.h b/bluetooth/audio/aidl/default/LeAudioSoftwareAudioProvider.h index ace4bff6a8..21243ff9c3 100644 --- a/bluetooth/audio/aidl/default/LeAudioSoftwareAudioProvider.h +++ b/bluetooth/audio/aidl/default/LeAudioSoftwareAudioProvider.h @@ -32,7 +32,9 @@ class LeAudioSoftwareAudioProvider : public BluetoothAudioProvider { ndk::ScopedAStatus startSession( const std::shared_ptr<IBluetoothAudioPort>& host_if, - const AudioConfiguration& audio_config, DataMQDesc* _aidl_return); + const AudioConfiguration& audio_config, + const std::vector<LatencyMode>& latency_modes, + DataMQDesc* _aidl_return); private: // audio data queue for software encoding diff --git a/bluetooth/audio/aidl/vts/VtsHalBluetoothAudioTargetTest.cpp b/bluetooth/audio/aidl/vts/VtsHalBluetoothAudioTargetTest.cpp index 307403b451..4032407a93 100644 --- a/bluetooth/audio/aidl/vts/VtsHalBluetoothAudioTargetTest.cpp +++ b/bluetooth/audio/aidl/vts/VtsHalBluetoothAudioTargetTest.cpp @@ -86,7 +86,7 @@ static constexpr CodecType a2dp_codec_types[] = { CodecType::UNKNOWN, CodecType::SBC, CodecType::AAC, CodecType::APTX, CodecType::APTX_HD, CodecType::LDAC, CodecType::LC3, CodecType::APTX_ADAPTIVE}; - +static std::vector<LatencyMode> latency_modes = {LatencyMode::FREE}; // Helpers template <typename T> @@ -379,7 +379,8 @@ TEST_P(BluetoothAudioProviderA2dpSoftwareAidl, bool is_codec_config_valid = IsPcmConfigSupported(pcm_config); DataMQDesc mq_desc; auto aidl_retval = audio_provider_->startSession( - audio_port_, AudioConfiguration(pcm_config), &mq_desc); + audio_port_, AudioConfiguration(pcm_config), latency_modes, + &mq_desc); DataMQ data_mq(mq_desc); EXPECT_EQ(aidl_retval.isOk(), is_codec_config_valid); @@ -671,7 +672,7 @@ TEST_P(BluetoothAudioProviderA2dpHardwareAidl, copy_codec_specific(codec_config.config, codec_specific); DataMQDesc mq_desc; auto aidl_retval = audio_provider_->startSession( - audio_port_, AudioConfiguration(codec_config), &mq_desc); + audio_port_, AudioConfiguration(codec_config), latency_modes, &mq_desc); ASSERT_TRUE(aidl_retval.isOk()); EXPECT_TRUE(audio_provider_->endSession().isOk()); @@ -701,7 +702,7 @@ TEST_P(BluetoothAudioProviderA2dpHardwareAidl, copy_codec_specific(codec_config.config, codec_specific); DataMQDesc mq_desc; auto aidl_retval = audio_provider_->startSession( - audio_port_, AudioConfiguration(codec_config), &mq_desc); + audio_port_, AudioConfiguration(codec_config), latency_modes, &mq_desc); ASSERT_TRUE(aidl_retval.isOk()); EXPECT_TRUE(audio_provider_->endSession().isOk()); @@ -731,7 +732,7 @@ TEST_P(BluetoothAudioProviderA2dpHardwareAidl, copy_codec_specific(codec_config.config, codec_specific); DataMQDesc mq_desc; auto aidl_retval = audio_provider_->startSession( - audio_port_, AudioConfiguration(codec_config), &mq_desc); + audio_port_, AudioConfiguration(codec_config), latency_modes, &mq_desc); ASSERT_TRUE(aidl_retval.isOk()); EXPECT_TRUE(audio_provider_->endSession().isOk()); @@ -761,7 +762,7 @@ TEST_P(BluetoothAudioProviderA2dpHardwareAidl, copy_codec_specific(codec_config.config, codec_specific); DataMQDesc mq_desc; auto aidl_retval = audio_provider_->startSession( - audio_port_, AudioConfiguration(codec_config), &mq_desc); + audio_port_, AudioConfiguration(codec_config), latency_modes, &mq_desc); ASSERT_TRUE(aidl_retval.isOk()); EXPECT_TRUE(audio_provider_->endSession().isOk()); @@ -795,7 +796,8 @@ TEST_P(BluetoothAudioProviderA2dpHardwareAidl, copy_codec_specific(codec_config.config, codec_specific); DataMQDesc mq_desc; auto aidl_retval = audio_provider_->startSession( - audio_port_, AudioConfiguration(codec_config), &mq_desc); + audio_port_, AudioConfiguration(codec_config), latency_modes, + &mq_desc); ASSERT_TRUE(aidl_retval.isOk()); EXPECT_TRUE(audio_provider_->endSession().isOk()); @@ -856,7 +858,8 @@ TEST_P(BluetoothAudioProviderA2dpHardwareAidl, copy_codec_specific(codec_config.config, codec_specific); DataMQDesc mq_desc; auto aidl_retval = audio_provider_->startSession( - audio_port_, AudioConfiguration(codec_config), &mq_desc); + audio_port_, AudioConfiguration(codec_config), latency_modes, + &mq_desc); // AIDL call should fail on invalid codec ASSERT_FALSE(aidl_retval.isOk()); @@ -915,7 +918,8 @@ TEST_P(BluetoothAudioProviderHearingAidSoftwareAidl, bool is_codec_config_valid = IsPcmConfigSupported(pcm_config); DataMQDesc mq_desc; auto aidl_retval = audio_provider_->startSession( - audio_port_, AudioConfiguration(pcm_config), &mq_desc); + audio_port_, AudioConfiguration(pcm_config), latency_modes, + &mq_desc); DataMQ data_mq(mq_desc); EXPECT_EQ(aidl_retval.isOk(), is_codec_config_valid); @@ -986,7 +990,8 @@ TEST_P(BluetoothAudioProviderLeAudioOutputSoftwareAidl, bool is_codec_config_valid = IsPcmConfigSupported(pcm_config); DataMQDesc mq_desc; auto aidl_retval = audio_provider_->startSession( - audio_port_, AudioConfiguration(pcm_config), &mq_desc); + audio_port_, AudioConfiguration(pcm_config), latency_modes, + &mq_desc); DataMQ data_mq(mq_desc); EXPECT_EQ(aidl_retval.isOk(), is_codec_config_valid); @@ -1057,7 +1062,8 @@ TEST_P(BluetoothAudioProviderLeAudioInputSoftwareAidl, bool is_codec_config_valid = IsPcmConfigSupported(pcm_config); DataMQDesc mq_desc; auto aidl_retval = audio_provider_->startSession( - audio_port_, AudioConfiguration(pcm_config), &mq_desc); + audio_port_, AudioConfiguration(pcm_config), latency_modes, + &mq_desc); DataMQ data_mq(mq_desc); EXPECT_EQ(aidl_retval.isOk(), is_codec_config_valid); @@ -1190,7 +1196,8 @@ TEST_P(BluetoothAudioProviderLeAudioOutputHardwareAidl, .set<LeAudioCodecConfiguration::lc3Config>(lc3_config); DataMQDesc mq_desc; auto aidl_retval = audio_provider_->startSession( - audio_port_, AudioConfiguration(le_audio_config), &mq_desc); + audio_port_, AudioConfiguration(le_audio_config), latency_modes, + &mq_desc); ASSERT_TRUE(aidl_retval.isOk()); EXPECT_TRUE(audio_provider_->endSession().isOk()); @@ -1222,7 +1229,8 @@ TEST_P(BluetoothAudioProviderLeAudioOutputHardwareAidl, .set<LeAudioCodecConfiguration::lc3Config>(lc3_config); DataMQDesc mq_desc; auto aidl_retval = audio_provider_->startSession( - audio_port_, AudioConfiguration(le_audio_config), &mq_desc); + audio_port_, AudioConfiguration(le_audio_config), latency_modes, + &mq_desc); // AIDL call should fail on invalid codec ASSERT_FALSE(aidl_retval.isOk()); @@ -1298,7 +1306,8 @@ TEST_P(BluetoothAudioProviderLeAudioInputHardwareAidl, .set<LeAudioCodecConfiguration::lc3Config>(lc3_config); DataMQDesc mq_desc; auto aidl_retval = audio_provider_->startSession( - audio_port_, AudioConfiguration(le_audio_config), &mq_desc); + audio_port_, AudioConfiguration(le_audio_config), latency_modes, + &mq_desc); ASSERT_TRUE(aidl_retval.isOk()); EXPECT_TRUE(audio_provider_->endSession().isOk()); @@ -1331,7 +1340,8 @@ TEST_P(BluetoothAudioProviderLeAudioInputHardwareAidl, DataMQDesc mq_desc; auto aidl_retval = audio_provider_->startSession( - audio_port_, AudioConfiguration(le_audio_config), &mq_desc); + audio_port_, AudioConfiguration(le_audio_config), latency_modes, + &mq_desc); // AIDL call should fail on invalid codec ASSERT_FALSE(aidl_retval.isOk()); @@ -1398,7 +1408,8 @@ TEST_P(BluetoothAudioProviderLeAudioBroadcastSoftwareAidl, bool is_codec_config_valid = IsPcmConfigSupported(pcm_config); DataMQDesc mq_desc; auto aidl_retval = audio_provider_->startSession( - audio_port_, AudioConfiguration(pcm_config), &mq_desc); + audio_port_, AudioConfiguration(pcm_config), latency_modes, + &mq_desc); DataMQ data_mq(mq_desc); EXPECT_EQ(aidl_retval.isOk(), is_codec_config_valid); |