| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 <string> | 5 #include <string> |
| 6 | 6 |
| 7 #include "content/browser/media/media_browsertest.h" | 7 #include "content/browser/media/media_browsertest.h" |
| 8 #include "content/public/test/browser_test_utils.h" | 8 #include "content/public/test/browser_test_utils.h" |
| 9 #include "content/public/test/content_browser_test_utils.h" | 9 #include "content/public/test/content_browser_test_utils.h" |
| 10 #include "content/shell/browser/shell.h" | 10 #include "content/shell/browser/shell.h" |
| (...skipping 380 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 391 IN_PROC_BROWSER_TEST_F(MediaCanPlayTypeTest, CodecSupportTest_mp4) { | 391 IN_PROC_BROWSER_TEST_F(MediaCanPlayTypeTest, CodecSupportTest_mp4) { |
| 392 EXPECT_EQ(kPropMaybe, CanPlay("'video/mp4'")); | 392 EXPECT_EQ(kPropMaybe, CanPlay("'video/mp4'")); |
| 393 | 393 |
| 394 EXPECT_EQ(kPropMaybe, CanPlay("'video/mp4; codecs=\"avc1\"'")); | 394 EXPECT_EQ(kPropMaybe, CanPlay("'video/mp4; codecs=\"avc1\"'")); |
| 395 EXPECT_EQ(kPropMaybe, CanPlay("'video/mp4; codecs=\"avc3\"'")); | 395 EXPECT_EQ(kPropMaybe, CanPlay("'video/mp4; codecs=\"avc3\"'")); |
| 396 EXPECT_EQ(kPropMaybe, CanPlay("'video/mp4; codecs=\"mp4a.40\"'")); | 396 EXPECT_EQ(kPropMaybe, CanPlay("'video/mp4; codecs=\"mp4a.40\"'")); |
| 397 EXPECT_EQ(kPropMaybe, CanPlay("'video/mp4; codecs=\"avc1, mp4a.40\"'")); | 397 EXPECT_EQ(kPropMaybe, CanPlay("'video/mp4; codecs=\"avc1, mp4a.40\"'")); |
| 398 EXPECT_EQ(kPropMaybe, CanPlay("'video/mp4; codecs=\"avc3, mp4a.40\"'")); | 398 EXPECT_EQ(kPropMaybe, CanPlay("'video/mp4; codecs=\"avc3, mp4a.40\"'")); |
| 399 EXPECT_EQ(kPropMaybe, CanPlay("'video/mp4; codecs=\"avc1, avc3\"'")); | 399 EXPECT_EQ(kPropMaybe, CanPlay("'video/mp4; codecs=\"avc1, avc3\"'")); |
| 400 | 400 |
| 401 EXPECT_EQ(kPropMaybe, CanPlay("'video/mp4; codecs=\"avc1.4D401E\"'")); | 401 EXPECT_EQ(kPropProbably, CanPlay("'video/mp4; codecs=\"avc1.42E01E\"'")); |
| 402 EXPECT_EQ(kPropMaybe, CanPlay("'video/mp4; codecs=\"avc3.64001F\"'")); | 402 EXPECT_EQ(kPropProbably, CanPlay("'video/mp4; codecs=\"avc3.42E01E\"'")); |
| 403 EXPECT_EQ(kPropMaybe, CanPlay("'video/mp4; codecs=\"mp4a.40.2\"'")); | 403 EXPECT_EQ(kPropProbably, CanPlay("'video/mp4; codecs=\"mp4a.40.2\"'")); |
| 404 EXPECT_EQ(kPropProbably, |
| 405 CanPlay("'video/mp4; codecs=\"avc1.42E01E, mp4a.40.2\"'")); |
| 406 EXPECT_EQ(kPropProbably, |
| 407 CanPlay("'video/mp4; codecs=\"avc3.42E01E, mp4a.40.5\"'")); |
| 408 |
| 409 EXPECT_EQ(kPropMaybe, CanPlay("'video/mp4; codecs=\"avc1, mp4a.40.2\"'")); |
| 410 EXPECT_EQ(kPropMaybe, CanPlay("'video/mp4; codecs=\"avc3, mp4a.40.2\"'")); |
| 404 EXPECT_EQ(kPropMaybe, | 411 EXPECT_EQ(kPropMaybe, |
| 405 CanPlay("'video/mp4; codecs=\"avc1.4D401E, mp4a.40.2\"'")); | 412 CanPlay("'video/mp4; codecs=\"avc1.42E01E, mp4a.40\"'")); |
| 406 EXPECT_EQ(kPropMaybe, | 413 EXPECT_EQ(kPropMaybe, |
| 407 CanPlay("'video/mp4; codecs=\"avc3.64001F, mp4a.40.5\"'")); | 414 CanPlay("'video/mp4; codecs=\"avc3.42E01E, mp4a.40\"'")); |
| 408 | 415 |
| 409 TestMPEGUnacceptableCombinations("video/mp4"); | 416 TestMPEGUnacceptableCombinations("video/mp4"); |
| 410 | 417 |
| 411 EXPECT_EQ(kPropMaybe, CanPlay("'video/x-m4v'")); | 418 EXPECT_EQ(kPropMaybe, CanPlay("'video/x-m4v'")); |
| 412 | 419 |
| 413 EXPECT_EQ(kPropMaybe, CanPlay("'video/x-m4v; codecs=\"avc1\"'")); | 420 EXPECT_EQ(kPropMaybe, CanPlay("'video/x-m4v; codecs=\"avc1\"'")); |
| 414 EXPECT_EQ(kPropMaybe, CanPlay("'video/x-m4v; codecs=\"avc3\"'")); | 421 EXPECT_EQ(kPropMaybe, CanPlay("'video/x-m4v; codecs=\"avc3\"'")); |
| 415 EXPECT_EQ(kPropMaybe, CanPlay("'video/x-m4v; codecs=\"mp4a.40\"'")); | 422 EXPECT_EQ(kPropMaybe, CanPlay("'video/x-m4v; codecs=\"mp4a.40\"'")); |
| 416 EXPECT_EQ(kPropMaybe, CanPlay("'video/x-m4v; codecs=\"avc1, mp4a.40\"'")); | 423 EXPECT_EQ(kPropMaybe, CanPlay("'video/x-m4v; codecs=\"avc1, mp4a.40\"'")); |
| 417 EXPECT_EQ(kPropMaybe, CanPlay("'video/x-m4v; codecs=\"avc3, mp4a.40\"'")); | 424 EXPECT_EQ(kPropMaybe, CanPlay("'video/x-m4v; codecs=\"avc3, mp4a.40\"'")); |
| 418 EXPECT_EQ(kPropMaybe, CanPlay("'video/x-m4v; codecs=\"avc1, avc3\"'")); | 425 EXPECT_EQ(kPropMaybe, CanPlay("'video/x-m4v; codecs=\"avc1, avc3\"'")); |
| 419 | 426 |
| 420 EXPECT_EQ(kPropMaybe, CanPlay("'video/x-m4v; codecs=\"avc1.4D401E\"'")); | 427 EXPECT_EQ(kPropProbably, CanPlay("'video/x-m4v; codecs=\"avc1.42E01E\"'")); |
| 421 EXPECT_EQ(kPropMaybe, CanPlay("'video/x-m4v; codecs=\"avc3.64001F\"'")); | 428 EXPECT_EQ(kPropProbably, CanPlay("'video/x-m4v; codecs=\"avc3.42E01E\"'")); |
| 422 EXPECT_EQ(kPropMaybe, CanPlay("'video/x-m4v; codecs=\"mp4a.40.2\"'")); | 429 EXPECT_EQ(kPropProbably, CanPlay("'video/x-m4v; codecs=\"mp4a.40.2\"'")); |
| 430 EXPECT_EQ(kPropProbably, |
| 431 CanPlay("'video/x-m4v; codecs=\"avc1.42E01E, mp4a.40.2\"'")); |
| 432 EXPECT_EQ(kPropProbably, |
| 433 CanPlay("'video/x-m4v; codecs=\"avc3.42E01E, mp4a.40.5\"'")); |
| 434 |
| 435 EXPECT_EQ(kPropMaybe, CanPlay("'video/x-m4v; codecs=\"avc1, mp4a.40.2\"'")); |
| 436 EXPECT_EQ(kPropMaybe, CanPlay("'video/x-m4v; codecs=\"avc3, mp4a.40.2\"'")); |
| 423 EXPECT_EQ(kPropMaybe, | 437 EXPECT_EQ(kPropMaybe, |
| 424 CanPlay("'video/x-m4v; codecs=\"avc1.4D401E, mp4a.40.2\"'")); | 438 CanPlay("'video/x-m4v; codecs=\"avc1.42E01E, mp4a.40\"'")); |
| 425 EXPECT_EQ(kPropMaybe, | 439 EXPECT_EQ(kPropMaybe, |
| 426 CanPlay("'video/x-m4v; codecs=\"avc3.64001F, mp4a.40.5\"'")); | 440 CanPlay("'video/x-m4v; codecs=\"avc3.42E01E, mp4a.40\"'")); |
| 427 | 441 |
| 428 TestMPEGUnacceptableCombinations("video/x-m4v"); | 442 TestMPEGUnacceptableCombinations("video/x-m4v"); |
| 429 | 443 |
| 430 EXPECT_EQ(kPropMaybe, CanPlay("'audio/mp4'")); | 444 EXPECT_EQ(kPropMaybe, CanPlay("'audio/mp4'")); |
| 431 EXPECT_EQ(kPropMaybe, CanPlay("'audio/mp4; codecs=\"mp4a.40\"'")); | 445 EXPECT_EQ(kPropMaybe, CanPlay("'audio/mp4; codecs=\"mp4a.40\"'")); |
| 432 EXPECT_EQ(kPropMaybe, CanPlay("'audio/mp4; codecs=\"mp4a.40.2\"'")); | 446 EXPECT_EQ(kPropProbably, CanPlay("'audio/mp4; codecs=\"mp4a.40.2\"'")); |
| 433 | 447 |
| 434 EXPECT_EQ(kNot, CanPlay("'audio/mp4; codecs=\"avc1\"'")); | 448 EXPECT_EQ(kNot, CanPlay("'audio/mp4; codecs=\"avc1\"'")); |
| 435 EXPECT_EQ(kNot, CanPlay("'audio/mp4; codecs=\"avc3\"'")); | 449 EXPECT_EQ(kNot, CanPlay("'audio/mp4; codecs=\"avc3\"'")); |
| 436 EXPECT_EQ(kNot, CanPlay("'audio/mp4; codecs=\"avc1, mp4a.40\"'")); | 450 EXPECT_EQ(kNot, CanPlay("'audio/mp4; codecs=\"avc1, mp4a.40\"'")); |
| 437 EXPECT_EQ(kNot, CanPlay("'audio/mp4; codecs=\"avc3, mp4a.40\"'")); | 451 EXPECT_EQ(kNot, CanPlay("'audio/mp4; codecs=\"avc3, mp4a.40\"'")); |
| 438 | 452 |
| 439 EXPECT_EQ(kNot, CanPlay("'audio/mp4; codecs=\"avc1.4D401E\"'")); | 453 EXPECT_EQ(kNot, CanPlay("'audio/mp4; codecs=\"avc1.4D401E\"'")); |
| 440 EXPECT_EQ(kNot, CanPlay("'audio/mp4; codecs=\"avc3.64001F\"'")); | 454 EXPECT_EQ(kNot, CanPlay("'audio/mp4; codecs=\"avc3.64001F\"'")); |
| 441 | 455 |
| 442 TestMPEGUnacceptableCombinations("audio/mp4"); | 456 TestMPEGUnacceptableCombinations("audio/mp4"); |
| 443 | 457 |
| 444 EXPECT_EQ(kPropMaybe, CanPlay("'audio/x-m4a'")); | 458 EXPECT_EQ(kPropMaybe, CanPlay("'audio/x-m4a'")); |
| 445 EXPECT_EQ(kPropMaybe, CanPlay("'audio/x-m4a; codecs=\"mp4a.40\"'")); | 459 EXPECT_EQ(kPropMaybe, CanPlay("'audio/x-m4a; codecs=\"mp4a.40\"'")); |
| 446 EXPECT_EQ(kPropMaybe, CanPlay("'audio/x-m4a; codecs=\"mp4a.40.2\"'")); | 460 EXPECT_EQ(kPropProbably, CanPlay("'audio/x-m4a; codecs=\"mp4a.40.2\"'")); |
| 447 | 461 |
| 448 EXPECT_EQ(kNot, CanPlay("'audio/x-m4a; codecs=\"avc1\"'")); | 462 EXPECT_EQ(kNot, CanPlay("'audio/x-m4a; codecs=\"avc1\"'")); |
| 449 EXPECT_EQ(kNot, CanPlay("'audio/x-m4a; codecs=\"avc3\"'")); | 463 EXPECT_EQ(kNot, CanPlay("'audio/x-m4a; codecs=\"avc3\"'")); |
| 450 EXPECT_EQ(kNot, CanPlay("'audio/x-m4a; codecs=\"avc1, mp4a\"'")); | 464 EXPECT_EQ(kNot, CanPlay("'audio/x-m4a; codecs=\"avc1, mp4a\"'")); |
| 451 EXPECT_EQ(kNot, CanPlay("'audio/x-m4a; codecs=\"avc3, mp4a\"'")); | 465 EXPECT_EQ(kNot, CanPlay("'audio/x-m4a; codecs=\"avc3, mp4a\"'")); |
| 452 | 466 |
| 453 EXPECT_EQ(kNot, CanPlay("'audio/x-m4a; codecs=\"avc1.4D401E\"'")); | 467 EXPECT_EQ(kNot, CanPlay("'audio/x-m4a; codecs=\"avc1.4D401E\"'")); |
| 454 EXPECT_EQ(kNot, CanPlay("'audio/x-m4a; codecs=\"avc3.64001F\"'")); | 468 EXPECT_EQ(kNot, CanPlay("'audio/x-m4a; codecs=\"avc3.64001F\"'")); |
| 455 | 469 |
| 456 TestMPEGUnacceptableCombinations("audio/x-m4a"); | 470 TestMPEGUnacceptableCombinations("audio/x-m4a"); |
| 457 } | 471 } |
| 458 | 472 |
| 459 IN_PROC_BROWSER_TEST_F(MediaCanPlayTypeTest, CodecSupportTest_HLS) { | 473 IN_PROC_BROWSER_TEST_F(MediaCanPlayTypeTest, CodecSupportTest_HLS) { |
| 460 // HLS are supported only on Android IceCreamSandwich and above (API level 14) | 474 // HLS are supported only on Android IceCreamSandwich and above (API level 14) |
| 461 std::string canPlayHLS = kNot; | 475 std::string probablyCanPlayHLS = kNot; |
| 476 std::string maybeCanPlayHLS = kNot; |
| 462 #if defined(OS_ANDROID) | 477 #if defined(OS_ANDROID) |
| 463 if (base::android::BuildInfo::GetInstance()->sdk_int() > 13) | 478 if (base::android::BuildInfo::GetInstance()->sdk_int() > 13) { |
| 464 canPlayHLS = kMaybe; | 479 probablyCanPlayHLS = kProbably; |
| 480 maybeCanPlayHLS = kMaybe; |
| 481 } |
| 465 #endif | 482 #endif |
| 466 EXPECT_EQ(canPlayHLS, CanPlay("'application/x-mpegurl'")); | 483 EXPECT_EQ(maybeCanPlayHLS, CanPlay("'application/x-mpegurl'")); |
| 467 | 484 |
| 468 EXPECT_EQ(canPlayHLS, CanPlay("'application/x-mpegurl; codecs=\"avc1\"'")); | 485 EXPECT_EQ(maybeCanPlayHLS, |
| 469 EXPECT_EQ(canPlayHLS, CanPlay("'application/x-mpegurl; codecs=\"avc3\"'")); | 486 CanPlay("'application/x-mpegurl; codecs=\"avc1\"'")); |
| 470 EXPECT_EQ(canPlayHLS, CanPlay("'application/x-mpegurl; codecs=\"mp4a.40\"'")); | 487 EXPECT_EQ(maybeCanPlayHLS, |
| 471 EXPECT_EQ(canPlayHLS, | 488 CanPlay("'application/x-mpegurl; codecs=\"avc3\"'")); |
| 489 EXPECT_EQ(maybeCanPlayHLS, |
| 490 CanPlay("'application/x-mpegurl; codecs=\"mp4a.40\"'")); |
| 491 EXPECT_EQ(maybeCanPlayHLS, |
| 472 CanPlay("'application/x-mpegurl; codecs=\"avc1, mp4a.40\"'")); | 492 CanPlay("'application/x-mpegurl; codecs=\"avc1, mp4a.40\"'")); |
| 473 EXPECT_EQ(canPlayHLS, | 493 EXPECT_EQ(maybeCanPlayHLS, |
| 474 CanPlay("'application/x-mpegurl; codecs=\"avc3, mp4a.40\"'")); | 494 CanPlay("'application/x-mpegurl; codecs=\"avc3, mp4a.40\"'")); |
| 475 | 495 |
| 476 EXPECT_EQ(canPlayHLS, | 496 EXPECT_EQ(probablyCanPlayHLS, |
| 477 CanPlay("'application/x-mpegurl; codecs=\"avc1.4D401E\"'")); | 497 CanPlay("'application/x-mpegurl; codecs=\"avc1.42E01E\"'")); |
| 478 EXPECT_EQ(canPlayHLS, | 498 EXPECT_EQ(probablyCanPlayHLS, |
| 479 CanPlay("'application/x-mpegurl; codecs=\"avc3.64001F\"'")); | 499 CanPlay("'application/x-mpegurl; codecs=\"avc3.42E01E\"'")); |
| 480 EXPECT_EQ(canPlayHLS, | 500 EXPECT_EQ(probablyCanPlayHLS, |
| 481 CanPlay("'application/x-mpegurl; codecs=\"mp4a.40.2\"'")); | 501 CanPlay("'application/x-mpegurl; codecs=\"mp4a.40.2\"'")); |
| 482 EXPECT_EQ(canPlayHLS, | 502 EXPECT_EQ(probablyCanPlayHLS, |
| 483 CanPlay("'application/x-mpegurl; codecs=\"avc1.4D401E, mp4a.40.2\"'")); | 503 CanPlay("'application/x-mpegurl; codecs=\"avc1.42E01E, mp4a.40.2\"'")); |
| 484 EXPECT_EQ(canPlayHLS, | 504 EXPECT_EQ(probablyCanPlayHLS, |
| 485 CanPlay("'application/x-mpegurl; codecs=\"avc3.64001F, mp4a.40.5\"'")); | 505 CanPlay("'application/x-mpegurl; codecs=\"avc3.42E01E, mp4a.40.5\"'")); |
| 506 |
| 507 EXPECT_EQ(maybeCanPlayHLS, |
| 508 CanPlay("'application/x-mpegurl; codecs=\"avc1, mp4a.40.2\"'")); |
| 509 EXPECT_EQ(maybeCanPlayHLS, |
| 510 CanPlay("'application/x-mpegurl; codecs=\"avc3, mp4a.40.2\"'")); |
| 511 EXPECT_EQ(maybeCanPlayHLS, |
| 512 CanPlay("'application/x-mpegurl; codecs=\"avc1.42E01E, mp4a.40\"'")); |
| 513 EXPECT_EQ(maybeCanPlayHLS, |
| 514 CanPlay("'application/x-mpegurl; codecs=\"avc3.42E01E, mp4a.40\"'")); |
| 486 | 515 |
| 487 TestMPEGUnacceptableCombinations("application/x-mpegurl"); | 516 TestMPEGUnacceptableCombinations("application/x-mpegurl"); |
| 488 | 517 |
| 489 EXPECT_EQ(canPlayHLS, CanPlay("'application/vnd.apple.mpegurl'")); | 518 EXPECT_EQ(maybeCanPlayHLS, CanPlay("'application/vnd.apple.mpegurl'")); |
| 490 | 519 |
| 491 EXPECT_EQ(canPlayHLS, | 520 EXPECT_EQ(maybeCanPlayHLS, |
| 492 CanPlay("'application/vnd.apple.mpegurl; codecs=\"avc1\"'")); | 521 CanPlay("'application/vnd.apple.mpegurl; codecs=\"avc1\"'")); |
| 493 EXPECT_EQ(canPlayHLS, | 522 EXPECT_EQ(maybeCanPlayHLS, |
| 494 CanPlay("'application/vnd.apple.mpegurl; codecs=\"avc3\"'")); | 523 CanPlay("'application/vnd.apple.mpegurl; codecs=\"avc3\"'")); |
| 495 EXPECT_EQ(canPlayHLS, | 524 EXPECT_EQ(maybeCanPlayHLS, |
| 496 CanPlay("'application/vnd.apple.mpegurl; codecs=\"mp4a.40\"'")); | 525 CanPlay("'application/vnd.apple.mpegurl; codecs=\"mp4a.40\"'")); |
| 497 EXPECT_EQ(canPlayHLS, | 526 EXPECT_EQ(maybeCanPlayHLS, |
| 498 CanPlay("'application/vnd.apple.mpegurl; codecs=\"avc1, mp4a.40\"'")); | 527 CanPlay("'application/vnd.apple.mpegurl; codecs=\"avc1, mp4a.40\"'")); |
| 499 EXPECT_EQ(canPlayHLS, | 528 EXPECT_EQ(maybeCanPlayHLS, |
| 500 CanPlay("'application/vnd.apple.mpegurl; codecs=\"avc3, mp4a.40\"'")); | 529 CanPlay("'application/vnd.apple.mpegurl; codecs=\"avc3, mp4a.40\"'")); |
| 501 | 530 |
| 502 EXPECT_EQ(canPlayHLS, | 531 EXPECT_EQ(probablyCanPlayHLS, |
| 503 CanPlay("'application/vnd.apple.mpegurl; codecs=\"avc1.4D401E\"'")); | 532 CanPlay("'application/vnd.apple.mpegurl; codecs=\"avc1.42E01E\"'")); |
| 504 EXPECT_EQ(canPlayHLS, | 533 EXPECT_EQ(probablyCanPlayHLS, |
| 505 CanPlay("'application/vnd.apple.mpegurl; codecs=\"avc3.64001F\"'")); | 534 CanPlay("'application/vnd.apple.mpegurl; codecs=\"avc3.42E01E\"'")); |
| 506 EXPECT_EQ(canPlayHLS, | 535 EXPECT_EQ(probablyCanPlayHLS, |
| 507 CanPlay("'application/vnd.apple.mpegurl; codecs=\"mp4a.40.2\"'")); | 536 CanPlay("'application/vnd.apple.mpegurl; codecs=\"mp4a.40.2\"'")); |
| 508 | 537 |
| 538 EXPECT_EQ(maybeCanPlayHLS, |
| 539 CanPlay("'application/vnd.apple.mpegurl; codecs=\"avc1, mp4a.40.2\"'")); |
| 540 EXPECT_EQ(maybeCanPlayHLS, |
| 541 CanPlay("'application/vnd.apple.mpegurl; codecs=\"avc3, mp4a.40.2\"'")); |
| 542 EXPECT_EQ(maybeCanPlayHLS, |
| 543 CanPlay("'application/vnd.apple.mpegurl; " |
| 544 "codecs=\"avc1.42E01E, mp4a.40\"'")); |
| 545 EXPECT_EQ(maybeCanPlayHLS, |
| 546 CanPlay("'application/vnd.apple.mpegurl; " |
| 547 "codecs=\"avc3.42E01E, mp4a.40\"'")); |
| 548 |
| 509 TestMPEGUnacceptableCombinations("application/vnd.apple.mpegurl"); | 549 TestMPEGUnacceptableCombinations("application/vnd.apple.mpegurl"); |
| 510 } | 550 } |
| 511 | 551 |
| 512 } // namespace content | 552 } // namespace content |
| OLD | NEW |