| Index: chromeos/audio/cras_audio_handler_unittest.cc
|
| diff --git a/chromeos/audio/cras_audio_handler_unittest.cc b/chromeos/audio/cras_audio_handler_unittest.cc
|
| index 5fadd6f85a3f4eb9713d69f37652eb93848cdb40..83fd84b70c85d4dc674068ff617ed307e9149ed1 100644
|
| --- a/chromeos/audio/cras_audio_handler_unittest.cc
|
| +++ b/chromeos/audio/cras_audio_handler_unittest.cc
|
| @@ -206,7 +206,8 @@ class TestObserver : public chromeos::CrasAudioHandler::AudioObserver {
|
| input_mute_changed_count_(0),
|
| output_volume_changed_count_(0),
|
| input_gain_changed_count_(0),
|
| - output_mute_by_system_(false) {}
|
| + output_mute_by_system_(false),
|
| + output_channel_remixing_changed_count_(0) {}
|
|
|
| int active_output_node_changed_count() const {
|
| return active_output_node_changed_count_;
|
| @@ -248,6 +249,10 @@ class TestObserver : public chromeos::CrasAudioHandler::AudioObserver {
|
|
|
| bool output_mute_by_system() const { return output_mute_by_system_; }
|
|
|
| + int output_channel_remixing_changed_count() const {
|
| + return output_channel_remixing_changed_count_;
|
| + }
|
| +
|
| ~TestObserver() override {}
|
|
|
| protected:
|
| @@ -280,6 +285,10 @@ class TestObserver : public chromeos::CrasAudioHandler::AudioObserver {
|
| ++input_gain_changed_count_;
|
| }
|
|
|
| + void OnOuputChannelRemixingChanged(bool /* mono_on */) override {
|
| + ++output_channel_remixing_changed_count_;
|
| + }
|
| +
|
| private:
|
| int active_output_node_changed_count_;
|
| int active_input_node_changed_count_;
|
| @@ -289,6 +298,7 @@ class TestObserver : public chromeos::CrasAudioHandler::AudioObserver {
|
| int output_volume_changed_count_;
|
| int input_gain_changed_count_;
|
| bool output_mute_by_system_; // output mute state adjusted by system.
|
| + int output_channel_remixing_changed_count_;
|
|
|
| DISALLOW_COPY_AND_ASSIGN(TestObserver);
|
| };
|
| @@ -1886,6 +1896,26 @@ TEST_F(CrasAudioHandlerTest,
|
| EXPECT_TRUE(changed_active_input->active);
|
| }
|
|
|
| +TEST_F(CrasAudioHandlerTest, SetOutputMono) {
|
| + AudioNodeList audio_nodes;
|
| + audio_nodes.push_back(kHeadphone);
|
| + SetUpCrasAudioHandler(audio_nodes);
|
| + EXPECT_EQ(0, test_observer_->output_channel_remixing_changed_count());
|
| +
|
| + // Set output mono
|
| + cras_audio_handler_->SetOutputMono(true);
|
| +
|
| + // Verify the output is in mono mode, OnOuputChannelRemixingChanged event
|
| + // is fired.
|
| + EXPECT_TRUE(cras_audio_handler_->IsOutputMonoEnabled());
|
| + EXPECT_EQ(1, test_observer_->output_channel_remixing_changed_count());
|
| +
|
| + // Set output stereo
|
| + cras_audio_handler_->SetOutputMono(false);
|
| + EXPECT_FALSE(cras_audio_handler_->IsOutputMonoEnabled());
|
| + EXPECT_EQ(2, test_observer_->output_channel_remixing_changed_count());
|
| +}
|
| +
|
| TEST_F(CrasAudioHandlerTest, SetOutputMute) {
|
| AudioNodeList audio_nodes;
|
| audio_nodes.push_back(kInternalSpeaker);
|
|
|