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

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

Powered by Google App Engine
This is Rietveld 408576698