| OLD | NEW |
| 1 // Copyright 2017 The Chromium Authors. All rights reserved. | 1 // Copyright 2017 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "content/renderer/media/media_stream_constraints_util_video_content.h" | 5 #include "content/renderer/media/media_stream_constraints_util_video_content.h" |
| 6 | 6 |
| 7 #include <cmath> | 7 #include <cmath> |
| 8 #include <string> | 8 #include <string> |
| 9 | 9 |
| 10 #include "content/common/media/media_stream_options.h" | 10 #include "content/common/media/media_stream_options.h" |
| 11 #include "content/renderer/media/mock_constraint_factory.h" | 11 #include "content/renderer/media/mock_constraint_factory.h" |
| 12 #include "media/base/limits.h" | 12 #include "media/base/limits.h" |
| 13 #include "testing/gtest/include/gtest/gtest.h" | 13 #include "testing/gtest/include/gtest/gtest.h" |
| 14 #include "third_party/WebKit/public/platform/WebMediaConstraints.h" | 14 #include "third_party/WebKit/public/platform/WebMediaConstraints.h" |
| 15 | 15 |
| 16 namespace content { | 16 namespace content { |
| 17 | 17 |
| 18 namespace { | 18 namespace { |
| 19 | 19 |
| 20 void CheckNonResolutionDefaults(const VideoCaptureSettings& result) { | 20 void CheckNonResolutionDefaults(const VideoCaptureSettings& result) { |
| 21 EXPECT_EQ(kDefaultScreenCastFrameRate, result.FrameRate()); | 21 EXPECT_EQ(kDefaultScreenCastFrameRate, result.FrameRate()); |
| 22 EXPECT_EQ(base::Optional<double>(), result.min_frame_rate()); |
| 23 EXPECT_EQ(base::Optional<double>(), result.max_frame_rate()); |
| 22 EXPECT_EQ(base::Optional<bool>(), result.noise_reduction()); | 24 EXPECT_EQ(base::Optional<bool>(), result.noise_reduction()); |
| 23 EXPECT_EQ(std::string(), result.device_id()); | 25 EXPECT_EQ(std::string(), result.device_id()); |
| 24 EXPECT_EQ(0.0, result.min_frame_rate()); | 26 EXPECT_FALSE(result.min_frame_rate().has_value()); |
| 25 } | 27 } |
| 26 | 28 |
| 27 void CheckNonFrameRateDefaults(const VideoCaptureSettings& result) { | 29 void CheckNonFrameRateDefaults(const VideoCaptureSettings& result) { |
| 28 EXPECT_EQ(kDefaultScreenCastHeight, result.Height()); | 30 EXPECT_EQ(kDefaultScreenCastHeight, result.Height()); |
| 29 EXPECT_EQ(kDefaultScreenCastWidth, result.Width()); | 31 EXPECT_EQ(kDefaultScreenCastWidth, result.Width()); |
| 30 EXPECT_EQ(base::Optional<bool>(), result.noise_reduction()); | 32 EXPECT_EQ(base::Optional<bool>(), result.noise_reduction()); |
| 31 EXPECT_EQ(std::string(), result.device_id()); | 33 EXPECT_EQ(std::string(), result.device_id()); |
| 32 } | 34 } |
| 33 | 35 |
| 34 void CheckTrackAdapterSettingsEqualsFormat(const VideoCaptureSettings& result) { | 36 void CheckTrackAdapterSettingsEqualsFormat(const VideoCaptureSettings& result) { |
| (...skipping 1210 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1245 } | 1247 } |
| 1246 } | 1248 } |
| 1247 | 1249 |
| 1248 TEST_F(MediaStreamConstraintsUtilVideoContentTest, MandatoryExactFrameRate) { | 1250 TEST_F(MediaStreamConstraintsUtilVideoContentTest, MandatoryExactFrameRate) { |
| 1249 constraint_factory_.Reset(); | 1251 constraint_factory_.Reset(); |
| 1250 const double kFrameRate = 45.0; | 1252 const double kFrameRate = 45.0; |
| 1251 constraint_factory_.basic().frame_rate.SetExact(kFrameRate); | 1253 constraint_factory_.basic().frame_rate.SetExact(kFrameRate); |
| 1252 auto result = SelectSettings(); | 1254 auto result = SelectSettings(); |
| 1253 EXPECT_TRUE(result.HasValue()); | 1255 EXPECT_TRUE(result.HasValue()); |
| 1254 EXPECT_EQ(kFrameRate, result.FrameRate()); | 1256 EXPECT_EQ(kFrameRate, result.FrameRate()); |
| 1257 EXPECT_EQ(kFrameRate, result.min_frame_rate()); |
| 1258 EXPECT_EQ(kFrameRate, result.max_frame_rate()); |
| 1255 CheckNonFrameRateDefaults(result); | 1259 CheckNonFrameRateDefaults(result); |
| 1256 CheckTrackAdapterSettingsEqualsFormatDefaultAspectRatio(result); | 1260 CheckTrackAdapterSettingsEqualsFormatDefaultAspectRatio(result); |
| 1257 } | 1261 } |
| 1258 | 1262 |
| 1259 TEST_F(MediaStreamConstraintsUtilVideoContentTest, MandatoryMinFrameRate) { | 1263 TEST_F(MediaStreamConstraintsUtilVideoContentTest, MandatoryMinFrameRate) { |
| 1260 constraint_factory_.Reset(); | 1264 constraint_factory_.Reset(); |
| 1261 const double kFrameRate = 45.0; | 1265 const double kFrameRate = 45.0; |
| 1262 constraint_factory_.basic().frame_rate.SetMin(kFrameRate); | 1266 constraint_factory_.basic().frame_rate.SetMin(kFrameRate); |
| 1263 auto result = SelectSettings(); | 1267 auto result = SelectSettings(); |
| 1264 EXPECT_TRUE(result.HasValue()); | 1268 EXPECT_TRUE(result.HasValue()); |
| 1265 // kFrameRate is greater that the default, so expect kFrameRate. | 1269 // kFrameRate is greater that the default, so expect kFrameRate. |
| 1266 EXPECT_EQ(kFrameRate, result.FrameRate()); | 1270 EXPECT_EQ(kFrameRate, result.FrameRate()); |
| 1271 EXPECT_EQ(kFrameRate, result.min_frame_rate()); |
| 1272 EXPECT_EQ(base::Optional<double>(), result.max_frame_rate()); |
| 1267 CheckNonFrameRateDefaults(result); | 1273 CheckNonFrameRateDefaults(result); |
| 1268 CheckTrackAdapterSettingsEqualsFormatDefaultAspectRatio(result); | 1274 CheckTrackAdapterSettingsEqualsFormatDefaultAspectRatio(result); |
| 1269 | 1275 |
| 1270 const double kSmallFrameRate = 5.0; | 1276 const double kSmallFrameRate = 5.0; |
| 1271 constraint_factory_.basic().frame_rate.SetMin(kSmallFrameRate); | 1277 constraint_factory_.basic().frame_rate.SetMin(kSmallFrameRate); |
| 1272 result = SelectSettings(); | 1278 result = SelectSettings(); |
| 1273 EXPECT_TRUE(result.HasValue()); | 1279 EXPECT_TRUE(result.HasValue()); |
| 1274 // kFrameRate is greater that the default, so expect kFrameRate. | 1280 // kFrameRate is greater that the default, so expect kFrameRate. |
| 1275 EXPECT_EQ(kDefaultScreenCastFrameRate, result.FrameRate()); | 1281 EXPECT_EQ(kDefaultScreenCastFrameRate, result.FrameRate()); |
| 1282 EXPECT_EQ(kSmallFrameRate, result.min_frame_rate()); |
| 1283 EXPECT_EQ(base::Optional<double>(), result.max_frame_rate()); |
| 1276 CheckNonFrameRateDefaults(result); | 1284 CheckNonFrameRateDefaults(result); |
| 1277 CheckTrackAdapterSettingsEqualsFormatDefaultAspectRatio(result); | 1285 CheckTrackAdapterSettingsEqualsFormatDefaultAspectRatio(result); |
| 1278 } | 1286 } |
| 1279 | 1287 |
| 1280 TEST_F(MediaStreamConstraintsUtilVideoContentTest, MandatoryMaxFrameRate) { | 1288 TEST_F(MediaStreamConstraintsUtilVideoContentTest, MandatoryMaxFrameRate) { |
| 1281 constraint_factory_.Reset(); | 1289 constraint_factory_.Reset(); |
| 1282 // kMaxFrameRate greater than default | 1290 // kMaxFrameRate greater than default |
| 1283 { | 1291 { |
| 1284 const double kMaxFrameRate = 45.0; | 1292 const double kMaxFrameRate = 45.0; |
| 1285 constraint_factory_.basic().frame_rate.SetMax(kMaxFrameRate); | 1293 constraint_factory_.basic().frame_rate.SetMax(kMaxFrameRate); |
| 1286 auto result = SelectSettings(); | 1294 auto result = SelectSettings(); |
| 1287 EXPECT_TRUE(result.HasValue()); | 1295 EXPECT_TRUE(result.HasValue()); |
| 1288 // If max frame rate is provided, it is used as default. | 1296 // If max frame rate is provided, it is used as default. |
| 1289 EXPECT_EQ(kMaxFrameRate, result.FrameRate()); | 1297 EXPECT_EQ(kMaxFrameRate, result.FrameRate()); |
| 1298 EXPECT_EQ(base::Optional<double>(), result.min_frame_rate()); |
| 1299 EXPECT_EQ(kMaxFrameRate, result.max_frame_rate()); |
| 1290 CheckNonFrameRateDefaults(result); | 1300 CheckNonFrameRateDefaults(result); |
| 1291 CheckTrackAdapterSettingsEqualsFormatDefaultAspectRatio(result); | 1301 CheckTrackAdapterSettingsEqualsFormatDefaultAspectRatio(result); |
| 1292 } | 1302 } |
| 1293 | 1303 |
| 1294 // kMaxFrameRate less than default | 1304 // kMaxFrameRate less than default |
| 1295 { | 1305 { |
| 1296 const double kMaxFrameRate = 5.0; | 1306 const double kMaxFrameRate = 5.0; |
| 1297 constraint_factory_.basic().frame_rate.SetMax(kMaxFrameRate); | 1307 constraint_factory_.basic().frame_rate.SetMax(kMaxFrameRate); |
| 1298 auto result = SelectSettings(); | 1308 auto result = SelectSettings(); |
| 1299 EXPECT_TRUE(result.HasValue()); | 1309 EXPECT_TRUE(result.HasValue()); |
| 1300 // If max frame rate is provided, it is used as default. | 1310 // If max frame rate is provided, it is used as default. |
| 1301 EXPECT_EQ(kMaxFrameRate, result.FrameRate()); | 1311 EXPECT_EQ(kMaxFrameRate, result.FrameRate()); |
| 1312 EXPECT_EQ(base::Optional<double>(), result.min_frame_rate()); |
| 1313 EXPECT_EQ(kMaxFrameRate, result.max_frame_rate()); |
| 1302 CheckNonFrameRateDefaults(result); | 1314 CheckNonFrameRateDefaults(result); |
| 1303 CheckTrackAdapterSettingsEqualsFormatDefaultAspectRatio(result); | 1315 CheckTrackAdapterSettingsEqualsFormatDefaultAspectRatio(result); |
| 1304 } | 1316 } |
| 1305 | 1317 |
| 1306 // kMaxFrameRate greater than the maximum allowed | 1318 // kMaxFrameRate greater than the maximum allowed |
| 1307 { | 1319 { |
| 1308 const double kMaxFrameRate = kMaxScreenCastFrameRate + 0.1; | 1320 const double kMaxFrameRate = kMaxScreenCastFrameRate + 0.1; |
| 1309 constraint_factory_.basic().frame_rate.SetMax(kMaxFrameRate); | 1321 constraint_factory_.basic().frame_rate.SetMax(kMaxFrameRate); |
| 1310 auto result = SelectSettings(); | 1322 auto result = SelectSettings(); |
| 1311 EXPECT_TRUE(result.HasValue()); | 1323 EXPECT_TRUE(result.HasValue()); |
| 1312 // Expect the default, since the given maximum is invalid. | 1324 // Expect the default, since the given maximum is invalid. |
| 1313 EXPECT_EQ(kDefaultScreenCastFrameRate, result.FrameRate()); | 1325 EXPECT_EQ(kDefaultScreenCastFrameRate, result.FrameRate()); |
| 1326 EXPECT_EQ(base::Optional<double>(), result.min_frame_rate()); |
| 1327 EXPECT_EQ(base::Optional<double>(), result.max_frame_rate()); |
| 1314 CheckNonFrameRateDefaults(result); | 1328 CheckNonFrameRateDefaults(result); |
| 1315 CheckTrackAdapterSettingsEqualsFormatDefaultAspectRatio(result); | 1329 CheckTrackAdapterSettingsEqualsFormatDefaultAspectRatio(result); |
| 1316 } | 1330 } |
| 1317 | 1331 |
| 1318 // kMaxFrameRate equal to the maximum allowed | 1332 // kMaxFrameRate equal to the maximum allowed |
| 1319 { | 1333 { |
| 1320 const double kMaxFrameRate = kMaxScreenCastFrameRate; | 1334 const double kMaxFrameRate = kMaxScreenCastFrameRate; |
| 1321 constraint_factory_.basic().frame_rate.SetMax(kMaxFrameRate); | 1335 constraint_factory_.basic().frame_rate.SetMax(kMaxFrameRate); |
| 1322 auto result = SelectSettings(); | 1336 auto result = SelectSettings(); |
| 1323 EXPECT_TRUE(result.HasValue()); | 1337 EXPECT_TRUE(result.HasValue()); |
| 1324 // If max frame rate is provided, it is used as default. | 1338 // If max frame rate is provided, it is used as default. |
| 1325 EXPECT_EQ(kMaxFrameRate, result.FrameRate()); | 1339 EXPECT_EQ(kMaxFrameRate, result.FrameRate()); |
| 1340 EXPECT_EQ(base::Optional<double>(), result.min_frame_rate()); |
| 1341 EXPECT_EQ(kMaxFrameRate, result.max_frame_rate()); |
| 1326 CheckNonFrameRateDefaults(result); | 1342 CheckNonFrameRateDefaults(result); |
| 1327 CheckTrackAdapterSettingsEqualsFormatDefaultAspectRatio(result); | 1343 CheckTrackAdapterSettingsEqualsFormatDefaultAspectRatio(result); |
| 1328 } | 1344 } |
| 1329 } | 1345 } |
| 1330 | 1346 |
| 1331 TEST_F(MediaStreamConstraintsUtilVideoContentTest, MandatoryRangeFrameRate) { | 1347 TEST_F(MediaStreamConstraintsUtilVideoContentTest, MandatoryRangeFrameRate) { |
| 1332 constraint_factory_.Reset(); | 1348 constraint_factory_.Reset(); |
| 1333 { | 1349 { |
| 1334 const double kMinFrameRate = 15.0; | 1350 const double kMinFrameRate = 15.0; |
| 1335 const double kMaxFrameRate = 45.0; | 1351 const double kMaxFrameRate = 45.0; |
| 1336 constraint_factory_.basic().frame_rate.SetMax(kMinFrameRate); | 1352 constraint_factory_.basic().frame_rate.SetMin(kMinFrameRate); |
| 1337 constraint_factory_.basic().frame_rate.SetMax(kMaxFrameRate); | 1353 constraint_factory_.basic().frame_rate.SetMax(kMaxFrameRate); |
| 1338 auto result = SelectSettings(); | 1354 auto result = SelectSettings(); |
| 1339 EXPECT_TRUE(result.HasValue()); | 1355 EXPECT_TRUE(result.HasValue()); |
| 1340 // If max frame rate is provided, it is used as default. | 1356 // If max frame rate is provided, it is used as default. |
| 1341 EXPECT_EQ(kMaxFrameRate, result.FrameRate()); | 1357 EXPECT_EQ(kMaxFrameRate, result.FrameRate()); |
| 1358 EXPECT_EQ(kMinFrameRate, result.min_frame_rate()); |
| 1359 EXPECT_EQ(kMaxFrameRate, result.max_frame_rate()); |
| 1342 CheckNonFrameRateDefaults(result); | 1360 CheckNonFrameRateDefaults(result); |
| 1343 CheckTrackAdapterSettingsEqualsFormatDefaultAspectRatio(result); | 1361 CheckTrackAdapterSettingsEqualsFormatDefaultAspectRatio(result); |
| 1344 } | 1362 } |
| 1345 | 1363 |
| 1346 { | 1364 { |
| 1347 const double kMinFrameRate = 45.0; | 1365 const double kMinFrameRate = 45.0; |
| 1348 const double kMaxFrameRate = 55.0; | 1366 const double kMaxFrameRate = 55.0; |
| 1349 constraint_factory_.basic().frame_rate.SetMax(kMinFrameRate); | 1367 constraint_factory_.basic().frame_rate.SetMin(kMinFrameRate); |
| 1350 constraint_factory_.basic().frame_rate.SetMax(kMaxFrameRate); | 1368 constraint_factory_.basic().frame_rate.SetMax(kMaxFrameRate); |
| 1351 auto result = SelectSettings(); | 1369 auto result = SelectSettings(); |
| 1352 EXPECT_TRUE(result.HasValue()); | 1370 EXPECT_TRUE(result.HasValue()); |
| 1353 // If max frame rate is provided, it is used as default. | 1371 // If max frame rate is provided, it is used as default. |
| 1354 EXPECT_EQ(kMaxFrameRate, result.FrameRate()); | 1372 EXPECT_EQ(kMaxFrameRate, result.FrameRate()); |
| 1373 EXPECT_EQ(kMinFrameRate, result.min_frame_rate()); |
| 1374 EXPECT_EQ(kMaxFrameRate, result.max_frame_rate()); |
| 1355 CheckNonFrameRateDefaults(result); | 1375 CheckNonFrameRateDefaults(result); |
| 1356 CheckTrackAdapterSettingsEqualsFormatDefaultAspectRatio(result); | 1376 CheckTrackAdapterSettingsEqualsFormatDefaultAspectRatio(result); |
| 1357 } | 1377 } |
| 1358 | 1378 |
| 1359 { | 1379 { |
| 1360 const double kMinFrameRate = 10.0; | 1380 const double kMinFrameRate = 10.0; |
| 1361 const double kMaxFrameRate = 15.0; | 1381 const double kMaxFrameRate = 15.0; |
| 1362 constraint_factory_.basic().frame_rate.SetMax(kMinFrameRate); | 1382 constraint_factory_.basic().frame_rate.SetMin(kMinFrameRate); |
| 1363 constraint_factory_.basic().frame_rate.SetMax(kMaxFrameRate); | 1383 constraint_factory_.basic().frame_rate.SetMax(kMaxFrameRate); |
| 1364 auto result = SelectSettings(); | 1384 auto result = SelectSettings(); |
| 1365 EXPECT_TRUE(result.HasValue()); | 1385 EXPECT_TRUE(result.HasValue()); |
| 1366 // If max frame rate is provided, it is used as default. | 1386 // If max frame rate is provided, it is used as default. |
| 1367 EXPECT_EQ(kMaxFrameRate, result.FrameRate()); | 1387 EXPECT_EQ(kMaxFrameRate, result.FrameRate()); |
| 1388 EXPECT_EQ(kMinFrameRate, result.min_frame_rate()); |
| 1389 EXPECT_EQ(kMaxFrameRate, result.max_frame_rate()); |
| 1368 CheckNonFrameRateDefaults(result); | 1390 CheckNonFrameRateDefaults(result); |
| 1369 CheckTrackAdapterSettingsEqualsFormatDefaultAspectRatio(result); | 1391 CheckTrackAdapterSettingsEqualsFormatDefaultAspectRatio(result); |
| 1370 } | 1392 } |
| 1371 } | 1393 } |
| 1372 | 1394 |
| 1373 TEST_F(MediaStreamConstraintsUtilVideoContentTest, IdealFrameRate) { | 1395 TEST_F(MediaStreamConstraintsUtilVideoContentTest, IdealFrameRate) { |
| 1374 // Unconstrained. | 1396 // Unconstrained. |
| 1375 { | 1397 { |
| 1376 constraint_factory_.Reset(); | 1398 constraint_factory_.Reset(); |
| 1377 const double kIdealFrameRate = 45.0; | 1399 const double kIdealFrameRate = 45.0; |
| 1378 constraint_factory_.basic().frame_rate.SetIdeal(kIdealFrameRate); | 1400 constraint_factory_.basic().frame_rate.SetIdeal(kIdealFrameRate); |
| 1379 auto result = SelectSettings(); | 1401 auto result = SelectSettings(); |
| 1380 EXPECT_TRUE(result.HasValue()); | 1402 EXPECT_TRUE(result.HasValue()); |
| 1381 EXPECT_EQ(kIdealFrameRate, result.FrameRate()); | 1403 EXPECT_EQ(kIdealFrameRate, result.FrameRate()); |
| 1404 EXPECT_EQ(base::Optional<double>(), result.min_frame_rate()); |
| 1405 EXPECT_EQ(base::Optional<double>(), result.max_frame_rate()); |
| 1382 CheckNonFrameRateDefaults(result); | 1406 CheckNonFrameRateDefaults(result); |
| 1383 CheckTrackAdapterSettingsEqualsFormatDefaultAspectRatio(result); | 1407 CheckTrackAdapterSettingsEqualsFormatDefaultAspectRatio(result); |
| 1384 } | 1408 } |
| 1385 | 1409 |
| 1386 // Ideal greater than maximum. | 1410 // Ideal greater than maximum. |
| 1387 { | 1411 { |
| 1388 constraint_factory_.Reset(); | 1412 constraint_factory_.Reset(); |
| 1389 const double kIdealFrameRate = 45.0; | 1413 const double kIdealFrameRate = 45.0; |
| 1390 const double kMaxFrameRate = 30.0; | 1414 const double kMaxFrameRate = 30.0; |
| 1391 constraint_factory_.basic().frame_rate.SetIdeal(kIdealFrameRate); | 1415 constraint_factory_.basic().frame_rate.SetIdeal(kIdealFrameRate); |
| 1392 constraint_factory_.basic().frame_rate.SetMax(kMaxFrameRate); | 1416 constraint_factory_.basic().frame_rate.SetMax(kMaxFrameRate); |
| 1393 auto result = SelectSettings(); | 1417 auto result = SelectSettings(); |
| 1394 EXPECT_TRUE(result.HasValue()); | 1418 EXPECT_TRUE(result.HasValue()); |
| 1395 EXPECT_EQ(kMaxFrameRate, result.FrameRate()); | 1419 EXPECT_EQ(kMaxFrameRate, result.FrameRate()); |
| 1420 EXPECT_EQ(base::Optional<double>(), result.min_frame_rate()); |
| 1421 EXPECT_EQ(kMaxFrameRate, result.max_frame_rate()); |
| 1396 CheckNonFrameRateDefaults(result); | 1422 CheckNonFrameRateDefaults(result); |
| 1397 CheckTrackAdapterSettingsEqualsFormatDefaultAspectRatio(result); | 1423 CheckTrackAdapterSettingsEqualsFormatDefaultAspectRatio(result); |
| 1398 } | 1424 } |
| 1399 | 1425 |
| 1400 // Ideal less than minimum. | 1426 // Ideal less than minimum. |
| 1401 { | 1427 { |
| 1402 constraint_factory_.Reset(); | 1428 constraint_factory_.Reset(); |
| 1403 const double kIdealFrameRate = 45.0; | 1429 const double kIdealFrameRate = 45.0; |
| 1404 const double kMinFrameRate = 50.0; | 1430 const double kMinFrameRate = 50.0; |
| 1405 constraint_factory_.basic().frame_rate.SetIdeal(kIdealFrameRate); | 1431 constraint_factory_.basic().frame_rate.SetIdeal(kIdealFrameRate); |
| 1406 constraint_factory_.basic().frame_rate.SetMin(kMinFrameRate); | 1432 constraint_factory_.basic().frame_rate.SetMin(kMinFrameRate); |
| 1407 auto result = SelectSettings(); | 1433 auto result = SelectSettings(); |
| 1408 EXPECT_TRUE(result.HasValue()); | 1434 EXPECT_TRUE(result.HasValue()); |
| 1409 EXPECT_EQ(kMinFrameRate, result.FrameRate()); | 1435 EXPECT_EQ(kMinFrameRate, result.FrameRate()); |
| 1436 EXPECT_EQ(base::Optional<double>(), result.max_frame_rate()); |
| 1410 CheckNonFrameRateDefaults(result); | 1437 CheckNonFrameRateDefaults(result); |
| 1411 CheckTrackAdapterSettingsEqualsFormatDefaultAspectRatio(result); | 1438 CheckTrackAdapterSettingsEqualsFormatDefaultAspectRatio(result); |
| 1412 } | 1439 } |
| 1413 | 1440 |
| 1414 // Ideal within range. | 1441 // Ideal within range. |
| 1415 { | 1442 { |
| 1416 constraint_factory_.Reset(); | 1443 constraint_factory_.Reset(); |
| 1417 const double kIdealFrameRate = 45.0; | 1444 const double kIdealFrameRate = 45.0; |
| 1418 const double kMinFrameRate = 35.0; | 1445 const double kMinFrameRate = 35.0; |
| 1419 const double kMaxFrameRate = 50.0; | 1446 const double kMaxFrameRate = 50.0; |
| 1420 constraint_factory_.basic().frame_rate.SetIdeal(kIdealFrameRate); | 1447 constraint_factory_.basic().frame_rate.SetIdeal(kIdealFrameRate); |
| 1421 constraint_factory_.basic().frame_rate.SetMin(kMinFrameRate); | 1448 constraint_factory_.basic().frame_rate.SetMin(kMinFrameRate); |
| 1422 constraint_factory_.basic().frame_rate.SetMax(kMaxFrameRate); | 1449 constraint_factory_.basic().frame_rate.SetMax(kMaxFrameRate); |
| 1423 auto result = SelectSettings(); | 1450 auto result = SelectSettings(); |
| 1424 EXPECT_TRUE(result.HasValue()); | 1451 EXPECT_TRUE(result.HasValue()); |
| 1425 EXPECT_EQ(kIdealFrameRate, result.FrameRate()); | 1452 EXPECT_EQ(kIdealFrameRate, result.FrameRate()); |
| 1453 EXPECT_EQ(kMinFrameRate, result.min_frame_rate()); |
| 1454 EXPECT_EQ(kMaxFrameRate, result.max_frame_rate()); |
| 1426 CheckNonFrameRateDefaults(result); | 1455 CheckNonFrameRateDefaults(result); |
| 1427 CheckTrackAdapterSettingsEqualsFormatDefaultAspectRatio(result); | 1456 CheckTrackAdapterSettingsEqualsFormatDefaultAspectRatio(result); |
| 1428 } | 1457 } |
| 1429 } | 1458 } |
| 1430 | 1459 |
| 1431 // The "Advanced" tests check selection criteria involving advanced constraint | 1460 // The "Advanced" tests check selection criteria involving advanced constraint |
| 1432 // sets. | 1461 // sets. |
| 1433 TEST_F(MediaStreamConstraintsUtilVideoContentTest, | 1462 TEST_F(MediaStreamConstraintsUtilVideoContentTest, |
| 1434 AdvancedMinMaxResolutionFrameRate) { | 1463 AdvancedMinMaxResolutionFrameRate) { |
| 1435 constraint_factory_.Reset(); | 1464 constraint_factory_.Reset(); |
| (...skipping 627 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2063 // Only specifying a maximum resolution allows resolution adjustment. | 2092 // Only specifying a maximum resolution allows resolution adjustment. |
| 2064 EXPECT_EQ(media::RESOLUTION_POLICY_ANY_WITHIN_LIMIT, | 2093 EXPECT_EQ(media::RESOLUTION_POLICY_ANY_WITHIN_LIMIT, |
| 2065 result.ResolutionChangePolicy()); | 2094 result.ResolutionChangePolicy()); |
| 2066 EXPECT_EQ(1.0 / 4000, result.track_adapter_settings().min_aspect_ratio); | 2095 EXPECT_EQ(1.0 / 4000, result.track_adapter_settings().min_aspect_ratio); |
| 2067 EXPECT_EQ(4000.0, result.track_adapter_settings().max_aspect_ratio); | 2096 EXPECT_EQ(4000.0, result.track_adapter_settings().max_aspect_ratio); |
| 2068 CheckTrackAdapterSettingsEqualsFormat(result); | 2097 CheckTrackAdapterSettingsEqualsFormat(result); |
| 2069 } | 2098 } |
| 2070 } | 2099 } |
| 2071 | 2100 |
| 2072 } // namespace content | 2101 } // namespace content |
| OLD | NEW |