Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(126)

Side by Side Diff: chromeos/audio/cras_audio_handler_unittest.cc

Issue 1845733002: cras_audio_handler add SetOutputMono method (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: channels_ -> output_channels_ Created 4 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « chromeos/audio/cras_audio_handler.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chromeos/audio/cras_audio_handler.h" 5 #include "chromeos/audio/cras_audio_handler.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 #include <stdint.h> 8 #include <stdint.h>
9 9
10 #include "base/bind.h" 10 #include "base/bind.h"
(...skipping 188 matching lines...) Expand 10 before | Expand all | Expand 10 after
199 class TestObserver : public chromeos::CrasAudioHandler::AudioObserver { 199 class TestObserver : public chromeos::CrasAudioHandler::AudioObserver {
200 public: 200 public:
201 TestObserver() 201 TestObserver()
202 : active_output_node_changed_count_(0), 202 : active_output_node_changed_count_(0),
203 active_input_node_changed_count_(0), 203 active_input_node_changed_count_(0),
204 audio_nodes_changed_count_(0), 204 audio_nodes_changed_count_(0),
205 output_mute_changed_count_(0), 205 output_mute_changed_count_(0),
206 input_mute_changed_count_(0), 206 input_mute_changed_count_(0),
207 output_volume_changed_count_(0), 207 output_volume_changed_count_(0),
208 input_gain_changed_count_(0), 208 input_gain_changed_count_(0),
209 output_mute_by_system_(false) {} 209 output_mute_by_system_(false),
210 output_channel_remixing_changed_count_(0) {}
210 211
211 int active_output_node_changed_count() const { 212 int active_output_node_changed_count() const {
212 return active_output_node_changed_count_; 213 return active_output_node_changed_count_;
213 } 214 }
214 215
215 void reset_active_output_node_changed_count() { 216 void reset_active_output_node_changed_count() {
216 active_output_node_changed_count_ = 0; 217 active_output_node_changed_count_ = 0;
217 } 218 }
218 219
219 int active_input_node_changed_count() const { 220 int active_input_node_changed_count() const {
(...skipping 21 matching lines...) Expand all
241 int output_volume_changed_count() const { 242 int output_volume_changed_count() const {
242 return output_volume_changed_count_; 243 return output_volume_changed_count_;
243 } 244 }
244 245
245 int input_gain_changed_count() const { 246 int input_gain_changed_count() const {
246 return input_gain_changed_count_; 247 return input_gain_changed_count_;
247 } 248 }
248 249
249 bool output_mute_by_system() const { return output_mute_by_system_; } 250 bool output_mute_by_system() const { return output_mute_by_system_; }
250 251
252 int output_channel_remixing_changed_count() const {
253 return output_channel_remixing_changed_count_;
254 }
255
251 ~TestObserver() override {} 256 ~TestObserver() override {}
252 257
253 protected: 258 protected:
254 // chromeos::CrasAudioHandler::AudioObserver overrides. 259 // chromeos::CrasAudioHandler::AudioObserver overrides.
255 void OnActiveOutputNodeChanged() override { 260 void OnActiveOutputNodeChanged() override {
256 ++active_output_node_changed_count_; 261 ++active_output_node_changed_count_;
257 } 262 }
258 263
259 void OnActiveInputNodeChanged() override { 264 void OnActiveInputNodeChanged() override {
260 ++active_input_node_changed_count_; 265 ++active_input_node_changed_count_;
(...skipping 12 matching lines...) Expand all
273 278
274 void OnOutputNodeVolumeChanged(uint64_t /* node_id */, 279 void OnOutputNodeVolumeChanged(uint64_t /* node_id */,
275 int /* volume */) override { 280 int /* volume */) override {
276 ++output_volume_changed_count_; 281 ++output_volume_changed_count_;
277 } 282 }
278 283
279 void OnInputNodeGainChanged(uint64_t /* node_id */, int /* gain */) override { 284 void OnInputNodeGainChanged(uint64_t /* node_id */, int /* gain */) override {
280 ++input_gain_changed_count_; 285 ++input_gain_changed_count_;
281 } 286 }
282 287
288 void OnOuputChannelRemixingChanged(bool /* mono_on */) override {
289 ++output_channel_remixing_changed_count_;
290 }
291
283 private: 292 private:
284 int active_output_node_changed_count_; 293 int active_output_node_changed_count_;
285 int active_input_node_changed_count_; 294 int active_input_node_changed_count_;
286 int audio_nodes_changed_count_; 295 int audio_nodes_changed_count_;
287 int output_mute_changed_count_; 296 int output_mute_changed_count_;
288 int input_mute_changed_count_; 297 int input_mute_changed_count_;
289 int output_volume_changed_count_; 298 int output_volume_changed_count_;
290 int input_gain_changed_count_; 299 int input_gain_changed_count_;
291 bool output_mute_by_system_; // output mute state adjusted by system. 300 bool output_mute_by_system_; // output mute state adjusted by system.
301 int output_channel_remixing_changed_count_;
292 302
293 DISALLOW_COPY_AND_ASSIGN(TestObserver); 303 DISALLOW_COPY_AND_ASSIGN(TestObserver);
294 }; 304 };
295 305
296 } // namespace 306 } // namespace
297 307
298 class CrasAudioHandlerTest : public testing::Test { 308 class CrasAudioHandlerTest : public testing::Test {
299 public: 309 public:
300 CrasAudioHandlerTest() : cras_audio_handler_(NULL), 310 CrasAudioHandlerTest() : cras_audio_handler_(NULL),
301 fake_cras_audio_client_(NULL) { 311 fake_cras_audio_client_(NULL) {
(...skipping 1577 matching lines...) Expand 10 before | Expand all | Expand 10 after
1879 cras_audio_handler_->GetPrimaryActiveOutputDevice(&active_output)); 1889 cras_audio_handler_->GetPrimaryActiveOutputDevice(&active_output));
1880 EXPECT_EQ(internal_speaker.id, active_output.id); 1890 EXPECT_EQ(internal_speaker.id, active_output.id);
1881 EXPECT_TRUE(active_output.active); 1891 EXPECT_TRUE(active_output.active);
1882 1892
1883 // Verify the active input device id is set to internal mic. 1893 // Verify the active input device id is set to internal mic.
1884 EXPECT_EQ(internal_mic.id, cras_audio_handler_->GetPrimaryActiveInputNode()); 1894 EXPECT_EQ(internal_mic.id, cras_audio_handler_->GetPrimaryActiveInputNode());
1885 const AudioDevice* changed_active_input = GetDeviceFromId(internal_mic.id); 1895 const AudioDevice* changed_active_input = GetDeviceFromId(internal_mic.id);
1886 EXPECT_TRUE(changed_active_input->active); 1896 EXPECT_TRUE(changed_active_input->active);
1887 } 1897 }
1888 1898
1899 TEST_F(CrasAudioHandlerTest, SetOutputMono) {
1900 AudioNodeList audio_nodes;
1901 audio_nodes.push_back(kHeadphone);
1902 SetUpCrasAudioHandler(audio_nodes);
1903 EXPECT_EQ(0, test_observer_->output_channel_remixing_changed_count());
1904
1905 // Set output mono
1906 cras_audio_handler_->SetOutputMono(true);
1907
1908 // Verify the output is in mono mode, OnOuputChannelRemixingChanged event
1909 // is fired.
1910 EXPECT_TRUE(cras_audio_handler_->IsOutputMonoEnabled());
1911 EXPECT_EQ(1, test_observer_->output_channel_remixing_changed_count());
1912
1913 // Set output stereo
1914 cras_audio_handler_->SetOutputMono(false);
1915 EXPECT_FALSE(cras_audio_handler_->IsOutputMonoEnabled());
1916 EXPECT_EQ(2, test_observer_->output_channel_remixing_changed_count());
1917 }
1918
1889 TEST_F(CrasAudioHandlerTest, SetOutputMute) { 1919 TEST_F(CrasAudioHandlerTest, SetOutputMute) {
1890 AudioNodeList audio_nodes; 1920 AudioNodeList audio_nodes;
1891 audio_nodes.push_back(kInternalSpeaker); 1921 audio_nodes.push_back(kInternalSpeaker);
1892 SetUpCrasAudioHandler(audio_nodes); 1922 SetUpCrasAudioHandler(audio_nodes);
1893 EXPECT_EQ(0, test_observer_->output_mute_changed_count()); 1923 EXPECT_EQ(0, test_observer_->output_mute_changed_count());
1894 1924
1895 // Mute the device. 1925 // Mute the device.
1896 cras_audio_handler_->SetOutputMute(true); 1926 cras_audio_handler_->SetOutputMute(true);
1897 1927
1898 // Verify the output is muted, OnOutputMuteChanged event is fired, 1928 // Verify the output is muted, OnOutputMuteChanged event is fired,
(...skipping 1167 matching lines...) Expand 10 before | Expand all | Expand 10 after
3066 cras_audio_handler_->GetPrimaryActiveOutputDevice(&active_output)); 3096 cras_audio_handler_->GetPrimaryActiveOutputDevice(&active_output));
3067 EXPECT_EQ(kInternalSpeaker.id, active_output.id); 3097 EXPECT_EQ(kInternalSpeaker.id, active_output.id);
3068 EXPECT_EQ(kInternalSpeaker.id, 3098 EXPECT_EQ(kInternalSpeaker.id,
3069 cras_audio_handler_->GetPrimaryActiveOutputNode()); 3099 cras_audio_handler_->GetPrimaryActiveOutputNode());
3070 EXPECT_FALSE(cras_audio_handler_->IsOutputMuted()); 3100 EXPECT_FALSE(cras_audio_handler_->IsOutputMuted());
3071 EXPECT_EQ(1, test_observer_->output_mute_changed_count()); 3101 EXPECT_EQ(1, test_observer_->output_mute_changed_count());
3072 EXPECT_TRUE(test_observer_->output_mute_by_system()); 3102 EXPECT_TRUE(test_observer_->output_mute_by_system());
3073 } 3103 }
3074 3104
3075 } // namespace chromeos 3105 } // namespace chromeos
OLDNEW
« no previous file with comments | « chromeos/audio/cras_audio_handler.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698