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 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
57 | 57 |
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_BEGIN(name) \ |
68 size_t name##_index = 0; \ | 68 for (size_t name##_index = 0; \ |
69 for (info.name = name##_states[name##_index]; \ | 69 name##_index < name##_states.size(); \ |
70 name##_index < name##_states.size(); ++name##_index) | 70 ++name##_index) { \ |
71 info.name = name##_states[name##_index]; | |
72 #define RUN_TEST_VECTOR_END() } | |
71 | 73 |
72 RUN_TEST_VECTOR(has_platform_decoders) { | 74 RUN_TEST_VECTOR_BEGIN(has_platform_decoders) |
73 RUN_TEST_VECTOR(has_platform_vp8_decoder) { | 75 RUN_TEST_VECTOR_BEGIN(has_platform_vp8_decoder) |
74 RUN_TEST_VECTOR(has_platform_vp9_decoder) { | 76 RUN_TEST_VECTOR_BEGIN(has_platform_vp9_decoder) |
75 RUN_TEST_VECTOR(supports_opus) { | 77 RUN_TEST_VECTOR_BEGIN(supports_opus) |
76 for (int codec = MimeUtil::INVALID_CODEC; | 78 for (int codec = MimeUtil::INVALID_CODEC; |
77 codec <= MimeUtil::LAST_CODEC; ++codec) { | 79 codec <= MimeUtil::LAST_CODEC; ++codec) { |
78 SCOPED_TRACE(base::StringPrintf( | 80 SCOPED_TRACE(base::StringPrintf( |
79 "has_platform_decoders=%d, has_platform_vp8_decoder=%d, " | 81 "has_platform_decoders=%d, has_platform_vp8_decoder=%d, " |
80 "supports_opus=%d, " | 82 "supports_opus=%d, " |
81 "has_platform_vp9_decoder=%d, " | 83 "has_platform_vp9_decoder=%d, " |
82 "codec=%d", | 84 "codec=%d", |
83 info.has_platform_decoders, info.has_platform_vp8_decoder, | 85 info.has_platform_decoders, info.has_platform_vp8_decoder, |
84 info.supports_opus, info.has_platform_vp9_decoder, codec)); | 86 info.supports_opus, info.has_platform_vp9_decoder, codec)); |
85 test_func(info, static_cast<MimeUtil::Codec>(codec)); | 87 test_func(info, static_cast<MimeUtil::Codec>(codec)); |
86 } | 88 } |
87 } | 89 RUN_TEST_VECTOR_END() |
88 } | 90 RUN_TEST_VECTOR_END() |
89 } | 91 RUN_TEST_VECTOR_END() |
90 } | 92 RUN_TEST_VECTOR_END() |
91 #undef RUN_TEST_VECTOR | 93 #undef RUN_TEST_VECTOR_BEGIN |
DaleCurtis
2017/04/11 19:04:45
Blank line above.
pavor
2017/04/12 07:03:50
Done
| |
94 #undef RUN_TEST_VECTOR_END | |
92 } | 95 } |
93 | 96 |
94 // Helper method for generating the |states_to_vary| value used by | 97 // Helper method for generating the |states_to_vary| value used by |
95 // RunPlatformCodecTest(). Marks all fields to be varied. | 98 // RunPlatformCodecTest(). Marks all fields to be varied. |
96 static MimeUtil::PlatformInfo VaryAllFields() { | 99 static MimeUtil::PlatformInfo VaryAllFields() { |
97 MimeUtil::PlatformInfo states_to_vary; | 100 MimeUtil::PlatformInfo states_to_vary; |
98 states_to_vary.has_platform_vp8_decoder = true; | 101 states_to_vary.has_platform_vp8_decoder = true; |
99 states_to_vary.has_platform_vp9_decoder = true; | 102 states_to_vary.has_platform_vp9_decoder = true; |
100 states_to_vary.supports_opus = true; | 103 states_to_vary.supports_opus = true; |
101 states_to_vary.has_platform_decoders = true; | 104 states_to_vary.has_platform_decoders = true; |
(...skipping 224 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
326 // These codecs are never supported by the Android platform. | 329 // These codecs are never supported by the Android platform. |
327 case MimeUtil::INVALID_CODEC: | 330 case MimeUtil::INVALID_CODEC: |
328 case MimeUtil::AC3: | 331 case MimeUtil::AC3: |
329 case MimeUtil::EAC3: | 332 case MimeUtil::EAC3: |
330 case MimeUtil::THEORA: | 333 case MimeUtil::THEORA: |
331 EXPECT_FALSE(result); | 334 EXPECT_FALSE(result); |
332 break; | 335 break; |
333 | 336 |
334 // These codecs are always supported with the unified pipeline. | 337 // These codecs are always supported with the unified pipeline. |
335 case MimeUtil::FLAC: | 338 case MimeUtil::FLAC: |
339 case MimeUtil::H264: | |
336 case MimeUtil::PCM: | 340 case MimeUtil::PCM: |
337 case MimeUtil::MPEG2_AAC: | 341 case MimeUtil::MPEG2_AAC: |
338 case MimeUtil::MP3: | 342 case MimeUtil::MP3: |
339 case MimeUtil::MPEG4_AAC: | 343 case MimeUtil::MPEG4_AAC: |
340 case MimeUtil::OPUS: | 344 case MimeUtil::OPUS: |
341 case MimeUtil::VORBIS: | 345 case MimeUtil::VORBIS: |
342 case MimeUtil::VP8: | 346 case MimeUtil::VP8: |
343 case MimeUtil::VP9: | 347 case MimeUtil::VP9: |
344 EXPECT_TRUE(result); | 348 EXPECT_TRUE(result); |
345 break; | 349 break; |
346 | 350 |
347 // These codecs are only supported if platform decoders are supported. | 351 // 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 | |
352 case MimeUtil::HEVC: | 352 case MimeUtil::HEVC: |
353 EXPECT_EQ(HasHevcSupport() && info.has_platform_decoders, result); | 353 EXPECT_EQ(HasHevcSupport() && info.has_platform_decoders, result); |
354 break; | 354 break; |
355 | 355 |
356 case MimeUtil::DOLBY_VISION: | 356 case MimeUtil::DOLBY_VISION: |
357 EXPECT_EQ(HasDolbyVisionSupport(), result); | 357 EXPECT_EQ(HasDolbyVisionSupport(), result); |
358 break; | 358 break; |
359 } | 359 } |
360 }); | 360 }); |
361 } | 361 } |
(...skipping 25 matching lines...) Expand all Loading... | |
387 MimeUtil::MPEG2_AAC, "application/vnd.apple.mpegurl", false, info)); | 387 MimeUtil::MPEG2_AAC, "application/vnd.apple.mpegurl", false, info)); |
388 EXPECT_FALSE(MimeUtil::IsCodecSupportedOnAndroid( | 388 EXPECT_FALSE(MimeUtil::IsCodecSupportedOnAndroid( |
389 MimeUtil::MPEG2_AAC, "audio/mpegurl", false, info)); | 389 MimeUtil::MPEG2_AAC, "audio/mpegurl", false, info)); |
390 EXPECT_FALSE(MimeUtil::IsCodecSupportedOnAndroid( | 390 EXPECT_FALSE(MimeUtil::IsCodecSupportedOnAndroid( |
391 MimeUtil::MPEG2_AAC, "audio/x-mpegurl", false, info)); | 391 MimeUtil::MPEG2_AAC, "audio/x-mpegurl", false, info)); |
392 }); | 392 }); |
393 } | 393 } |
394 | 394 |
395 } // namespace internal | 395 } // namespace internal |
396 } // namespace media | 396 } // namespace media |
OLD | NEW |