diff options
author | derat <derat@chromium.org> | 2014-08-29 09:10:43 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2014-08-29 16:14:58 +0000 |
commit | 3698adff97208879298ad45a0bb07ea13cc5f49c (patch) | |
tree | 7490391283611e66c95e706febbe4633f6a008ab /chromeos/audio | |
parent | abbfd37ef6db3e3012a55634a5487b50c1526b74 (diff) | |
download | chromium_src-3698adff97208879298ad45a0bb07ea13cc5f49c.zip chromium_src-3698adff97208879298ad45a0bb07ea13cc5f49c.tar.gz chromium_src-3698adff97208879298ad45a0bb07ea13cc5f49c.tar.bz2 |
app_shell: Do simple audio initialization.
Add a ShellAudioController class that activates audio
devices for input and output and requests max volume.
Also move chromeos::NetworkHandler initialization into
ShellBrowserMainParts so that ShellNetworkController can get
tests at some point.
BUG=405968
Review URL: https://codereview.chromium.org/515573003
Cr-Commit-Position: refs/heads/master@{#292643}
Diffstat (limited to 'chromeos/audio')
-rw-r--r-- | chromeos/audio/audio_device.cc | 74 | ||||
-rw-r--r-- | chromeos/audio/audio_device.h | 13 | ||||
-rw-r--r-- | chromeos/audio/cras_audio_handler_unittest.cc | 5 |
3 files changed, 49 insertions, 43 deletions
diff --git a/chromeos/audio/audio_device.cc b/chromeos/audio/audio_device.cc index 1a9169a..a3abba0 100644 --- a/chromeos/audio/audio_device.cc +++ b/chromeos/audio/audio_device.cc @@ -9,81 +9,81 @@ #include "base/strings/stringprintf.h" #include "base/strings/utf_string_conversions.h" +namespace chromeos { + namespace { // Get the priority for a particular device type. The priority returned // will be between 0 to 3, the higher number meaning a higher priority. -uint8 GetDevicePriority(chromeos::AudioDeviceType type) { +uint8 GetDevicePriority(AudioDeviceType type) { switch (type) { - // Fall through. - case chromeos::AUDIO_TYPE_HEADPHONE: - case chromeos::AUDIO_TYPE_MIC: - case chromeos::AUDIO_TYPE_USB: - case chromeos::AUDIO_TYPE_BLUETOOTH: + case AUDIO_TYPE_HEADPHONE: + case AUDIO_TYPE_MIC: + case AUDIO_TYPE_USB: + case AUDIO_TYPE_BLUETOOTH: return 3; - case chromeos::AUDIO_TYPE_HDMI: + case AUDIO_TYPE_HDMI: return 2; - // Fall through. - case chromeos::AUDIO_TYPE_INTERNAL_SPEAKER: - case chromeos::AUDIO_TYPE_INTERNAL_MIC: + case AUDIO_TYPE_INTERNAL_SPEAKER: + case AUDIO_TYPE_INTERNAL_MIC: return 1; - // Fall through. - case chromeos::AUDIO_TYPE_KEYBOARD_MIC: - case chromeos::AUDIO_TYPE_OTHER: + case AUDIO_TYPE_KEYBOARD_MIC: + case AUDIO_TYPE_OTHER: default: return 0; } } -std::string GetTypeString(chromeos::AudioDeviceType type) { +} // namespace + +// static +std::string AudioDevice::GetTypeString(AudioDeviceType type) { switch (type) { - case chromeos::AUDIO_TYPE_HEADPHONE: + case AUDIO_TYPE_HEADPHONE: return "HEADPHONE"; - case chromeos::AUDIO_TYPE_MIC: + case AUDIO_TYPE_MIC: return "MIC"; - case chromeos::AUDIO_TYPE_USB: + case AUDIO_TYPE_USB: return "USB"; - case chromeos::AUDIO_TYPE_BLUETOOTH: + case AUDIO_TYPE_BLUETOOTH: return "BLUETOOTH"; - case chromeos::AUDIO_TYPE_HDMI: + case AUDIO_TYPE_HDMI: return "HDMI"; - case chromeos::AUDIO_TYPE_INTERNAL_SPEAKER: + case AUDIO_TYPE_INTERNAL_SPEAKER: return "INTERNAL_SPEAKER"; - case chromeos::AUDIO_TYPE_INTERNAL_MIC: + case AUDIO_TYPE_INTERNAL_MIC: return "INTERNAL_MIC"; - case chromeos::AUDIO_TYPE_KEYBOARD_MIC: + case AUDIO_TYPE_KEYBOARD_MIC: return "KEYBOARD_MIC"; - case chromeos::AUDIO_TYPE_OTHER: + case AUDIO_TYPE_OTHER: default: return "OTHER"; } } -chromeos::AudioDeviceType GetAudioType(const std::string& node_type) { +// static +AudioDeviceType AudioDevice::GetAudioType( + const std::string& node_type) { if (node_type.find("HEADPHONE") != std::string::npos) - return chromeos::AUDIO_TYPE_HEADPHONE; + return AUDIO_TYPE_HEADPHONE; else if (node_type.find("INTERNAL_MIC") != std::string::npos) - return chromeos::AUDIO_TYPE_INTERNAL_MIC; + return AUDIO_TYPE_INTERNAL_MIC; else if (node_type.find("KEYBOARD_MIC") != std::string::npos) - return chromeos::AUDIO_TYPE_KEYBOARD_MIC; + return AUDIO_TYPE_KEYBOARD_MIC; else if (node_type.find("MIC") != std::string::npos) - return chromeos::AUDIO_TYPE_MIC; + return AUDIO_TYPE_MIC; else if (node_type.find("USB") != std::string::npos) - return chromeos::AUDIO_TYPE_USB; + return AUDIO_TYPE_USB; else if (node_type.find("BLUETOOTH") != std::string::npos) - return chromeos::AUDIO_TYPE_BLUETOOTH; + return AUDIO_TYPE_BLUETOOTH; else if (node_type.find("HDMI") != std::string::npos) - return chromeos::AUDIO_TYPE_HDMI; + return AUDIO_TYPE_HDMI; else if (node_type.find("INTERNAL_SPEAKER") != std::string::npos) - return chromeos::AUDIO_TYPE_INTERNAL_SPEAKER; + return AUDIO_TYPE_INTERNAL_SPEAKER; else - return chromeos::AUDIO_TYPE_OTHER; + return AUDIO_TYPE_OTHER; } -} // namespace - -namespace chromeos { - AudioDevice::AudioDevice() : is_input(false), id(0), diff --git a/chromeos/audio/audio_device.h b/chromeos/audio/audio_device.h index 31e45fd..75ac089 100644 --- a/chromeos/audio/audio_device.h +++ b/chromeos/audio/audio_device.h @@ -29,6 +29,15 @@ enum AudioDeviceType { }; struct CHROMEOS_EXPORT AudioDevice { + AudioDevice(); + explicit AudioDevice(const AudioNode& node); + std::string ToString() const; + + // Converts between the string type sent via D-Bus and AudioDeviceType. + // Static so they can be used by tests. + static std::string GetTypeString(chromeos::AudioDeviceType type); + static chromeos::AudioDeviceType GetAudioType(const std::string& node_type); + bool is_input; uint64 id; std::string display_name; @@ -37,10 +46,6 @@ struct CHROMEOS_EXPORT AudioDevice { uint8 priority; bool active; uint64 plugged_time; - - AudioDevice(); - explicit AudioDevice(const AudioNode& node); - std::string ToString() const; }; typedef std::vector<AudioDevice> AudioDeviceList; diff --git a/chromeos/audio/cras_audio_handler_unittest.cc b/chromeos/audio/cras_audio_handler_unittest.cc index dec728e..c83c21b 100644 --- a/chromeos/audio/cras_audio_handler_unittest.cc +++ b/chromeos/audio/cras_audio_handler_unittest.cc @@ -255,7 +255,7 @@ class CrasAudioHandlerTest : public testing::Test { DBusThreadManager::Initialize(); cras_audio_client_stub_ = static_cast<CrasAudioClientStubImpl*>( DBusThreadManager::Get()->GetCrasAudioClient()); - cras_audio_client_stub_->SetAudioDevices(audio_nodes); + cras_audio_client_stub_->SetAudioNodesForTesting(audio_nodes); audio_pref_handler_ = new AudioDevicesPrefHandlerStub(); CrasAudioHandler::Initialize(audio_pref_handler_); cras_audio_handler_ = CrasAudioHandler::Get(); @@ -265,7 +265,8 @@ class CrasAudioHandlerTest : public testing::Test { } void ChangeAudioNodes(const AudioNodeList& audio_nodes) { - cras_audio_client_stub_->ChangeAudioNodes(audio_nodes); + cras_audio_client_stub_->SetAudioNodesAndNotifyObserversForTesting( + audio_nodes); message_loop_.RunUntilIdle(); } |