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