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

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

Issue 812643005: Re-add AC3/EAC3 audio demuxing support (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: buildfix Created 4 years, 11 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 | media/BUILD.gn » ('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 "base/macros.h" 7 #include "base/macros.h"
8 #include "build/build_config.h" 8 #include "build/build_config.h"
9 #include "content/browser/media/media_browsertest.h" 9 #include "content/browser/media/media_browsertest.h"
10 #include "content/public/test/browser_test_utils.h" 10 #include "content/public/test/browser_test_utils.h"
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
49 #endif 49 #endif
50 50
51 #if BUILDFLAG(ENABLE_MSE_MPEG2TS_STREAM_PARSER) 51 #if BUILDFLAG(ENABLE_MSE_MPEG2TS_STREAM_PARSER)
52 const char* kMp2tsMaybe = kPropMaybe; 52 const char* kMp2tsMaybe = kPropMaybe;
53 const char* kMp2tsProbably = kPropProbably; 53 const char* kMp2tsProbably = kPropProbably;
54 #else 54 #else
55 const char* kMp2tsMaybe = kNot; 55 const char* kMp2tsMaybe = kNot;
56 const char* kMp2tsProbably = kNot; 56 const char* kMp2tsProbably = kNot;
57 #endif 57 #endif
58 58
59 #if BUILDFLAG(ENABLE_AC3_EAC3_AUDIO_DEMUXING)
60 const char* kAc3Eac3Probably = kPropProbably;
61 #else
62 const char* kAc3Eac3Probably = kNot;
63 #endif
64
65 #if BUILDFLAG(ENABLE_MSE_MPEG2TS_STREAM_PARSER) && \
66 BUILDFLAG(ENABLE_AC3_EAC3_AUDIO_DEMUXING)
67 const char* kMp2tsAc3Eac3Probably = kPropProbably;
68 #else
69 const char* kMp2tsAc3Eac3Probably = kNot;
70 #endif
71
59 namespace content { 72 namespace content {
60 73
61 class MediaCanPlayTypeTest : public MediaBrowserTest { 74 class MediaCanPlayTypeTest : public MediaBrowserTest {
62 public: 75 public:
63 MediaCanPlayTypeTest() : url_("about:blank") { } 76 MediaCanPlayTypeTest() : url_("about:blank") { }
64 77
65 void SetUpOnMainThread() override { NavigateToURL(shell(), url_); } 78 void SetUpOnMainThread() override { NavigateToURL(shell(), url_); }
66 79
67 std::string CanPlay(const std::string& type) { 80 std::string CanPlay(const std::string& type) {
68 std::string command("document.createElement('video').canPlayType("); 81 std::string command("document.createElement('video').canPlayType(");
(...skipping 144 matching lines...) Expand 10 before | Expand all | Expand 10 after
213 CanPlay("'" + mime + "; codecs=\", AVC3.64001F, MP4.40.02\"'")); 226 CanPlay("'" + mime + "; codecs=\", AVC3.64001F, MP4.40.02\"'"));
214 227
215 // Unknown codecs. 228 // Unknown codecs.
216 EXPECT_EQ(kNot, CanPlay("'" + mime + "; codecs=\"avc2\"'")); 229 EXPECT_EQ(kNot, CanPlay("'" + mime + "; codecs=\"avc2\"'"));
217 EXPECT_EQ(kNot, CanPlay("'" + mime + "; codecs=\"avc4\"'")); 230 EXPECT_EQ(kNot, CanPlay("'" + mime + "; codecs=\"avc4\"'"));
218 231
219 EXPECT_EQ(kNot, CanPlay("'" + mime + "; codecs=\"avc1x\"'")); 232 EXPECT_EQ(kNot, CanPlay("'" + mime + "; codecs=\"avc1x\"'"));
220 EXPECT_EQ(kNot, CanPlay("'" + mime + "; codecs=\"avc3x\"'")); 233 EXPECT_EQ(kNot, CanPlay("'" + mime + "; codecs=\"avc3x\"'"));
221 EXPECT_EQ(kNot, CanPlay("'" + mime + "; codecs=\"mp4ax\"'")); 234 EXPECT_EQ(kNot, CanPlay("'" + mime + "; codecs=\"mp4ax\"'"));
222 235
236 EXPECT_EQ(kNot, CanPlay("'" + mime + "; codecs=\"ac\"'"));
237 EXPECT_EQ(kNot, CanPlay("'" + mime + "; codecs=\"ec\"'"));
238 EXPECT_EQ(kNot, CanPlay("'" + mime + "; codecs=\"ac-\"'"));
239 EXPECT_EQ(kNot, CanPlay("'" + mime + "; codecs=\"ec-\"'"));
240 EXPECT_EQ(kNot, CanPlay("'" + mime + "; codecs=\"ac-2\"'"));
241 EXPECT_EQ(kNot, CanPlay("'" + mime + "; codecs=\"ec-2\"'"));
242 EXPECT_EQ(kNot, CanPlay("'" + mime + "; codecs=\"ac3\"'"));
243 EXPECT_EQ(kNot, CanPlay("'" + mime + "; codecs=\"ec3\"'"));
244 EXPECT_EQ(kNot, CanPlay("'" + mime + "; codecs=\"ac-4\"'"));
245 EXPECT_EQ(kNot, CanPlay("'" + mime + "; codecs=\"ec-4\"'"));
246 EXPECT_EQ(kNot, CanPlay("'" + mime + "; codecs=\"mp4a.a4\"'"));
247 EXPECT_EQ(kNot, CanPlay("'" + mime + "; codecs=\"mp4a.a7\"'"));
248 EXPECT_EQ(kNot, CanPlay("'" + mime + "; codecs=\"mp4a.a5.\"'"));
249 EXPECT_EQ(kNot, CanPlay("'" + mime + "; codecs=\"mp4a.a6.\"'"));
250 EXPECT_EQ(kNot, CanPlay("'" + mime + "; codecs=\"mp4a.a5.1\"'"));
251 EXPECT_EQ(kNot, CanPlay("'" + mime + "; codecs=\"mp4a.a6.1\"'"));
252
223 EXPECT_EQ(kNot, CanPlay("'" + mime + "; codecs=\"unknown\"'")); 253 EXPECT_EQ(kNot, CanPlay("'" + mime + "; codecs=\"unknown\"'"));
224 254
225 // Don't allow incomplete/ambiguous codec ids for HEVC. 255 // Don't allow incomplete/ambiguous codec ids for HEVC.
226 // Codec string must have info about codec level/profile, as described in 256 // Codec string must have info about codec level/profile, as described in
227 // ISO/IEC FDIS 14496-15 section E.3, for example "hev1.1.6.L93.B0" 257 // ISO/IEC FDIS 14496-15 section E.3, for example "hev1.1.6.L93.B0"
228 EXPECT_EQ(kNot, CanPlay("'" + mime + "; codecs=\"hev1\"'")); 258 EXPECT_EQ(kNot, CanPlay("'" + mime + "; codecs=\"hev1\"'"));
229 EXPECT_EQ(kNot, CanPlay("'" + mime + "; codecs=\"hvc1\"'")); 259 EXPECT_EQ(kNot, CanPlay("'" + mime + "; codecs=\"hvc1\"'"));
230 260
231 // Invalid codecs that look like something similar to HEVC/H.265 261 // Invalid codecs that look like something similar to HEVC/H.265
232 EXPECT_EQ(kNot, CanPlay("'" + mime + "; codecs=\"hev1x\"'")); 262 EXPECT_EQ(kNot, CanPlay("'" + mime + "; codecs=\"hev1x\"'"));
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after
293 EXPECT_EQ(kNot, CanPlay("'" + mime + "; codecs=\"hvc1.1.6.L93.B0\"'")); 323 EXPECT_EQ(kNot, CanPlay("'" + mime + "; codecs=\"hvc1.1.6.L93.B0\"'"));
294 EXPECT_EQ(kNot, CanPlay("'" + mime + "; codecs=\"hev1.1.6.L93.B0,opus\"'")); 324 EXPECT_EQ(kNot, CanPlay("'" + mime + "; codecs=\"hev1.1.6.L93.B0,opus\"'"));
295 EXPECT_EQ(kNot, CanPlay("'" + mime + "; codecs=\"hvc1.1.6.L93.B0,opus\"'")); 325 EXPECT_EQ(kNot, CanPlay("'" + mime + "; codecs=\"hvc1.1.6.L93.B0,opus\"'"));
296 326
297 EXPECT_EQ(kNot, CanPlay("'" + mime +"; codecs=\"mp4a.40\"'")); 327 EXPECT_EQ(kNot, CanPlay("'" + mime +"; codecs=\"mp4a.40\"'"));
298 EXPECT_EQ(kNot, CanPlay("'" + mime +"; codecs=\"mp4a.40.2\"'")); 328 EXPECT_EQ(kNot, CanPlay("'" + mime +"; codecs=\"mp4a.40.2\"'"));
299 EXPECT_EQ(kNot, CanPlay("'" + mime +"; codecs=\"mp4a.40.02\"'")); 329 EXPECT_EQ(kNot, CanPlay("'" + mime +"; codecs=\"mp4a.40.02\"'"));
300 EXPECT_EQ(kNot, CanPlay("'" + mime +"; codecs=\"theora, mp4a.40.2\"'")); 330 EXPECT_EQ(kNot, CanPlay("'" + mime +"; codecs=\"theora, mp4a.40.2\"'"));
301 EXPECT_EQ(kNot, CanPlay("'" + mime +"; codecs=\"theora, mp4a.40.02\"'")); 331 EXPECT_EQ(kNot, CanPlay("'" + mime +"; codecs=\"theora, mp4a.40.02\"'"));
302 332
333 EXPECT_EQ(kNot, CanPlay("'" + mime + "; codecs=\"ac-3\"'"));
334 EXPECT_EQ(kNot, CanPlay("'" + mime + "; codecs=\"ec-3\"'"));
335 EXPECT_EQ(kNot, CanPlay("'" + mime + "; codecs=\"mp4a.A5\"'"));
336 EXPECT_EQ(kNot, CanPlay("'" + mime + "; codecs=\"mp4a.A6\"'"));
337 EXPECT_EQ(kNot, CanPlay("'" + mime + "; codecs=\"mp4a.a5\"'"));
338 EXPECT_EQ(kNot, CanPlay("'" + mime + "; codecs=\"mp4a.a6\"'"));
339
303 EXPECT_EQ(kNot, CanPlay("'" + mime +"; codecs=\"1\"'")); 340 EXPECT_EQ(kNot, CanPlay("'" + mime +"; codecs=\"1\"'"));
304 EXPECT_EQ(kNot, CanPlay("'" + mime +"; codecs=\"theora, 1\"'")); 341 EXPECT_EQ(kNot, CanPlay("'" + mime +"; codecs=\"theora, 1\"'"));
305 342
306 // Codecs are case sensitive. 343 // Codecs are case sensitive.
307 EXPECT_EQ(kNot, CanPlay("'" + mime +"; codecs=\"Theora\"'")); 344 EXPECT_EQ(kNot, CanPlay("'" + mime +"; codecs=\"Theora\"'"));
308 EXPECT_EQ(kNot, CanPlay("'" + mime +"; codecs=\"Opus\"'")); 345 EXPECT_EQ(kNot, CanPlay("'" + mime +"; codecs=\"Opus\"'"));
309 EXPECT_EQ(kNot, CanPlay("'" + mime +"; codecs=\"Vorbis\"'")); 346 EXPECT_EQ(kNot, CanPlay("'" + mime +"; codecs=\"Vorbis\"'"));
310 EXPECT_EQ(kNot, CanPlay("'" + mime +"; codecs=\"Theora, Opus\"'")); 347 EXPECT_EQ(kNot, CanPlay("'" + mime +"; codecs=\"Theora, Opus\"'"));
311 EXPECT_EQ(kNot, CanPlay("'" + mime +"; codecs=\"Theora, Vorbis\"'")); 348 EXPECT_EQ(kNot, CanPlay("'" + mime +"; codecs=\"Theora, Vorbis\"'"));
312 349
(...skipping 29 matching lines...) Expand all
342 EXPECT_EQ(kNot, CanPlay("'" + mime + "; codecs=\"hvc1.1.6.L93.B0,opus\"'")); 379 EXPECT_EQ(kNot, CanPlay("'" + mime + "; codecs=\"hvc1.1.6.L93.B0,opus\"'"));
343 380
344 EXPECT_EQ(kNot, CanPlay("'" + mime +"; codecs=\"mp4a.40\"'")); 381 EXPECT_EQ(kNot, CanPlay("'" + mime +"; codecs=\"mp4a.40\"'"));
345 EXPECT_EQ(kNot, CanPlay("'" + mime +"; codecs=\"mp4a.40.2\"'")); 382 EXPECT_EQ(kNot, CanPlay("'" + mime +"; codecs=\"mp4a.40.2\"'"));
346 EXPECT_EQ(kNot, CanPlay("'" + mime +"; codecs=\"mp4a.40.02\"'")); 383 EXPECT_EQ(kNot, CanPlay("'" + mime +"; codecs=\"mp4a.40.02\"'"));
347 EXPECT_EQ(kNot, CanPlay("'" + mime +"; codecs=\"vp8, mp4a.40\"'")); 384 EXPECT_EQ(kNot, CanPlay("'" + mime +"; codecs=\"vp8, mp4a.40\"'"));
348 EXPECT_EQ(kNot, CanPlay("'" + mime +"; codecs=\"vp9, mp4a.40\"'")); 385 EXPECT_EQ(kNot, CanPlay("'" + mime +"; codecs=\"vp9, mp4a.40\"'"));
349 EXPECT_EQ(kNot, CanPlay("'" + mime +"; codecs=\"vp8.0, mp4a.40\"'")); 386 EXPECT_EQ(kNot, CanPlay("'" + mime +"; codecs=\"vp8.0, mp4a.40\"'"));
350 EXPECT_EQ(kNot, CanPlay("'" + mime +"; codecs=\"vp9.0, mp4a.40\"'")); 387 EXPECT_EQ(kNot, CanPlay("'" + mime +"; codecs=\"vp9.0, mp4a.40\"'"));
351 388
389 EXPECT_EQ(kNot, CanPlay("'" + mime + "; codecs=\"ac-3\"'"));
390 EXPECT_EQ(kNot, CanPlay("'" + mime + "; codecs=\"ec-3\"'"));
391 EXPECT_EQ(kNot, CanPlay("'" + mime + "; codecs=\"mp4a.A5\"'"));
392 EXPECT_EQ(kNot, CanPlay("'" + mime + "; codecs=\"mp4a.A6\"'"));
393 EXPECT_EQ(kNot, CanPlay("'" + mime + "; codecs=\"mp4a.a5\"'"));
394 EXPECT_EQ(kNot, CanPlay("'" + mime + "; codecs=\"mp4a.a6\"'"));
395
352 // Codecs are case sensitive. 396 // Codecs are case sensitive.
353 EXPECT_EQ(kNot, CanPlay("'" + mime +"; codecs=\"VP8, Vorbis\"'")); 397 EXPECT_EQ(kNot, CanPlay("'" + mime +"; codecs=\"VP8, Vorbis\"'"));
354 EXPECT_EQ(kNot, CanPlay("'" + mime +"; codecs=\"VP8.0, Opus\"'")); 398 EXPECT_EQ(kNot, CanPlay("'" + mime +"; codecs=\"VP8.0, Opus\"'"));
355 EXPECT_EQ(kNot, CanPlay("'" + mime +"; codecs=\"VP9, Vorbis\"'")); 399 EXPECT_EQ(kNot, CanPlay("'" + mime +"; codecs=\"VP9, Vorbis\"'"));
356 EXPECT_EQ(kNot, CanPlay("'" + mime +"; codecs=\"VP9.0, Opus\"'")); 400 EXPECT_EQ(kNot, CanPlay("'" + mime +"; codecs=\"VP9.0, Opus\"'"));
357 401
358 // Unknown codec. 402 // Unknown codec.
359 EXPECT_EQ(kNot, CanPlay("'" + mime +"; codecs=\"unknown\"'")); 403 EXPECT_EQ(kNot, CanPlay("'" + mime +"; codecs=\"unknown\"'"));
360 } 404 }
361 405
(...skipping 19 matching lines...) Expand all
381 425
382 EXPECT_EQ(kNot, CanPlay("'" + mime + "; codecs=\"hev1.1.6.L93.B0\"'")); 426 EXPECT_EQ(kNot, CanPlay("'" + mime + "; codecs=\"hev1.1.6.L93.B0\"'"));
383 EXPECT_EQ(kNot, CanPlay("'" + mime + "; codecs=\"hvc1.1.6.L93.B0\"'")); 427 EXPECT_EQ(kNot, CanPlay("'" + mime + "; codecs=\"hvc1.1.6.L93.B0\"'"));
384 EXPECT_EQ(kNot, CanPlay("'" + mime + "; codecs=\"hev1.1.6.L93.B0,opus\"'")); 428 EXPECT_EQ(kNot, CanPlay("'" + mime + "; codecs=\"hev1.1.6.L93.B0,opus\"'"));
385 EXPECT_EQ(kNot, CanPlay("'" + mime + "; codecs=\"hvc1.1.6.L93.B0,opus\"'")); 429 EXPECT_EQ(kNot, CanPlay("'" + mime + "; codecs=\"hvc1.1.6.L93.B0,opus\"'"));
386 430
387 EXPECT_EQ(kNot, CanPlay("'" + mime +"; codecs=\"mp4a.40\"'")); 431 EXPECT_EQ(kNot, CanPlay("'" + mime +"; codecs=\"mp4a.40\"'"));
388 EXPECT_EQ(kNot, CanPlay("'" + mime +"; codecs=\"mp4a.40.2\"'")); 432 EXPECT_EQ(kNot, CanPlay("'" + mime +"; codecs=\"mp4a.40.2\"'"));
389 EXPECT_EQ(kNot, CanPlay("'" + mime +"; codecs=\"mp4a.40.02\"'")); 433 EXPECT_EQ(kNot, CanPlay("'" + mime +"; codecs=\"mp4a.40.02\"'"));
390 434
435 EXPECT_EQ(kNot, CanPlay("'" + mime + "; codecs=\"ac-3\"'"));
436 EXPECT_EQ(kNot, CanPlay("'" + mime + "; codecs=\"ec-3\"'"));
437 EXPECT_EQ(kNot, CanPlay("'" + mime + "; codecs=\"mp4a.A5\"'"));
438 EXPECT_EQ(kNot, CanPlay("'" + mime + "; codecs=\"mp4a.A6\"'"));
439 EXPECT_EQ(kNot, CanPlay("'" + mime + "; codecs=\"mp4a.a5\"'"));
440 EXPECT_EQ(kNot, CanPlay("'" + mime + "; codecs=\"mp4a.a6\"'"));
441
391 // Unknown codec. 442 // Unknown codec.
392 EXPECT_EQ(kNot, CanPlay("'" + mime +"; codecs=\"unknown\"'")); 443 EXPECT_EQ(kNot, CanPlay("'" + mime +"; codecs=\"unknown\"'"));
393 } 444 }
394 445
395 private: 446 private:
396 GURL url_; 447 GURL url_;
397 DISALLOW_COPY_AND_ASSIGN(MediaCanPlayTypeTest); 448 DISALLOW_COPY_AND_ASSIGN(MediaCanPlayTypeTest);
398 }; 449 };
399 450
400 IN_PROC_BROWSER_TEST_F(MediaCanPlayTypeTest, CodecSupportTest_wav) { 451 IN_PROC_BROWSER_TEST_F(MediaCanPlayTypeTest, CodecSupportTest_wav) {
(...skipping 188 matching lines...) Expand 10 before | Expand all | Expand 10 after
589 CanPlay("'video/mp4; codecs=\"avc1.42E01E, mp4a.40.2\"'")); 640 CanPlay("'video/mp4; codecs=\"avc1.42E01E, mp4a.40.2\"'"));
590 EXPECT_EQ(kPropProbably, 641 EXPECT_EQ(kPropProbably,
591 CanPlay("'video/mp4; codecs=\"avc1.42E01E, mp4a.40.02\"'")); 642 CanPlay("'video/mp4; codecs=\"avc1.42E01E, mp4a.40.02\"'"));
592 EXPECT_EQ(kPropProbably, 643 EXPECT_EQ(kPropProbably,
593 CanPlay("'video/mp4; codecs=\"avc3.42E01E, mp4a.40.5\"'")); 644 CanPlay("'video/mp4; codecs=\"avc3.42E01E, mp4a.40.5\"'"));
594 EXPECT_EQ(kPropProbably, 645 EXPECT_EQ(kPropProbably,
595 CanPlay("'video/mp4; codecs=\"avc3.42E01E, mp4a.40.05\"'")); 646 CanPlay("'video/mp4; codecs=\"avc3.42E01E, mp4a.40.05\"'"));
596 EXPECT_EQ(kPropProbably, 647 EXPECT_EQ(kPropProbably,
597 CanPlay("'video/mp4; codecs=\"avc3.42E01E, mp4a.40.29\"'")); 648 CanPlay("'video/mp4; codecs=\"avc3.42E01E, mp4a.40.29\"'"));
598 649
650 // AC3 and EAC3 (aka Dolby Digital Plus, DD+) audio codecs.
651 // TODO(servolk): Strictly speaking only mp4a.A5 and mp4a.A6 codec ids are
652 // valid according to RFC 6381 section 3.3, 3.4. Lower-case oti (mp4a.a5 and
653 // mp4a.a6) should be rejected. But we used to allow those in older versions
654 // of Chromecast firmware and some apps (notably MPL) depend on those codec
655 // types being supported, so they should be allowed for now (crbug.com/564960)
656 EXPECT_EQ(kAc3Eac3Probably, CanPlay("'video/mp4; codecs=\"ac-3\"'"));
657 EXPECT_EQ(kAc3Eac3Probably, CanPlay("'video/mp4; codecs=\"mp4a.a5\"'"));
658 EXPECT_EQ(kAc3Eac3Probably, CanPlay("'video/mp4; codecs=\"mp4a.A5\"'"));
659 EXPECT_EQ(kAc3Eac3Probably, CanPlay("'video/mp4; codecs=\"ec-3\"'"));
660 EXPECT_EQ(kAc3Eac3Probably, CanPlay("'video/mp4; codecs=\"mp4a.a6\"'"));
661 EXPECT_EQ(kAc3Eac3Probably, CanPlay("'video/mp4; codecs=\"mp4a.A6\"'"));
662 EXPECT_EQ(kAc3Eac3Probably,
663 CanPlay("'video/mp4; codecs=\"avc1.640028,ac-3\"'"));
664 EXPECT_EQ(kAc3Eac3Probably,
665 CanPlay("'video/mp4; codecs=\"avc1.640028,mp4a.a5\"'"));
666 EXPECT_EQ(kAc3Eac3Probably,
667 CanPlay("'video/mp4; codecs=\"avc1.640028,mp4a.A5\"'"));
668 EXPECT_EQ(kAc3Eac3Probably,
669 CanPlay("'video/mp4; codecs=\"avc1.640028,ec-3\"'"));
670 EXPECT_EQ(kAc3Eac3Probably,
671 CanPlay("'video/mp4; codecs=\"avc1.640028,mp4a.a6\"'"));
672 EXPECT_EQ(kAc3Eac3Probably,
673 CanPlay("'video/mp4; codecs=\"avc1.640028,mp4a.A6\"'"));
674
599 EXPECT_EQ(kPropMaybe, CanPlay("'video/mp4; codecs=\"avc1, mp4a.40.2\"'")); 675 EXPECT_EQ(kPropMaybe, CanPlay("'video/mp4; codecs=\"avc1, mp4a.40.2\"'"));
600 EXPECT_EQ(kPropMaybe, CanPlay("'video/mp4; codecs=\"avc1, mp4a.40.02\"'")); 676 EXPECT_EQ(kPropMaybe, CanPlay("'video/mp4; codecs=\"avc1, mp4a.40.02\"'"));
601 EXPECT_EQ(kPropMaybe, CanPlay("'video/mp4; codecs=\"avc3, mp4a.40.2\"'")); 677 EXPECT_EQ(kPropMaybe, CanPlay("'video/mp4; codecs=\"avc3, mp4a.40.2\"'"));
602 EXPECT_EQ(kPropMaybe, CanPlay("'video/mp4; codecs=\"avc3, mp4a.40.02\"'")); 678 EXPECT_EQ(kPropMaybe, CanPlay("'video/mp4; codecs=\"avc3, mp4a.40.02\"'"));
603 EXPECT_EQ(kPropMaybe, 679 EXPECT_EQ(kPropMaybe,
604 CanPlay("'video/mp4; codecs=\"avc1.42E01E, mp4a.40\"'")); 680 CanPlay("'video/mp4; codecs=\"avc1.42E01E, mp4a.40\"'"));
605 EXPECT_EQ(kPropMaybe, 681 EXPECT_EQ(kPropMaybe,
606 CanPlay("'video/mp4; codecs=\"avc3.42E01E, mp4a.40\"'")); 682 CanPlay("'video/mp4; codecs=\"avc3.42E01E, mp4a.40\"'"));
607 683
608 // TODO(servolk): Add more unit test coverage once we have more info about 684 // TODO(servolk): Add more unit test coverage once we have more info about
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after
663 739
664 EXPECT_EQ(kHevcSupported, 740 EXPECT_EQ(kHevcSupported,
665 CanPlay("'video/x-m4v; codecs=\"hev1.1.6.L93.B0\"'")); 741 CanPlay("'video/x-m4v; codecs=\"hev1.1.6.L93.B0\"'"));
666 EXPECT_EQ(kHevcSupported, 742 EXPECT_EQ(kHevcSupported,
667 CanPlay("'video/x-m4v; codecs=\"hvc1.1.6.L93.B0\"'")); 743 CanPlay("'video/x-m4v; codecs=\"hvc1.1.6.L93.B0\"'"));
668 EXPECT_EQ(kHevcSupported, 744 EXPECT_EQ(kHevcSupported,
669 CanPlay("'video/x-m4v; codecs=\"hev1.1.6.L93.B0, mp4a.40.5\"'")); 745 CanPlay("'video/x-m4v; codecs=\"hev1.1.6.L93.B0, mp4a.40.5\"'"));
670 EXPECT_EQ(kHevcSupported, 746 EXPECT_EQ(kHevcSupported,
671 CanPlay("'video/x-m4v; codecs=\"hvc1.1.6.L93.B0, mp4a.40.5\"'")); 747 CanPlay("'video/x-m4v; codecs=\"hvc1.1.6.L93.B0, mp4a.40.5\"'"));
672 748
749 EXPECT_EQ(kAc3Eac3Probably, CanPlay("'video/x-m4v; codecs=\"ac-3\"'"));
750 EXPECT_EQ(kAc3Eac3Probably, CanPlay("'video/x-m4v; codecs=\"mp4a.a5\"'"));
751 EXPECT_EQ(kAc3Eac3Probably, CanPlay("'video/x-m4v; codecs=\"mp4a.A5\"'"));
752 EXPECT_EQ(kAc3Eac3Probably, CanPlay("'video/x-m4v; codecs=\"ec-3\"'"));
753 EXPECT_EQ(kAc3Eac3Probably, CanPlay("'video/x-m4v; codecs=\"mp4a.a6\"'"));
754 EXPECT_EQ(kAc3Eac3Probably, CanPlay("'video/x-m4v; codecs=\"mp4a.A6\"'"));
755 EXPECT_EQ(kAc3Eac3Probably,
756 CanPlay("'video/x-m4v; codecs=\"avc1.640028,ac-3\"'"));
757 EXPECT_EQ(kAc3Eac3Probably,
758 CanPlay("'video/x-m4v; codecs=\"avc1.640028,mp4a.a5\"'"));
759 EXPECT_EQ(kAc3Eac3Probably,
760 CanPlay("'video/x-m4v; codecs=\"avc1.640028,mp4a.A5\"'"));
761 EXPECT_EQ(kAc3Eac3Probably,
762 CanPlay("'video/x-m4v; codecs=\"avc1.640028,ec-3\"'"));
763 EXPECT_EQ(kAc3Eac3Probably,
764 CanPlay("'video/x-m4v; codecs=\"avc1.640028,mp4a.a6\"'"));
765 EXPECT_EQ(kAc3Eac3Probably,
766 CanPlay("'video/x-m4v; codecs=\"avc1.640028,mp4a.A6\"'"));
767
673 TestMPEGUnacceptableCombinations("video/x-m4v"); 768 TestMPEGUnacceptableCombinations("video/x-m4v");
674 769
675 EXPECT_EQ(kPropMaybe, CanPlay("'audio/mp4'")); 770 EXPECT_EQ(kPropMaybe, CanPlay("'audio/mp4'"));
676 EXPECT_EQ(kPropMaybe, CanPlay("'audio/mp4; codecs=\"mp4a.40\"'")); 771 EXPECT_EQ(kPropMaybe, CanPlay("'audio/mp4; codecs=\"mp4a.40\"'"));
677 EXPECT_EQ(kPropProbably, CanPlay("'audio/mp4; codecs=\"mp4a.40.2\"'")); 772 EXPECT_EQ(kPropProbably, CanPlay("'audio/mp4; codecs=\"mp4a.40.2\"'"));
678 EXPECT_EQ(kPropProbably, CanPlay("'audio/mp4; codecs=\"mp4a.40.02\"'")); 773 EXPECT_EQ(kPropProbably, CanPlay("'audio/mp4; codecs=\"mp4a.40.02\"'"));
679 EXPECT_EQ(kPropProbably, CanPlay("'audio/mp4; codecs=\"mp4a.40.5\"'")); 774 EXPECT_EQ(kPropProbably, CanPlay("'audio/mp4; codecs=\"mp4a.40.5\"'"));
680 EXPECT_EQ(kPropProbably, CanPlay("'audio/mp4; codecs=\"mp4a.40.05\"'")); 775 EXPECT_EQ(kPropProbably, CanPlay("'audio/mp4; codecs=\"mp4a.40.05\"'"));
681 EXPECT_EQ(kPropProbably, CanPlay("'audio/mp4; codecs=\"mp4a.40.29\"'")); 776 EXPECT_EQ(kPropProbably, CanPlay("'audio/mp4; codecs=\"mp4a.40.29\"'"));
682 777
683 EXPECT_EQ(kNot, CanPlay("'audio/mp4; codecs=\"avc1\"'")); 778 EXPECT_EQ(kNot, CanPlay("'audio/mp4; codecs=\"avc1\"'"));
684 EXPECT_EQ(kNot, CanPlay("'audio/mp4; codecs=\"avc3\"'")); 779 EXPECT_EQ(kNot, CanPlay("'audio/mp4; codecs=\"avc3\"'"));
685 EXPECT_EQ(kNot, CanPlay("'audio/mp4; codecs=\"avc1, mp4a.40\"'")); 780 EXPECT_EQ(kNot, CanPlay("'audio/mp4; codecs=\"avc1, mp4a.40\"'"));
686 EXPECT_EQ(kNot, CanPlay("'audio/mp4; codecs=\"avc3, mp4a.40\"'")); 781 EXPECT_EQ(kNot, CanPlay("'audio/mp4; codecs=\"avc3, mp4a.40\"'"));
687 782
688 EXPECT_EQ(kNot, CanPlay("'audio/mp4; codecs=\"avc1.4D401E\"'")); 783 EXPECT_EQ(kNot, CanPlay("'audio/mp4; codecs=\"avc1.4D401E\"'"));
689 EXPECT_EQ(kNot, CanPlay("'audio/mp4; codecs=\"avc3.64001F\"'")); 784 EXPECT_EQ(kNot, CanPlay("'audio/mp4; codecs=\"avc3.64001F\"'"));
690 EXPECT_EQ(kNot, CanPlay("'audio/mp4; codecs=\"avc1.66.30\"'")); 785 EXPECT_EQ(kNot, CanPlay("'audio/mp4; codecs=\"avc1.66.30\"'"));
691 786
692 EXPECT_EQ(kNot, CanPlay("'audio/mp4; codecs=\"hev1.1.6.L93.B0\"'")); 787 EXPECT_EQ(kNot, CanPlay("'audio/mp4; codecs=\"hev1.1.6.L93.B0\"'"));
693 EXPECT_EQ(kNot, CanPlay("'audio/mp4; codecs=\"hvc1.1.6.L93.B0\"'")); 788 EXPECT_EQ(kNot, CanPlay("'audio/mp4; codecs=\"hvc1.1.6.L93.B0\"'"));
694 EXPECT_EQ(kNot, CanPlay("'audio/mp4; codecs=\"hev1.1.6.L93.B0,mp4a.40.5\"'")); 789 EXPECT_EQ(kNot, CanPlay("'audio/mp4; codecs=\"hev1.1.6.L93.B0,mp4a.40.5\"'"));
695 EXPECT_EQ(kNot, CanPlay("'audio/mp4; codecs=\"hvc1.1.6.L93.B0,mp4a.40.5\"'")); 790 EXPECT_EQ(kNot, CanPlay("'audio/mp4; codecs=\"hvc1.1.6.L93.B0,mp4a.40.5\"'"));
696 791
792 EXPECT_EQ(kAc3Eac3Probably, CanPlay("'audio/mp4; codecs=\"ac-3\"'"));
793 EXPECT_EQ(kAc3Eac3Probably, CanPlay("'audio/mp4; codecs=\"mp4a.a5\"'"));
794 EXPECT_EQ(kAc3Eac3Probably, CanPlay("'audio/mp4; codecs=\"mp4a.A5\"'"));
795 EXPECT_EQ(kAc3Eac3Probably, CanPlay("'audio/mp4; codecs=\"ec-3\"'"));
796 EXPECT_EQ(kAc3Eac3Probably, CanPlay("'audio/mp4; codecs=\"mp4a.a6\"'"));
797 EXPECT_EQ(kAc3Eac3Probably, CanPlay("'audio/mp4; codecs=\"mp4a.A6\"'"));
798
697 TestMPEGUnacceptableCombinations("audio/mp4"); 799 TestMPEGUnacceptableCombinations("audio/mp4");
698 800
699 EXPECT_EQ(kPropMaybe, CanPlay("'audio/x-m4a'")); 801 EXPECT_EQ(kPropMaybe, CanPlay("'audio/x-m4a'"));
700 EXPECT_EQ(kPropMaybe, CanPlay("'audio/x-m4a; codecs=\"mp4a.40\"'")); 802 EXPECT_EQ(kPropMaybe, CanPlay("'audio/x-m4a; codecs=\"mp4a.40\"'"));
701 EXPECT_EQ(kPropProbably, CanPlay("'audio/x-m4a; codecs=\"mp4a.40.2\"'")); 803 EXPECT_EQ(kPropProbably, CanPlay("'audio/x-m4a; codecs=\"mp4a.40.2\"'"));
702 EXPECT_EQ(kPropProbably, CanPlay("'audio/x-m4a; codecs=\"mp4a.40.02\"'")); 804 EXPECT_EQ(kPropProbably, CanPlay("'audio/x-m4a; codecs=\"mp4a.40.02\"'"));
703 EXPECT_EQ(kPropProbably, CanPlay("'audio/x-m4a; codecs=\"mp4a.40.5\"'")); 805 EXPECT_EQ(kPropProbably, CanPlay("'audio/x-m4a; codecs=\"mp4a.40.5\"'"));
704 EXPECT_EQ(kPropProbably, CanPlay("'audio/x-m4a; codecs=\"mp4a.40.05\"'")); 806 EXPECT_EQ(kPropProbably, CanPlay("'audio/x-m4a; codecs=\"mp4a.40.05\"'"));
705 EXPECT_EQ(kPropProbably, CanPlay("'audio/x-m4a; codecs=\"mp4a.40.29\"'")); 807 EXPECT_EQ(kPropProbably, CanPlay("'audio/x-m4a; codecs=\"mp4a.40.29\"'"));
706 808
707 EXPECT_EQ(kNot, CanPlay("'audio/x-m4a; codecs=\"avc1\"'")); 809 EXPECT_EQ(kNot, CanPlay("'audio/x-m4a; codecs=\"avc1\"'"));
708 EXPECT_EQ(kNot, CanPlay("'audio/x-m4a; codecs=\"avc3\"'")); 810 EXPECT_EQ(kNot, CanPlay("'audio/x-m4a; codecs=\"avc3\"'"));
709 EXPECT_EQ(kNot, CanPlay("'audio/x-m4a; codecs=\"avc1, mp4a\"'")); 811 EXPECT_EQ(kNot, CanPlay("'audio/x-m4a; codecs=\"avc1, mp4a\"'"));
710 EXPECT_EQ(kNot, CanPlay("'audio/x-m4a; codecs=\"avc3, mp4a\"'")); 812 EXPECT_EQ(kNot, CanPlay("'audio/x-m4a; codecs=\"avc3, mp4a\"'"));
711 813
712 EXPECT_EQ(kNot, CanPlay("'audio/x-m4a; codecs=\"avc1.4D401E\"'")); 814 EXPECT_EQ(kNot, CanPlay("'audio/x-m4a; codecs=\"avc1.4D401E\"'"));
713 EXPECT_EQ(kNot, CanPlay("'audio/x-m4a; codecs=\"avc3.64001F\"'")); 815 EXPECT_EQ(kNot, CanPlay("'audio/x-m4a; codecs=\"avc3.64001F\"'"));
714 EXPECT_EQ(kNot, CanPlay("'audio/x-m4a; codecs=\"avc1.66.30\"'")); 816 EXPECT_EQ(kNot, CanPlay("'audio/x-m4a; codecs=\"avc1.66.30\"'"));
715 817
716 EXPECT_EQ(kNot, CanPlay("'audio/x-m4a; codecs=\"hev1.1.6.L93.B0\"'")); 818 EXPECT_EQ(kNot, CanPlay("'audio/x-m4a; codecs=\"hev1.1.6.L93.B0\"'"));
717 EXPECT_EQ(kNot, CanPlay("'audio/x-m4a; codecs=\"hvc1.1.6.L93.B0\"'")); 819 EXPECT_EQ(kNot, CanPlay("'audio/x-m4a; codecs=\"hvc1.1.6.L93.B0\"'"));
718 EXPECT_EQ(kNot, 820 EXPECT_EQ(kNot,
719 CanPlay("'audio/x-m4a; codecs=\"hev1.1.6.L93.B0, mp4a.40.5\"'")); 821 CanPlay("'audio/x-m4a; codecs=\"hev1.1.6.L93.B0, mp4a.40.5\"'"));
720 EXPECT_EQ(kNot, 822 EXPECT_EQ(kNot,
721 CanPlay("'audio/x-m4a; codecs=\"hvc1.1.6.L93.B0, mp4a.40.5\"'")); 823 CanPlay("'audio/x-m4a; codecs=\"hvc1.1.6.L93.B0, mp4a.40.5\"'"));
722 824
825 EXPECT_EQ(kAc3Eac3Probably, CanPlay("'audio/x-m4a; codecs=\"ac-3\"'"));
826 EXPECT_EQ(kAc3Eac3Probably, CanPlay("'audio/x-m4a; codecs=\"mp4a.a5\"'"));
827 EXPECT_EQ(kAc3Eac3Probably, CanPlay("'audio/x-m4a; codecs=\"mp4a.A5\"'"));
828 EXPECT_EQ(kAc3Eac3Probably, CanPlay("'audio/x-m4a; codecs=\"ec-3\"'"));
829 EXPECT_EQ(kAc3Eac3Probably, CanPlay("'audio/x-m4a; codecs=\"mp4a.a6\"'"));
830 EXPECT_EQ(kAc3Eac3Probably, CanPlay("'audio/x-m4a; codecs=\"mp4a.A6\"'"));
831
723 TestMPEGUnacceptableCombinations("audio/x-m4a"); 832 TestMPEGUnacceptableCombinations("audio/x-m4a");
724 } 833 }
725 834
726 // When modifying this test, also change CodecSupportTest_Avc3Variants. 835 // When modifying this test, also change CodecSupportTest_Avc3Variants.
727 IN_PROC_BROWSER_TEST_F(MediaCanPlayTypeTest, CodecSupportTest_Avc1Variants) { 836 IN_PROC_BROWSER_TEST_F(MediaCanPlayTypeTest, CodecSupportTest_Avc1Variants) {
728 // avc1 without extensions results in "maybe" for compatibility. 837 // avc1 without extensions results in "maybe" for compatibility.
729 EXPECT_EQ(kPropMaybe, CanPlay("'video/mp4; codecs=\"avc1\"'")); 838 EXPECT_EQ(kPropMaybe, CanPlay("'video/mp4; codecs=\"avc1\"'"));
730 839
731 // Any 6-digit hexadecimal number will result in at least "maybe". 840 // Any 6-digit hexadecimal number will result in at least "maybe".
732 EXPECT_EQ(kPropMaybe, CanPlay("'video/mp4; codecs=\"avc1.123456\"'")); 841 EXPECT_EQ(kPropMaybe, CanPlay("'video/mp4; codecs=\"avc1.123456\"'"));
(...skipping 366 matching lines...) Expand 10 before | Expand all | Expand 10 after
1099 1208
1100 EXPECT_EQ(kNot, 1209 EXPECT_EQ(kNot,
1101 CanPlay("'application/x-mpegurl; codecs=\"hev1.1.6.L93.B0\"'")); 1210 CanPlay("'application/x-mpegurl; codecs=\"hev1.1.6.L93.B0\"'"));
1102 EXPECT_EQ(kNot, 1211 EXPECT_EQ(kNot,
1103 CanPlay("'application/x-mpegurl; codecs=\"hvc1.1.6.L93.B0\"'")); 1212 CanPlay("'application/x-mpegurl; codecs=\"hvc1.1.6.L93.B0\"'"));
1104 EXPECT_EQ(kNot, 1213 EXPECT_EQ(kNot,
1105 CanPlay("'application/x-mpegurl; codecs=\"hev1.1.6.L93.B0,mp4a.40.5\"'")); 1214 CanPlay("'application/x-mpegurl; codecs=\"hev1.1.6.L93.B0,mp4a.40.5\"'"));
1106 EXPECT_EQ(kNot, 1215 EXPECT_EQ(kNot,
1107 CanPlay("'application/x-mpegurl; codecs=\"hvc1.1.6.L93.B0,mp4a.40.5\"'")); 1216 CanPlay("'application/x-mpegurl; codecs=\"hvc1.1.6.L93.B0,mp4a.40.5\"'"));
1108 1217
1218 EXPECT_EQ(kNot, CanPlay("'application/x-mpegurl; codecs=\"ac-3\"'"));
1219 EXPECT_EQ(kNot, CanPlay("'application/x-mpegurl; codecs=\"ec-3\"'"));
1220 EXPECT_EQ(kNot, CanPlay("'application/x-mpegurl; codecs=\"mp4a.A5\"'"));
1221 EXPECT_EQ(kNot, CanPlay("'application/x-mpegurl; codecs=\"mp4a.A6\"'"));
1222 EXPECT_EQ(kNot, CanPlay("'application/x-mpegurl; codecs=\"mp4a.a5\"'"));
1223 EXPECT_EQ(kNot, CanPlay("'application/x-mpegurl; codecs=\"mp4a.a6\"'"));
1224
1109 EXPECT_EQ(maybeCanPlayHLS, 1225 EXPECT_EQ(maybeCanPlayHLS,
1110 CanPlay("'application/x-mpegurl; codecs=\"avc1, mp4a.40.2\"'")); 1226 CanPlay("'application/x-mpegurl; codecs=\"avc1, mp4a.40.2\"'"));
1111 EXPECT_EQ(maybeCanPlayHLS, 1227 EXPECT_EQ(maybeCanPlayHLS,
1112 CanPlay("'application/x-mpegurl; codecs=\"avc1, mp4a.40.02\"'")); 1228 CanPlay("'application/x-mpegurl; codecs=\"avc1, mp4a.40.02\"'"));
1113 EXPECT_EQ(maybeCanPlayHLS, 1229 EXPECT_EQ(maybeCanPlayHLS,
1114 CanPlay("'application/x-mpegurl; codecs=\"avc3, mp4a.40.2\"'")); 1230 CanPlay("'application/x-mpegurl; codecs=\"avc3, mp4a.40.2\"'"));
1115 EXPECT_EQ(maybeCanPlayHLS, 1231 EXPECT_EQ(maybeCanPlayHLS,
1116 CanPlay("'application/x-mpegurl; codecs=\"avc3, mp4a.40.02\"'")); 1232 CanPlay("'application/x-mpegurl; codecs=\"avc3, mp4a.40.02\"'"));
1117 EXPECT_EQ(maybeCanPlayHLS, 1233 EXPECT_EQ(maybeCanPlayHLS,
1118 CanPlay("'application/x-mpegurl; codecs=\"avc1.42E01E, mp4a.40\"'")); 1234 CanPlay("'application/x-mpegurl; codecs=\"avc1.42E01E, mp4a.40\"'"));
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after
1182 CanPlay("'application/vnd.apple.mpegurl; codecs=\"hev1.1.6.L93.B0\"'")); 1298 CanPlay("'application/vnd.apple.mpegurl; codecs=\"hev1.1.6.L93.B0\"'"));
1183 EXPECT_EQ(kNot, 1299 EXPECT_EQ(kNot,
1184 CanPlay("'application/vnd.apple.mpegurl; codecs=\"hvc1.1.6.L93.B0\"'")); 1300 CanPlay("'application/vnd.apple.mpegurl; codecs=\"hvc1.1.6.L93.B0\"'"));
1185 EXPECT_EQ(kNot, 1301 EXPECT_EQ(kNot,
1186 CanPlay("'application/vnd.apple.mpegurl; " 1302 CanPlay("'application/vnd.apple.mpegurl; "
1187 "codecs=\"hev1.1.6.L93.B0,mp4a.40.5\"'")); 1303 "codecs=\"hev1.1.6.L93.B0,mp4a.40.5\"'"));
1188 EXPECT_EQ(kNot, 1304 EXPECT_EQ(kNot,
1189 CanPlay("'application/vnd.apple.mpegurl; " 1305 CanPlay("'application/vnd.apple.mpegurl; "
1190 "codecs=\"hvc1.1.6.L93.B0,mp4a.40.5\"'")); 1306 "codecs=\"hvc1.1.6.L93.B0,mp4a.40.5\"'"));
1191 1307
1308 EXPECT_EQ(kNot, CanPlay("'application/vnd.apple.mpegurl; codecs=\"ac-3\"'"));
1309 EXPECT_EQ(kNot, CanPlay("'application/vnd.apple.mpegurl; codecs=\"ec-3\"'"));
1310 EXPECT_EQ(kNot,
1311 CanPlay("'application/vnd.apple.mpegurl; codecs=\"mp4a.A5\"'"));
1312 EXPECT_EQ(kNot,
1313 CanPlay("'application/vnd.apple.mpegurl; codecs=\"mp4a.A6\"'"));
1314 EXPECT_EQ(kNot,
1315 CanPlay("'application/vnd.apple.mpegurl; codecs=\"mp4a.a5\"'"));
1316 EXPECT_EQ(kNot,
1317 CanPlay("'application/vnd.apple.mpegurl; codecs=\"mp4a.a6\"'"));
1318
1192 TestMPEGUnacceptableCombinations("application/vnd.apple.mpegurl"); 1319 TestMPEGUnacceptableCombinations("application/vnd.apple.mpegurl");
1193 } 1320 }
1194 1321
1195 IN_PROC_BROWSER_TEST_F(MediaCanPlayTypeTest, CodecSupportTest_AAC_ADTS) { 1322 IN_PROC_BROWSER_TEST_F(MediaCanPlayTypeTest, CodecSupportTest_AAC_ADTS) {
1196 EXPECT_EQ(kPropProbably, CanPlay("'audio/aac'")); 1323 EXPECT_EQ(kPropProbably, CanPlay("'audio/aac'"));
1197 1324
1198 // audio/aac doesn't support the codecs parameter. 1325 // audio/aac doesn't support the codecs parameter.
1199 EXPECT_EQ(kNot, CanPlay("'audio/aac; codecs=\"1\"'")); 1326 EXPECT_EQ(kNot, CanPlay("'audio/aac; codecs=\"1\"'"));
1200 EXPECT_EQ(kNot, CanPlay("'audio/aac; codecs=\"aac\"'")); 1327 EXPECT_EQ(kNot, CanPlay("'audio/aac; codecs=\"aac\"'"));
1201 EXPECT_EQ(kNot, CanPlay("'audio/aac; codecs=\"mp4a.40.2\"'")); 1328 EXPECT_EQ(kNot, CanPlay("'audio/aac; codecs=\"mp4a.40.2\"'"));
1202 } 1329 }
1203 1330
1204 IN_PROC_BROWSER_TEST_F(MediaCanPlayTypeTest, CodecSupportTest_Mpeg2Ts) { 1331 IN_PROC_BROWSER_TEST_F(MediaCanPlayTypeTest, CodecSupportTest_Mpeg2Ts) {
1205 EXPECT_EQ(kMp2tsMaybe, CanPlay("'video/mp2t'")); 1332 EXPECT_EQ(kMp2tsMaybe, CanPlay("'video/mp2t'"));
1206 1333
1207 // video/mp2t must support standard RFC 6381 compliant H.264 / AAC codec ids. 1334 // video/mp2t must support standard RFC 6381 compliant H.264 / AAC codec ids.
1208 // H.264 baseline, main, high profiles 1335 // H.264 baseline, main, high profiles
1209 EXPECT_EQ(kMp2tsProbably, CanPlay("'video/mp2t; codecs=\"avc1.42E01E\"'")); 1336 EXPECT_EQ(kMp2tsProbably, CanPlay("'video/mp2t; codecs=\"avc1.42E01E\"'"));
1210 EXPECT_EQ(kMp2tsProbably, CanPlay("'video/mp2t; codecs=\"avc1.4D401E\"'")); 1337 EXPECT_EQ(kMp2tsProbably, CanPlay("'video/mp2t; codecs=\"avc1.4D401E\"'"));
1211 EXPECT_EQ(kMp2tsProbably, CanPlay("'video/mp2t; codecs=\"avc1.640028\"'")); 1338 EXPECT_EQ(kMp2tsProbably, CanPlay("'video/mp2t; codecs=\"avc1.640028\"'"));
1212 // AAC LC audio 1339 // AAC LC audio
1213 EXPECT_EQ(kMp2tsProbably, CanPlay("'video/mp2t; codecs=\"mp4a.40.2\"'")); 1340 EXPECT_EQ(kMp2tsProbably, CanPlay("'video/mp2t; codecs=\"mp4a.40.2\"'"));
1214 // H.264 + AAC audio combinations 1341 // H.264 + AAC audio combinations
1215 EXPECT_EQ(kMp2tsProbably, 1342 EXPECT_EQ(kMp2tsProbably,
1216 CanPlay("'video/mp2t; codecs=\"avc1.42E01E,mp4a.40.2\"'")); 1343 CanPlay("'video/mp2t; codecs=\"avc1.42E01E,mp4a.40.2\"'"));
1217 EXPECT_EQ(kMp2tsProbably, 1344 EXPECT_EQ(kMp2tsProbably,
1218 CanPlay("'video/mp2t; codecs=\"avc1.4D401E,mp4a.40.2\"'")); 1345 CanPlay("'video/mp2t; codecs=\"avc1.4D401E,mp4a.40.2\"'"));
1219 EXPECT_EQ(kMp2tsProbably, 1346 EXPECT_EQ(kMp2tsProbably,
1220 CanPlay("'video/mp2t; codecs=\"avc1.640028,mp4a.40.2\"'")); 1347 CanPlay("'video/mp2t; codecs=\"avc1.640028,mp4a.40.2\"'"));
1348 // H.264 + AC3/EAC3 audio combinations
1349 EXPECT_EQ(kMp2tsAc3Eac3Probably,
1350 CanPlay("'video/mp2t; codecs=\"avc1.640028,ac-3\"'"));
1351 EXPECT_EQ(kMp2tsAc3Eac3Probably,
1352 CanPlay("'video/mp2t; codecs=\"avc1.640028,ec-3\"'"));
1353 EXPECT_EQ(kMp2tsAc3Eac3Probably,
1354 CanPlay("'video/mp2t; codecs=\"avc1.640028,mp4a.A5\"'"));
1355 EXPECT_EQ(kMp2tsAc3Eac3Probably,
1356 CanPlay("'video/mp2t; codecs=\"avc1.640028,mp4a.A6\"'"));
1357 EXPECT_EQ(kMp2tsAc3Eac3Probably,
1358 CanPlay("'video/mp2t; codecs=\"avc1.640028,mp4a.a5\"'"));
1359 EXPECT_EQ(kMp2tsAc3Eac3Probably,
1360 CanPlay("'video/mp2t; codecs=\"avc1.640028,mp4a.a6\"'"));
1221 1361
1222 TestMPEGUnacceptableCombinations("video/mp2t"); 1362 TestMPEGUnacceptableCombinations("video/mp2t");
1223 } 1363 }
1224 1364
1225 IN_PROC_BROWSER_TEST_F(MediaCanPlayTypeTest, 1365 IN_PROC_BROWSER_TEST_F(MediaCanPlayTypeTest,
1226 CodecSupportTest_Mpeg2Ts_LegacyAvc1_codec_ids) { 1366 CodecSupportTest_Mpeg2Ts_LegacyAvc1_codec_ids) {
1227 // Old-style avc1/H.264 codec ids that are still being used by some HLS 1367 // Old-style avc1/H.264 codec ids that are still being used by some HLS
1228 // streaming apps for backward compatibility. 1368 // streaming apps for backward compatibility.
1229 // H.264 baseline profile 1369 // H.264 baseline profile
1230 EXPECT_EQ(kMp2tsProbably, CanPlay("'video/mp2t; codecs=\"avc1.66.10\"'")); 1370 EXPECT_EQ(kMp2tsProbably, CanPlay("'video/mp2t; codecs=\"avc1.66.10\"'"));
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
1266 EXPECT_EQ(kMp2tsProbably, 1406 EXPECT_EQ(kMp2tsProbably,
1267 CanPlay("'video/mp2t; codecs=\"avc1.100.40,mp4a.40.2\"'")); 1407 CanPlay("'video/mp2t; codecs=\"avc1.100.40,mp4a.40.2\"'"));
1268 } 1408 }
1269 1409
1270 IN_PROC_BROWSER_TEST_F(MediaCanPlayTypeTest, CodecSupportTest_Mpeg2TsAudio) { 1410 IN_PROC_BROWSER_TEST_F(MediaCanPlayTypeTest, CodecSupportTest_Mpeg2TsAudio) {
1271 // audio/mp2t is currently not supported (see also crbug.com/556837). 1411 // audio/mp2t is currently not supported (see also crbug.com/556837).
1272 EXPECT_EQ(kNot, CanPlay("'audio/mp2t; codecs=\"mp4a.40.2\"'")); 1412 EXPECT_EQ(kNot, CanPlay("'audio/mp2t; codecs=\"mp4a.40.2\"'"));
1273 } 1413 }
1274 1414
1275 } // namespace content 1415 } // namespace content
OLDNEW
« no previous file with comments | « no previous file | media/BUILD.gn » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698