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

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

Issue 422573005: Refactor net::MimeUtil media code to return probably for codecs the platform likely supports. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix VP9 support on Android condition. 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 | Annotate | Revision Log
« no previous file with comments | « no previous file | net/base/mime_util.cc » ('j') | net/base/mime_util.cc » ('J')
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 384 matching lines...) Expand 10 before | Expand all | Expand 10 after
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
OLDNEW
« no previous file with comments | « no previous file | net/base/mime_util.cc » ('j') | net/base/mime_util.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698