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

Side by Side Diff: media/base/mime_util_unittest.cc

Issue 2808373002: Fix PlatformInfo variation for mime util IsCodecSupportedOnAndroidTest (Closed)
Patch Set: Created 3 years, 8 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 | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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
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
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
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
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698