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

Unified Diff: content/browser/renderer_host/media/media_devices_dispatcher_host_unittest.cc

Issue 2868853002: Add ability to retrieve capabilities for audio input devices to MediaDevicesDispatcherHost. (Closed)
Patch Set: rebase Created 3 years, 7 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 side-by-side diff with in-line comments
Download patch
Index: content/browser/renderer_host/media/media_devices_dispatcher_host_unittest.cc
diff --git a/content/browser/renderer_host/media/media_devices_dispatcher_host_unittest.cc b/content/browser/renderer_host/media/media_devices_dispatcher_host_unittest.cc
index 4664f2e409cdb9c20be3d0f152f8c143c4a0b1ce..03df9e4dfcca4e391f829c79ec4dc0142cdcaf4b 100644
--- a/content/browser/renderer_host/media/media_devices_dispatcher_host_unittest.cc
+++ b/content/browser/renderer_host/media/media_devices_dispatcher_host_unittest.cc
@@ -47,6 +47,7 @@ const int kProcessId = 5;
const int kRenderId = 6;
const size_t kNumFakeVideoDevices = 3;
const char kDefaultVideoDeviceID[] = "/dev/video2";
+const char kDefaultAudioDeviceID[] = "fake_audio_input_2";
void PhysicalDevicesEnumerated(base::Closure quit_closure,
MediaDeviceEnumeration* out,
@@ -80,8 +81,10 @@ class MediaDevicesDispatcherHostTest : public testing::TestWithParam<GURL> {
// Make sure we use fake devices to avoid long delays.
base::CommandLine::ForCurrentProcess()->AppendSwitchASCII(
switches::kUseFakeDeviceForMediaStream,
- base::StringPrintf("device-count=%zu, video-input-default-id=%s",
- kNumFakeVideoDevices, kDefaultVideoDeviceID));
+ base::StringPrintf("device-count=%zu, video-input-default-id=%s, "
+ "audio-input-default-id=%s",
+ kNumFakeVideoDevices, kDefaultVideoDeviceID,
+ kDefaultAudioDeviceID));
audio_manager_.reset(new media::MockAudioManager(
base::MakeUnique<media::TestAudioThread>()));
audio_system_ = media::AudioSystemImpl::Create(audio_manager_.get());
@@ -117,6 +120,7 @@ class MediaDevicesDispatcherHostTest : public testing::TestWithParam<GURL> {
MOCK_METHOD1(ValidOriginCallback,
void(const std::vector<std::vector<MediaDeviceInfo>>&));
MOCK_METHOD0(MockVideoInputCapabilitiesCallback, void());
+ MOCK_METHOD0(MockAudioInputCapabilitiesCallback, void());
void VideoInputCapabilitiesCallback(
std::vector<::mojom::VideoInputDeviceCapabilitiesPtr> capabilities) {
@@ -143,6 +147,20 @@ class MediaDevicesDispatcherHostTest : public testing::TestWithParam<GURL> {
EXPECT_EQ(0U, capabilities.size());
}
+ void AudioInputCapabilitiesCallback(
+ std::vector<::mojom::AudioInputDeviceCapabilitiesPtr> capabilities) {
+ MockAudioInputCapabilitiesCallback();
+ // MediaDevicesManager always returns 3 fake audio input devices.
+ const size_t kNumExpectedEntries = 3;
+ EXPECT_EQ(kNumExpectedEntries, capabilities.size());
+ std::string expected_first_device_id =
+ GetHMACForMediaDeviceID(browser_context_.GetMediaDeviceIDSalt(),
+ origin_, kDefaultAudioDeviceID);
+ EXPECT_EQ(expected_first_device_id, capabilities[0]->device_id);
+ for (const auto& capability : capabilities)
+ EXPECT_TRUE(capability->parameters.IsValid());
+ }
+
protected:
void DevicesEnumerated(
const base::Closure& closure,
@@ -360,6 +378,16 @@ TEST_P(MediaDevicesDispatcherHostTest, GetVideoInputCapabilities) {
run_loop.Run();
}
+TEST_P(MediaDevicesDispatcherHostTest, GetAudioInputCapabilities) {
+ base::RunLoop run_loop;
+ EXPECT_CALL(*this, MockAudioInputCapabilitiesCallback())
+ .WillOnce(InvokeWithoutArgs([&run_loop]() { run_loop.Quit(); }));
+ host_->GetAudioInputCapabilities(base::Bind(
+ &MediaDevicesDispatcherHostTest::AudioInputCapabilitiesCallback,
+ base::Unretained(this)));
+ run_loop.Run();
+}
+
INSTANTIATE_TEST_CASE_P(,
MediaDevicesDispatcherHostTest,
testing::Values(GURL(), GURL("https://test.com")));

Powered by Google App Engine
This is Rietveld 408576698