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

Unified Diff: extensions/browser/api/audio/audio_apitest.cc

Issue 2510093003: Handle audio node stable device ID change (Closed)
Patch Set: fix a typo Created 4 years 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chromeos/dbus/fake_cras_audio_client.cc ('k') | extensions/browser/api/audio/audio_service_chromeos.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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();
« no previous file with comments | « chromeos/dbus/fake_cras_audio_client.cc ('k') | extensions/browser/api/audio/audio_service_chromeos.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698