OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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 <stddef.h> | 5 #include <stddef.h> |
6 | 6 |
7 #include "base/macros.h" | 7 #include "base/macros.h" |
8 #include "base/strings/string_split.h" | 8 #include "base/strings/string_split.h" |
9 #include "base/strings/stringprintf.h" | 9 #include "base/strings/stringprintf.h" |
10 #include "base/test/scoped_command_line.h" | 10 #include "base/test/scoped_command_line.h" |
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
58 // Stuff states to test into vectors for easy for_each() iteration. | 58 // Stuff states to test into vectors for easy for_each() iteration. |
59 MAKE_TEST_VECTOR(has_platform_decoders); | 59 MAKE_TEST_VECTOR(has_platform_decoders); |
60 MAKE_TEST_VECTOR(has_platform_vp8_decoder); | 60 MAKE_TEST_VECTOR(has_platform_vp8_decoder); |
61 MAKE_TEST_VECTOR(has_platform_vp9_decoder); | 61 MAKE_TEST_VECTOR(has_platform_vp9_decoder); |
62 MAKE_TEST_VECTOR(supports_opus); | 62 MAKE_TEST_VECTOR(supports_opus); |
63 #undef MAKE_TEST_VECTOR | 63 #undef MAKE_TEST_VECTOR |
64 | 64 |
65 MimeUtil::PlatformInfo info; | 65 MimeUtil::PlatformInfo info; |
66 | 66 |
67 #define RUN_TEST_VECTOR(name) \ | 67 #define RUN_TEST_VECTOR(name) \ |
68 for (size_t name##_index = 0; \ | 68 size_t name##_index = 0; \ |
69 info.name = name##_states[name##_index], \ | 69 for (info.name = name##_states[name##_index]; \ |
70 name##_index < name##_states.size(); ++name##_index) | 70 name##_index < name##_states.size(); ++name##_index) |
71 | 71 |
72 RUN_TEST_VECTOR(has_platform_decoders) { | 72 RUN_TEST_VECTOR(has_platform_decoders) { |
73 RUN_TEST_VECTOR(has_platform_vp8_decoder) { | 73 RUN_TEST_VECTOR(has_platform_vp8_decoder) { |
74 RUN_TEST_VECTOR(has_platform_vp9_decoder) { | 74 RUN_TEST_VECTOR(has_platform_vp9_decoder) { |
75 RUN_TEST_VECTOR(supports_opus) { | 75 RUN_TEST_VECTOR(supports_opus) { |
76 for (int codec = MimeUtil::INVALID_CODEC; | 76 for (int codec = MimeUtil::INVALID_CODEC; |
77 codec <= MimeUtil::LAST_CODEC; ++codec) { | 77 codec <= MimeUtil::LAST_CODEC; ++codec) { |
78 SCOPED_TRACE(base::StringPrintf( | 78 SCOPED_TRACE(base::StringPrintf( |
79 "has_platform_decoders=%d, has_platform_vp8_decoder=%d, " | 79 "has_platform_decoders=%d, has_platform_vp8_decoder=%d, " |
(...skipping 246 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
326 // These codecs are never supported by the Android platform. | 326 // These codecs are never supported by the Android platform. |
327 case MimeUtil::INVALID_CODEC: | 327 case MimeUtil::INVALID_CODEC: |
328 case MimeUtil::AC3: | 328 case MimeUtil::AC3: |
329 case MimeUtil::EAC3: | 329 case MimeUtil::EAC3: |
330 case MimeUtil::THEORA: | 330 case MimeUtil::THEORA: |
331 EXPECT_FALSE(result); | 331 EXPECT_FALSE(result); |
332 break; | 332 break; |
333 | 333 |
334 // These codecs are always supported with the unified pipeline. | 334 // These codecs are always supported with the unified pipeline. |
335 case MimeUtil::FLAC: | 335 case MimeUtil::FLAC: |
336 case MimeUtil::H264: | |
337 case MimeUtil::PCM: | 336 case MimeUtil::PCM: |
338 case MimeUtil::MPEG2_AAC: | 337 case MimeUtil::MPEG2_AAC: |
339 case MimeUtil::MP3: | 338 case MimeUtil::MP3: |
340 case MimeUtil::MPEG4_AAC: | 339 case MimeUtil::MPEG4_AAC: |
341 case MimeUtil::OPUS: | 340 case MimeUtil::OPUS: |
342 case MimeUtil::VORBIS: | 341 case MimeUtil::VORBIS: |
343 case MimeUtil::VP8: | 342 case MimeUtil::VP8: |
344 case MimeUtil::VP9: | 343 case MimeUtil::VP9: |
345 EXPECT_TRUE(result); | 344 EXPECT_TRUE(result); |
346 break; | 345 break; |
347 | 346 |
348 // These codecs are only supported if platform decoders are supported. | 347 // These codecs are only supported if platform decoders are supported. |
| 348 case MimeUtil::H264: |
| 349 EXPECT_EQ(info.has_platform_decoders, result); |
| 350 break; |
| 351 |
349 case MimeUtil::HEVC: | 352 case MimeUtil::HEVC: |
350 EXPECT_EQ(HasHevcSupport() && info.has_platform_decoders, result); | 353 EXPECT_EQ(HasHevcSupport() && info.has_platform_decoders, result); |
351 break; | 354 break; |
352 | 355 |
353 case MimeUtil::DOLBY_VISION: | 356 case MimeUtil::DOLBY_VISION: |
354 EXPECT_EQ(HasDolbyVisionSupport(), result); | 357 EXPECT_EQ(HasDolbyVisionSupport(), result); |
355 break; | 358 break; |
356 } | 359 } |
357 }); | 360 }); |
358 } | 361 } |
(...skipping 25 matching lines...) Expand all Loading... |
384 MimeUtil::MPEG2_AAC, "application/vnd.apple.mpegurl", false, info)); | 387 MimeUtil::MPEG2_AAC, "application/vnd.apple.mpegurl", false, info)); |
385 EXPECT_FALSE(MimeUtil::IsCodecSupportedOnAndroid( | 388 EXPECT_FALSE(MimeUtil::IsCodecSupportedOnAndroid( |
386 MimeUtil::MPEG2_AAC, "audio/mpegurl", false, info)); | 389 MimeUtil::MPEG2_AAC, "audio/mpegurl", false, info)); |
387 EXPECT_FALSE(MimeUtil::IsCodecSupportedOnAndroid( | 390 EXPECT_FALSE(MimeUtil::IsCodecSupportedOnAndroid( |
388 MimeUtil::MPEG2_AAC, "audio/x-mpegurl", false, info)); | 391 MimeUtil::MPEG2_AAC, "audio/x-mpegurl", false, info)); |
389 }); | 392 }); |
390 } | 393 } |
391 | 394 |
392 } // namespace internal | 395 } // namespace internal |
393 } // namespace media | 396 } // namespace media |
OLD | NEW |