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 |