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

Unified Diff: content/renderer/media/media_stream_constraints_util_video_source_unittest.cc

Issue 2664673002: Media Capture Depth Stream Extensions API: videoKind settings and constraint. (Closed)
Patch Set: GetVideoKindForFormat moved to utility. thanks guidou@. Created 3 years, 10 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/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[] = {

Powered by Google App Engine
This is Rietveld 408576698