Commit 868cc225 authored by Yu-Hsuan Hsu's avatar Yu-Hsuan Hsu Committed by Commit Bot

Support GetGroupIDInput/Output on LaCrOS

Support GetGroupIDInput/Output, which is modified from the same function
in audio_manager_chromeos.cc

BUG=b:173113548

Change-Id: I3a00ebabd5e14f1ca087cab491d6747baaa7eb9c
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2536663
Commit-Queue: Yu-Hsuan Hsu <yuhsuan@chromium.org>
Reviewed-by: default avatarDale Curtis <dalecurtis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#828561}
parent 4c1aee64
......@@ -129,6 +129,26 @@ std::string AudioManagerCras::GetDefaultOutputDeviceID() {
return base::NumberToString(GetPrimaryActiveOutputNode());
}
std::string AudioManagerCras::GetGroupIDInput(const std::string& device_id) {
for (const auto& device : CrasGetAudioDevices(DeviceType::kInput)) {
if (base::NumberToString(device.id) == device_id ||
(AudioDeviceDescription::IsDefaultDevice(device_id) && device.active)) {
return device.dev_name;
}
}
return "";
}
std::string AudioManagerCras::GetGroupIDOutput(const std::string& device_id) {
for (const auto& device : CrasGetAudioDevices(DeviceType::kOutput)) {
if (base::NumberToString(device.id) == device_id ||
(AudioDeviceDescription::IsDefaultDevice(device_id) && device.active)) {
return device.dev_name;
}
}
return "";
}
AudioParameters AudioManagerCras::GetPreferredOutputStreamParameters(
const std::string& output_device_id,
const AudioParameters& input_params) {
......@@ -173,7 +193,7 @@ uint64_t AudioManagerCras::GetPrimaryActiveOutputNode() {
}
bool AudioManagerCras::IsDefault(const std::string& device_id, bool is_input) {
return device_id == AudioDeviceDescription::kDefaultDeviceId;
return AudioDeviceDescription::IsDefaultDevice(device_id);
}
enum CRAS_CLIENT_TYPE AudioManagerCras::GetClientType() {
......
......@@ -33,6 +33,8 @@ class MEDIA_EXPORT AudioManagerCras : public AudioManagerCrasBase {
const std::string& device_id) override;
std::string GetDefaultInputDeviceID() override;
std::string GetDefaultOutputDeviceID() override;
std::string GetGroupIDInput(const std::string& device_id) override;
std::string GetGroupIDOutput(const std::string& device_id) override;
// AudioManagerCrasBase implementation.
bool IsDefault(const std::string& device_id, bool is_input) override;
......
......@@ -73,6 +73,7 @@ CrasDevice::CrasDevice(const cras_ionode_info* node,
// If the name of node is not meaningful, use the device name instead.
if (name.empty() || name == "(default)")
name = dev->name;
dev_name = dev->name;
}
// Creates a CrasDevice based on the node list.
......
......@@ -27,6 +27,7 @@ struct CrasDevice {
uint64_t id;
int32_t active;
std::string name;
std::string dev_name;
};
// Enumerates all devices of |type|.
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment