| 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 |