Loading system/bta/le_audio/client.cc +2 −0 Original line number Diff line number Diff line Loading @@ -37,6 +37,7 @@ #include "embdrv/lc3/include/lc3.h" #include "gatt/bta_gattc_int.h" #include "gd/common/strings.h" #include "le_audio_set_configuration_provider.h" #include "le_audio_types.h" #include "osi/include/log.h" #include "osi/include/osi.h" Loading Loading @@ -3628,6 +3629,7 @@ void LeAudioClient::DebugDump(int fd) { LeAudioClientAudioSource::DebugDump(fd); LeAudioClientAudioSink::DebugDump(fd); le_audio::AudioSetConfigurationProvider::Get()->DebugDump(fd); dprintf(fd, "\n"); } Loading system/bta/le_audio/le_audio_set_configuration_provider.h +1 −0 Original line number Diff line number Diff line Loading @@ -28,6 +28,7 @@ class AudioSetConfigurationProvider { virtual ~AudioSetConfigurationProvider() = default; static AudioSetConfigurationProvider* Get(); static void Initialize(); static void DebugDump(int fd); static void Cleanup(); virtual const set_configurations::AudioSetConfigurations* GetConfigurations( ::le_audio::types::LeAudioContextType content_type) const; Loading system/bta/le_audio/le_audio_set_configuration_provider_json.cc +45 −0 Original line number Diff line number Diff line Loading @@ -461,6 +461,36 @@ struct AudioSetConfigurationProvider::impl { bool IsRunning() { return config_provider_impl_ ? true : false; } void Dump(int fd) { std::stringstream stream; for (LeAudioContextType context : types::kLeAudioContextAllTypesArray) { auto confs = Get()->GetConfigurations(context); stream << " === Configurations for context type: " << (int)context << ", num: " << (confs == nullptr ? 0 : confs->size()) << " \n"; if (confs->size() > 0) { for (const auto& conf : *confs) { stream << " name: " << conf->name << " \n"; for (const auto& ent : conf->confs) { stream << " direction: " << (ent.direction == types::kLeAudioDirectionSink ? "Sink (speaker)\n" : "Source (mic)\n") << " number of devices: " << +ent.device_cnt << " \n" << " number of ASEs: " << +ent.ase_cnt << " \n" << " target latency: " << +ent.target_latency << " \n" << " strategy: " << (int)(ent.strategy) << " \n" << " qos->retransmission_number: " << +ent.qos.retransmission_number << " \n" << " qos->max_transport_latency: " << +ent.qos.max_transport_latency << " \n"; } } } } dprintf(fd, "%s", stream.str().c_str()); } const AudioSetConfigurationProvider& config_provider_; std::unique_ptr<AudioSetConfigurationProviderJson> config_provider_impl_; }; Loading @@ -478,6 +508,21 @@ void AudioSetConfigurationProvider::Initialize() { config_provider->pimpl_->Initialize(); } void AudioSetConfigurationProvider::DebugDump(int fd) { if (!config_provider || !config_provider->pimpl_->IsRunning()) { dprintf( fd, "\n AudioSetConfigurationProvider not initialized: config provider: " "%d, pimpl: %d \n", config_provider != nullptr, (config_provider == nullptr ? 0 : config_provider->pimpl_->IsRunning())); return; } dprintf(fd, "\n AudioSetConfigurationProvider: \n"); config_provider->pimpl_->Dump(fd); } void AudioSetConfigurationProvider::Cleanup() { if (!config_provider) return; if (config_provider->pimpl_->IsRunning()) config_provider->pimpl_->Cleanup(); Loading Loading
system/bta/le_audio/client.cc +2 −0 Original line number Diff line number Diff line Loading @@ -37,6 +37,7 @@ #include "embdrv/lc3/include/lc3.h" #include "gatt/bta_gattc_int.h" #include "gd/common/strings.h" #include "le_audio_set_configuration_provider.h" #include "le_audio_types.h" #include "osi/include/log.h" #include "osi/include/osi.h" Loading Loading @@ -3628,6 +3629,7 @@ void LeAudioClient::DebugDump(int fd) { LeAudioClientAudioSource::DebugDump(fd); LeAudioClientAudioSink::DebugDump(fd); le_audio::AudioSetConfigurationProvider::Get()->DebugDump(fd); dprintf(fd, "\n"); } Loading
system/bta/le_audio/le_audio_set_configuration_provider.h +1 −0 Original line number Diff line number Diff line Loading @@ -28,6 +28,7 @@ class AudioSetConfigurationProvider { virtual ~AudioSetConfigurationProvider() = default; static AudioSetConfigurationProvider* Get(); static void Initialize(); static void DebugDump(int fd); static void Cleanup(); virtual const set_configurations::AudioSetConfigurations* GetConfigurations( ::le_audio::types::LeAudioContextType content_type) const; Loading
system/bta/le_audio/le_audio_set_configuration_provider_json.cc +45 −0 Original line number Diff line number Diff line Loading @@ -461,6 +461,36 @@ struct AudioSetConfigurationProvider::impl { bool IsRunning() { return config_provider_impl_ ? true : false; } void Dump(int fd) { std::stringstream stream; for (LeAudioContextType context : types::kLeAudioContextAllTypesArray) { auto confs = Get()->GetConfigurations(context); stream << " === Configurations for context type: " << (int)context << ", num: " << (confs == nullptr ? 0 : confs->size()) << " \n"; if (confs->size() > 0) { for (const auto& conf : *confs) { stream << " name: " << conf->name << " \n"; for (const auto& ent : conf->confs) { stream << " direction: " << (ent.direction == types::kLeAudioDirectionSink ? "Sink (speaker)\n" : "Source (mic)\n") << " number of devices: " << +ent.device_cnt << " \n" << " number of ASEs: " << +ent.ase_cnt << " \n" << " target latency: " << +ent.target_latency << " \n" << " strategy: " << (int)(ent.strategy) << " \n" << " qos->retransmission_number: " << +ent.qos.retransmission_number << " \n" << " qos->max_transport_latency: " << +ent.qos.max_transport_latency << " \n"; } } } } dprintf(fd, "%s", stream.str().c_str()); } const AudioSetConfigurationProvider& config_provider_; std::unique_ptr<AudioSetConfigurationProviderJson> config_provider_impl_; }; Loading @@ -478,6 +508,21 @@ void AudioSetConfigurationProvider::Initialize() { config_provider->pimpl_->Initialize(); } void AudioSetConfigurationProvider::DebugDump(int fd) { if (!config_provider || !config_provider->pimpl_->IsRunning()) { dprintf( fd, "\n AudioSetConfigurationProvider not initialized: config provider: " "%d, pimpl: %d \n", config_provider != nullptr, (config_provider == nullptr ? 0 : config_provider->pimpl_->IsRunning())); return; } dprintf(fd, "\n AudioSetConfigurationProvider: \n"); config_provider->pimpl_->Dump(fd); } void AudioSetConfigurationProvider::Cleanup() { if (!config_provider) return; if (config_provider->pimpl_->IsRunning()) config_provider->pimpl_->Cleanup(); Loading