Loading android/app/src/com/android/bluetooth/le_audio/LeAudioService.java +9 −0 Original line number Diff line number Diff line Loading @@ -676,6 +676,10 @@ public class LeAudioService extends ProfileService { if (mActiveAudioInDevice.isConnected()) { device = mActiveAudioInDevice; } } else { /* Mark old group as no active */ LeAudioGroupDescriptor descriptor = mGroupDescriptors.get(previousGroupId); descriptor.mIsActive = false; } } Loading Loading @@ -735,6 +739,11 @@ public class LeAudioService extends ProfileService { if (mActiveAudioOutDevice.isConnected()) { device = mActiveAudioOutDevice; } } else { Log.i(TAG, " Switching active group from " + previousGroupId + " to " + groupId); /* Mark old group as no active */ LeAudioGroupDescriptor descriptor = mGroupDescriptors.get(previousGroupId); descriptor.mIsActive = false; } } Loading system/bta/le_audio/client.cc +20 −12 Original line number Diff line number Diff line Loading @@ -671,10 +671,14 @@ class LeAudioClientImpl : public LeAudioClient { } if (active_group_id_ != bluetooth::groups::kGroupUnknown) { LOG(WARNING) << __func__ << ", Another group already active: " if (active_group_id_ == group_id) { LOG(INFO) << __func__ << ", Group is already active: " << static_cast<int>(active_group_id_); callbacks_->OnGroupStatus(active_group_id_, GroupStatus::ACTIVE); return; } LOG(INFO) << __func__ << ", switching active group to: " << group_id; } if (!audio_source_instance_) { audio_source_instance_ = LeAudioClientAudioSource::Acquire(); Loading @@ -701,11 +705,11 @@ class LeAudioClientImpl : public LeAudioClient { if (current_source_codec_config.IsInvalid() && current_sink_codec_config.IsInvalid()) { LOG(WARNING) << __func__ << ", unsupported device configurations"; callbacks_->OnGroupStatus(active_group_id_, GroupStatus::INACTIVE); return; } /* Expose audio sessions */ if (active_group_id_ == bluetooth::groups::kGroupUnknown) { /* Expose audio sessions if there was no previous active group */ audio_framework_source_config.data_interval_us = current_source_codec_config.data_interval_us; LeAudioClientAudioSource::Start(audio_framework_source_config, Loading @@ -716,6 +720,10 @@ class LeAudioClientImpl : public LeAudioClient { LeAudioClientAudioSink::Start(audio_framework_sink_config, audioSourceReceiver); } else { /* In case there was an active group. Stop the stream */ GroupStop(active_group_id_); } active_group_id_ = group_id; callbacks_->OnGroupStatus(active_group_id_, GroupStatus::ACTIVE); Loading Loading
android/app/src/com/android/bluetooth/le_audio/LeAudioService.java +9 −0 Original line number Diff line number Diff line Loading @@ -676,6 +676,10 @@ public class LeAudioService extends ProfileService { if (mActiveAudioInDevice.isConnected()) { device = mActiveAudioInDevice; } } else { /* Mark old group as no active */ LeAudioGroupDescriptor descriptor = mGroupDescriptors.get(previousGroupId); descriptor.mIsActive = false; } } Loading Loading @@ -735,6 +739,11 @@ public class LeAudioService extends ProfileService { if (mActiveAudioOutDevice.isConnected()) { device = mActiveAudioOutDevice; } } else { Log.i(TAG, " Switching active group from " + previousGroupId + " to " + groupId); /* Mark old group as no active */ LeAudioGroupDescriptor descriptor = mGroupDescriptors.get(previousGroupId); descriptor.mIsActive = false; } } Loading
system/bta/le_audio/client.cc +20 −12 Original line number Diff line number Diff line Loading @@ -671,10 +671,14 @@ class LeAudioClientImpl : public LeAudioClient { } if (active_group_id_ != bluetooth::groups::kGroupUnknown) { LOG(WARNING) << __func__ << ", Another group already active: " if (active_group_id_ == group_id) { LOG(INFO) << __func__ << ", Group is already active: " << static_cast<int>(active_group_id_); callbacks_->OnGroupStatus(active_group_id_, GroupStatus::ACTIVE); return; } LOG(INFO) << __func__ << ", switching active group to: " << group_id; } if (!audio_source_instance_) { audio_source_instance_ = LeAudioClientAudioSource::Acquire(); Loading @@ -701,11 +705,11 @@ class LeAudioClientImpl : public LeAudioClient { if (current_source_codec_config.IsInvalid() && current_sink_codec_config.IsInvalid()) { LOG(WARNING) << __func__ << ", unsupported device configurations"; callbacks_->OnGroupStatus(active_group_id_, GroupStatus::INACTIVE); return; } /* Expose audio sessions */ if (active_group_id_ == bluetooth::groups::kGroupUnknown) { /* Expose audio sessions if there was no previous active group */ audio_framework_source_config.data_interval_us = current_source_codec_config.data_interval_us; LeAudioClientAudioSource::Start(audio_framework_source_config, Loading @@ -716,6 +720,10 @@ class LeAudioClientImpl : public LeAudioClient { LeAudioClientAudioSink::Start(audio_framework_sink_config, audioSourceReceiver); } else { /* In case there was an active group. Stop the stream */ GroupStop(active_group_id_); } active_group_id_ = group_id; callbacks_->OnGroupStatus(active_group_id_, GroupStatus::ACTIVE); Loading