diff options
Diffstat (limited to 'bluetooth/audio/utils/aidl_session/BluetoothAudioSession.cpp')
-rw-r--r-- | bluetooth/audio/utils/aidl_session/BluetoothAudioSession.cpp | 47 |
1 files changed, 8 insertions, 39 deletions
diff --git a/bluetooth/audio/utils/aidl_session/BluetoothAudioSession.cpp b/bluetooth/audio/utils/aidl_session/BluetoothAudioSession.cpp index 95e473e5b9..f626db83bd 100644 --- a/bluetooth/audio/utils/aidl_session/BluetoothAudioSession.cpp +++ b/bluetooth/audio/utils/aidl_session/BluetoothAudioSession.cpp @@ -35,22 +35,8 @@ static constexpr int kFmqReceiveTimeoutMs = static constexpr int kWritePollMs = 1; // polled non-blocking interval static constexpr int kReadPollMs = 1; // polled non-blocking interval -const CodecConfiguration BluetoothAudioSession::kInvalidCodecConfiguration = {}; -const LeAudioConfiguration kInvalidLeAudioConfiguration = {}; -AudioConfiguration BluetoothAudioSession::invalidSoftwareAudioConfiguration = - {}; -AudioConfiguration BluetoothAudioSession::invalidOffloadAudioConfiguration = {}; -AudioConfiguration BluetoothAudioSession::invalidLeOffloadAudioConfig = {}; - BluetoothAudioSession::BluetoothAudioSession(const SessionType& session_type) - : session_type_(session_type), stack_iface_(nullptr), data_mq_(nullptr) { - invalidSoftwareAudioConfiguration.set<AudioConfiguration::pcmConfig>( - kInvalidPcmConfiguration); - invalidOffloadAudioConfiguration.set<AudioConfiguration::a2dpConfig>( - kInvalidCodecConfiguration); - invalidLeOffloadAudioConfig.set<AudioConfiguration::leAudioConfig>( - kInvalidLeAudioConfiguration); -} + : session_type_(session_type), stack_iface_(nullptr), data_mq_(nullptr) {} /*** * @@ -72,13 +58,7 @@ void BluetoothAudioSession::OnSessionStarted( } else if (!UpdateDataPath(mq_desc)) { LOG(ERROR) << __func__ << " - SessionType=" << toString(session_type_) << " MqDescriptor Invalid"; - if (session_type_ == SessionType::A2DP_HARDWARE_OFFLOAD_ENCODING_DATAPATH) { - audio_config_ = std::make_unique<AudioConfiguration>( - invalidOffloadAudioConfiguration); - } else { - audio_config_ = std::make_unique<AudioConfiguration>( - invalidSoftwareAudioConfiguration); - } + audio_config_ = nullptr; } else { stack_iface_ = stack_iface; LOG(INFO) << __func__ << " - SessionType=" << toString(session_type_) @@ -91,13 +71,7 @@ void BluetoothAudioSession::OnSessionEnded() { std::lock_guard<std::recursive_mutex> guard(mutex_); bool toggled = IsSessionReady(); LOG(INFO) << __func__ << " - SessionType=" << toString(session_type_); - if (session_type_ == SessionType::A2DP_HARDWARE_OFFLOAD_ENCODING_DATAPATH) { - audio_config_ = - std::make_unique<AudioConfiguration>(invalidOffloadAudioConfiguration); - } else { - audio_config_ = - std::make_unique<AudioConfiguration>(invalidSoftwareAudioConfiguration); - } + audio_config_ = nullptr; stack_iface_ = nullptr; UpdateDataPath(nullptr); if (toggled) { @@ -111,22 +85,17 @@ void BluetoothAudioSession::OnSessionEnded() { * ***/ -const AudioConfiguration& BluetoothAudioSession::GetAudioConfig() { +const AudioConfiguration BluetoothAudioSession::GetAudioConfig() { std::lock_guard<std::recursive_mutex> guard(mutex_); if (!IsSessionReady()) { - if (session_type_ == SessionType::A2DP_HARDWARE_OFFLOAD_ENCODING_DATAPATH) { - return invalidOffloadAudioConfiguration; - } else { - return invalidSoftwareAudioConfiguration; - } switch (session_type_) { case SessionType::A2DP_HARDWARE_OFFLOAD_ENCODING_DATAPATH: - return invalidOffloadAudioConfiguration; + return AudioConfiguration(CodecConfiguration{}); case SessionType::LE_AUDIO_HARDWARE_OFFLOAD_ENCODING_DATAPATH: case SessionType::LE_AUDIO_HARDWARE_OFFLOAD_DECODING_DATAPATH: - return invalidLeOffloadAudioConfig; + return AudioConfiguration(LeAudioConfiguration{}); default: - return invalidSoftwareAudioConfiguration; + return AudioConfiguration(PcmConfiguration{}); } } return *audio_config_; @@ -169,7 +138,7 @@ bool BluetoothAudioSession::IsSessionReady() { session_type_ == SessionType::LE_AUDIO_HARDWARE_OFFLOAD_DECODING_DATAPATH || (data_mq_ != nullptr && data_mq_->isValid())); - return stack_iface_ != nullptr && is_mq_valid; + return stack_iface_ != nullptr && is_mq_valid && audio_config_ != nullptr; } /*** |