| Index: content/renderer/media/media_stream_constraints_util_video_source_unittest.cc
|
| diff --git a/content/renderer/media/media_stream_constraints_util_video_source_unittest.cc b/content/renderer/media/media_stream_constraints_util_video_source_unittest.cc
|
| index c8e697ce5a5dfa1d75879fb233b23eb24b219875..cc92442fc08e3c78e8b32bb4932e925c3f2d8958 100644
|
| --- a/content/renderer/media/media_stream_constraints_util_video_source_unittest.cc
|
| +++ b/content/renderer/media/media_stream_constraints_util_video_source_unittest.cc
|
| @@ -20,6 +20,7 @@ namespace {
|
| const char kDeviceID1[] = "fake_device_1";
|
| const char kDeviceID2[] = "fake_device_2";
|
| const char kDeviceID3[] = "fake_device_3";
|
| +const char kDeviceID4[] = "fake_device_4";
|
| }
|
|
|
| class MediaStreamConstraintsUtilVideoSourceTest : public testing::Test {
|
| @@ -85,6 +86,14 @@ class MediaStreamConstraintsUtilVideoSourceTest : public testing::Test {
|
| };
|
| capabilities_.device_capabilities.push_back(std::move(device));
|
|
|
| + // A depth capture device.
|
| + device = ::mojom::VideoInputDeviceCapabilities::New();
|
| + device->device_id = kDeviceID4;
|
| + device->facing_mode = ::mojom::FacingMode::ENVIRONMENT;
|
| + device->formats = {media::VideoCaptureFormat(gfx::Size(640, 480), 30.0f,
|
| + media::PIXEL_FORMAT_Y16)};
|
| + capabilities_.device_capabilities.push_back(std::move(device));
|
| +
|
| capabilities_.power_line_capabilities = {
|
| media::PowerLineFrequency::FREQUENCY_DEFAULT,
|
| media::PowerLineFrequency::FREQUENCY_50HZ,
|
| @@ -154,6 +163,17 @@ TEST_F(MediaStreamConstraintsUtilVideoSourceTest, OverconstrainedOnFacingMode) {
|
| result.failed_constraint_name);
|
| }
|
|
|
| +TEST_F(MediaStreamConstraintsUtilVideoSourceTest, OverconstrainedOnVideoKind) {
|
| + constraint_factory_.Reset();
|
| + // No device in |capabilities_| has video kind infrared.
|
| + constraint_factory_.basic().videoKind.setExact(
|
| + blink::WebString::fromASCII("infrared"));
|
| + auto result = SelectSettings();
|
| + EXPECT_FALSE(result.has_value());
|
| + EXPECT_EQ(constraint_factory_.basic().videoKind.name(),
|
| + result.failed_constraint_name);
|
| +}
|
| +
|
| TEST_F(MediaStreamConstraintsUtilVideoSourceTest, OverconstrainedOnHeight) {
|
| constraint_factory_.Reset();
|
| constraint_factory_.basic().height.setExact(123467890);
|
| @@ -330,6 +350,22 @@ TEST_F(MediaStreamConstraintsUtilVideoSourceTest, MandatoryFacingMode) {
|
| result.settings.power_line_frequency());
|
| }
|
|
|
| +TEST_F(MediaStreamConstraintsUtilVideoSourceTest, MandatoryVideoKind) {
|
| + constraint_factory_.Reset();
|
| + constraint_factory_.basic().videoKind.setExact(
|
| + blink::WebString::fromASCII("depth"));
|
| + auto result = SelectSettings();
|
| + EXPECT_TRUE(result.has_value());
|
| + EXPECT_EQ(kDeviceID4, result.settings.device_id());
|
| + EXPECT_EQ(media::PIXEL_FORMAT_Y16, result.settings.format().pixel_format);
|
| +
|
| + constraint_factory_.basic().videoKind.setExact(
|
| + blink::WebString::fromASCII("color"));
|
| + result = SelectSettings();
|
| + EXPECT_TRUE(result.has_value());
|
| + EXPECT_EQ(default_device_->device_id, result.settings.device_id());
|
| +}
|
| +
|
| TEST_F(MediaStreamConstraintsUtilVideoSourceTest, MandatoryPowerLineFrequency) {
|
| constraint_factory_.Reset();
|
| const media::PowerLineFrequency kPowerLineFrequencies[] = {
|
|
|