diff options
author | Chen Chen <cncn@google.com> | 2022-02-16 19:38:24 +0000 |
---|---|---|
committer | Gerrit Code Review <noreply-gerritcodereview@google.com> | 2022-02-16 19:38:24 +0000 |
commit | 5cde687f02d46c1a7b2dccd1548579ece9dd573a (patch) | |
tree | b134951ee66ceaccdcfe069e9135b51676238205 | |
parent | 0f7d41913658132823980112d6f704b6489396d2 (diff) | |
parent | c92270e1d65af7fb173da090e8801ae6401f1812 (diff) |
Merge "SpatialAudio: Set low latency allowed signal at startSession The logic is that to send FREE and LOW_LATENCY to audio at startSession, if bt receives setLowLatencyModeAllowed(true) before start session. If the parameter false, or bt doesn't receive the signal at all, then bt sends FREE to audio."
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 4454cc34df..90ec8cb78f 100644 --- a/bluetooth/audio/aidl/vts/VtsHalBluetoothAudioTargetTest.cpp +++ b/bluetooth/audio/aidl/vts/VtsHalBluetoothAudioTargetTest.cpp @@ -88,7 +88,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> @@ -381,7 +381,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); @@ -673,7 +674,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()); @@ -703,7 +704,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()); @@ -733,7 +734,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()); @@ -763,7 +764,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()); @@ -797,7 +798,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()); @@ -858,7 +860,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()); @@ -917,7 +920,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); @@ -989,7 +993,8 @@ TEST_P(BluetoothAudioProviderLeAudioOutputSoftwareAidl, IsPcmConfigSupported(pcm_config) && pcm_config.dataIntervalUs > 0; 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); @@ -1061,7 +1066,8 @@ TEST_P(BluetoothAudioProviderLeAudioInputSoftwareAidl, IsPcmConfigSupported(pcm_config) && pcm_config.dataIntervalUs > 0; 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); @@ -1194,7 +1200,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()); @@ -1226,7 +1233,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()); @@ -1302,7 +1310,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()); @@ -1335,7 +1344,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()); @@ -1403,7 +1413,8 @@ TEST_P(BluetoothAudioProviderLeAudioBroadcastSoftwareAidl, IsPcmConfigSupported(pcm_config) && pcm_config.dataIntervalUs > 0; 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); |