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

Side by Side Diff: content/browser/media/media_canplaytype_browsertest.cc

Issue 336213011: Fix: Changing canPlayType behaviour for MP4 containers (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Changing method names Created 6 years, 5 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 unified diff | Download patch
« no previous file with comments | « no previous file | net/base/mime_util.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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
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
OLDNEW
« no previous file with comments | « no previous file | net/base/mime_util.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698