| Index: extensions/browser/api/audio/audio_apitest.cc
|
| diff --git a/extensions/browser/api/audio/audio_apitest.cc b/extensions/browser/api/audio/audio_apitest.cc
|
| index 40a5853179858f5416e6d86b4aa1fe4a64a492f6..20b73072598938ac0784c5bf9c21557414fcb51d 100644
|
| --- a/extensions/browser/api/audio/audio_apitest.cc
|
| +++ b/extensions/browser/api/audio/audio_apitest.cc
|
| @@ -40,59 +40,47 @@ const uint64_t kJabraMic2StableDeviceId = 90002;
|
| const uint64_t kWebcamMicId = 40003;
|
| const uint64_t kWebcamMicStableDeviceId = 90003;
|
|
|
| -const AudioNode kJabraSpeaker1(false,
|
| - kJabraSpeaker1Id,
|
| - kJabraSpeaker1StableDeviceId,
|
| - "Jabra Speaker",
|
| - "USB",
|
| - "Jabra Speaker 1",
|
| - false,
|
| - 0);
|
| -
|
| -const AudioNode kJabraSpeaker2(false,
|
| - kJabraSpeaker2Id,
|
| - kJabraSpeaker2StableDeviceId,
|
| - "Jabra Speaker",
|
| - "USB",
|
| - "Jabra Speaker 2",
|
| - false,
|
| - 0);
|
| -
|
| -const AudioNode kHDMIOutput(false,
|
| - kHDMIOutputId,
|
| - kHDMIOutputStabeDevicelId,
|
| - "HDMI output",
|
| - "HDMI",
|
| - "HDA Intel MID",
|
| - false,
|
| - 0);
|
| -
|
| -const AudioNode kJabraMic1(true,
|
| - kJabraMic1Id,
|
| - kJabraMic1StableDeviceId,
|
| - "Jabra Mic",
|
| - "USB",
|
| - "Jabra Mic 1",
|
| - false,
|
| - 0);
|
| -
|
| -const AudioNode kJabraMic2(true,
|
| - kJabraMic2Id,
|
| - kJabraMic2StableDeviceId,
|
| - "Jabra Mic",
|
| - "USB",
|
| - "Jabra Mic 2",
|
| - false,
|
| - 0);
|
| -
|
| -const AudioNode kUSBCameraMic(true,
|
| - kWebcamMicId,
|
| - kWebcamMicStableDeviceId,
|
| - "Webcam Mic",
|
| - "USB",
|
| - "Logitech Webcam",
|
| - false,
|
| - 0);
|
| +struct AudioNodeInfo {
|
| + bool is_input;
|
| + uint64_t id;
|
| + uint64_t stable_id;
|
| + const char* const device_name;
|
| + const char* const type;
|
| + const char* const name;
|
| +};
|
| +
|
| +const AudioNodeInfo kJabraSpeaker1 = {
|
| + false, kJabraSpeaker1Id, kJabraSpeaker1StableDeviceId, "Jabra Speaker",
|
| + "USB", "Jabra Speaker 1"};
|
| +
|
| +const AudioNodeInfo kJabraSpeaker2 = {
|
| + false, kJabraSpeaker2Id, kJabraSpeaker2StableDeviceId, "Jabra Speaker",
|
| + "USB", "Jabra Speaker 2"};
|
| +
|
| +const AudioNodeInfo kHDMIOutput = {
|
| + false, kHDMIOutputId, kHDMIOutputStabeDevicelId,
|
| + "HDMI output", "HDMI", "HDA Intel MID"};
|
| +
|
| +const AudioNodeInfo kJabraMic1 = {
|
| + true, kJabraMic1Id, kJabraMic1StableDeviceId,
|
| + "Jabra Mic", "USB", "Jabra Mic 1"};
|
| +
|
| +const AudioNodeInfo kJabraMic2 = {
|
| + true, kJabraMic2Id, kJabraMic2StableDeviceId,
|
| + "Jabra Mic", "USB", "Jabra Mic 2"};
|
| +
|
| +const AudioNodeInfo kUSBCameraMic = {
|
| + true, kWebcamMicId, kWebcamMicStableDeviceId,
|
| + "Webcam Mic", "USB", "Logitech Webcam"};
|
| +
|
| +AudioNode CreateAudioNode(const AudioNodeInfo& info, int version) {
|
| + return AudioNode(info.is_input, info.id, version == 2,
|
| + // stable_device_id:
|
| + info.stable_id ^ (version == 1 ? 0 : 0xFFFF),
|
| + // stable_device_id_old:
|
| + version == 1 ? 0 : info.stable_id, info.device_name,
|
| + info.type, info.name, false, 0);
|
| +}
|
|
|
| class AudioApiTest : public ShellApiTest {
|
| public:
|
| @@ -125,24 +113,33 @@ class AudioApiTest : public ShellApiTest {
|
| chromeos::FakeCrasAudioClient* fake_cras_audio_client_; // Not owned.
|
| };
|
|
|
| -IN_PROC_BROWSER_TEST_F(AudioApiTest, Audio) {
|
| +IN_PROC_BROWSER_TEST_F(AudioApiTest, AudioV1StableId) {
|
| // Set up the audio nodes for testing.
|
| - AudioNodeList audio_nodes;
|
| - audio_nodes.push_back(kJabraSpeaker1);
|
| - audio_nodes.push_back(kJabraSpeaker2);
|
| - audio_nodes.push_back(kHDMIOutput);
|
| - audio_nodes.push_back(kJabraMic1);
|
| - audio_nodes.push_back(kJabraMic2);
|
| - audio_nodes.push_back(kUSBCameraMic);
|
| + AudioNodeList audio_nodes = {
|
| + CreateAudioNode(kJabraSpeaker1, 1), CreateAudioNode(kJabraSpeaker2, 1),
|
| + CreateAudioNode(kHDMIOutput, 1), CreateAudioNode(kJabraMic1, 1),
|
| + CreateAudioNode(kJabraMic2, 1), CreateAudioNode(kUSBCameraMic, 1)};
|
| +
|
| + SetUpCrasAudioHandlerWithTestingNodes(audio_nodes);
|
| +
|
| + EXPECT_TRUE(RunAppTest("api_test/audio")) << message_;
|
| +}
|
| +
|
| +IN_PROC_BROWSER_TEST_F(AudioApiTest, AudioV2StableId) {
|
| + // Set up the audio nodes for testing.
|
| + AudioNodeList audio_nodes = {
|
| + CreateAudioNode(kJabraSpeaker1, 2), CreateAudioNode(kJabraSpeaker2, 2),
|
| + CreateAudioNode(kHDMIOutput, 2), CreateAudioNode(kJabraMic1, 2),
|
| + CreateAudioNode(kJabraMic2, 2), CreateAudioNode(kUSBCameraMic, 2)};
|
| +
|
| SetUpCrasAudioHandlerWithTestingNodes(audio_nodes);
|
|
|
| EXPECT_TRUE(RunAppTest("api_test/audio")) << message_;
|
| }
|
|
|
| IN_PROC_BROWSER_TEST_F(AudioApiTest, OnLevelChangedOutputDevice) {
|
| - AudioNodeList audio_nodes;
|
| - audio_nodes.push_back(kJabraSpeaker1);
|
| - audio_nodes.push_back(kHDMIOutput);
|
| + AudioNodeList audio_nodes = {CreateAudioNode(kJabraSpeaker1, 1),
|
| + CreateAudioNode(kHDMIOutput, 1)};
|
| SetUpCrasAudioHandlerWithTestingNodes(audio_nodes);
|
|
|
| // Verify the jabra speaker is the active output device.
|
| @@ -171,9 +168,8 @@ IN_PROC_BROWSER_TEST_F(AudioApiTest, OnLevelChangedOutputDevice) {
|
| }
|
|
|
| IN_PROC_BROWSER_TEST_F(AudioApiTest, OnOutputMuteChanged) {
|
| - AudioNodeList audio_nodes;
|
| - audio_nodes.push_back(kJabraSpeaker1);
|
| - audio_nodes.push_back(kHDMIOutput);
|
| + AudioNodeList audio_nodes = {CreateAudioNode(kJabraSpeaker1, 1),
|
| + CreateAudioNode(kHDMIOutput, 1)};
|
| SetUpCrasAudioHandlerWithTestingNodes(audio_nodes);
|
|
|
| // Verify the jabra speaker is the active output device.
|
| @@ -201,13 +197,12 @@ IN_PROC_BROWSER_TEST_F(AudioApiTest, OnOutputMuteChanged) {
|
| }
|
|
|
| IN_PROC_BROWSER_TEST_F(AudioApiTest, OnInputMuteChanged) {
|
| - AudioNodeList audio_nodes;
|
| - audio_nodes.push_back(kJabraMic1);
|
| - audio_nodes.push_back(kUSBCameraMic);
|
| + AudioNodeList audio_nodes = {CreateAudioNode(kJabraMic1, 1),
|
| + CreateAudioNode(kUSBCameraMic, 1)};
|
| SetUpCrasAudioHandlerWithTestingNodes(audio_nodes);
|
|
|
| // Set the jabra mic to be the active input device.
|
| - AudioDevice jabra_mic(kJabraMic1);
|
| + AudioDevice jabra_mic(CreateAudioNode(kJabraMic1, 1));
|
| cras_audio_handler_->SwitchToDevice(
|
| jabra_mic, true, chromeos::CrasAudioHandler::ACTIVATE_BY_USER);
|
| EXPECT_EQ(kJabraMic1.id, cras_audio_handler_->GetPrimaryActiveInputNode());
|
| @@ -232,9 +227,8 @@ IN_PROC_BROWSER_TEST_F(AudioApiTest, OnInputMuteChanged) {
|
| }
|
|
|
| IN_PROC_BROWSER_TEST_F(AudioApiTest, OnNodesChangedAddNodes) {
|
| - AudioNodeList audio_nodes;
|
| - audio_nodes.push_back(kJabraSpeaker1);
|
| - audio_nodes.push_back(kJabraSpeaker2);
|
| + AudioNodeList audio_nodes = {CreateAudioNode(kJabraSpeaker1, 1),
|
| + CreateAudioNode(kJabraSpeaker2, 1)};
|
| SetUpCrasAudioHandlerWithTestingNodes(audio_nodes);
|
| const size_t init_device_size = audio_nodes.size();
|
|
|
| @@ -249,7 +243,7 @@ IN_PROC_BROWSER_TEST_F(AudioApiTest, OnNodesChangedAddNodes) {
|
| ASSERT_TRUE(load_listener.WaitUntilSatisfied());
|
|
|
| // Plug in HDMI output.
|
| - audio_nodes.push_back(kHDMIOutput);
|
| + audio_nodes.push_back(CreateAudioNode(kHDMIOutput, 1));
|
| ChangeAudioNodes(audio_nodes);
|
| cras_audio_handler_->GetAudioDevices(&audio_devices);
|
| EXPECT_EQ(init_device_size + 1, audio_devices.size());
|
| @@ -260,10 +254,9 @@ IN_PROC_BROWSER_TEST_F(AudioApiTest, OnNodesChangedAddNodes) {
|
| }
|
|
|
| IN_PROC_BROWSER_TEST_F(AudioApiTest, OnNodesChangedRemoveNodes) {
|
| - AudioNodeList audio_nodes;
|
| - audio_nodes.push_back(kJabraMic1);
|
| - audio_nodes.push_back(kJabraMic2);
|
| - audio_nodes.push_back(kUSBCameraMic);
|
| + AudioNodeList audio_nodes = {CreateAudioNode(kJabraMic1, 1),
|
| + CreateAudioNode(kJabraMic2, 1),
|
| + CreateAudioNode(kUSBCameraMic, 1)};
|
| SetUpCrasAudioHandlerWithTestingNodes(audio_nodes);
|
| const size_t init_device_size = audio_nodes.size();
|
|
|
|
|