OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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 "media/base/media.h" | 5 #include "media/base/media.h" |
6 | 6 |
7 #include "base/command_line.h" | 7 #include "base/command_line.h" |
8 #include "base/lazy_instance.h" | 8 #include "base/lazy_instance.h" |
9 #include "base/macros.h" | 9 #include "base/macros.h" |
10 #include "base/metrics/field_trial.h" | 10 #include "base/metrics/field_trial.h" |
(...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
92 // we have enough data to support the primacy of the unified media pipeline; | 92 // we have enough data to support the primacy of the unified media pipeline; |
93 // see http://crbug.com/533190 for details. | 93 // see http://crbug.com/533190 for details. |
94 // | 94 // |
95 // Note: It's important to query the field trial state first, to ensure that | 95 // Note: It's important to query the field trial state first, to ensure that |
96 // UMA reports the correct group. | 96 // UMA reports the correct group. |
97 const std::string group_name = | 97 const std::string group_name = |
98 base::FieldTrialList::FindFullName("UnifiedMediaPipelineTrial"); | 98 base::FieldTrialList::FindFullName("UnifiedMediaPipelineTrial"); |
99 const bool disabled_via_cli = | 99 const bool disabled_via_cli = |
100 base::CommandLine::ForCurrentProcess()->HasSwitch( | 100 base::CommandLine::ForCurrentProcess()->HasSwitch( |
101 switches::kDisableUnifiedMediaPipeline); | 101 switches::kDisableUnifiedMediaPipeline); |
| 102 // TODO(watk, dalecurtis): AVDA has bugs on API level 16 and 17 so it's |
| 103 // disabled for now. http://crbug.com/597467 |
| 104 const bool api_level_supported = |
| 105 base::android::BuildInfo::GetInstance()->sdk_int() >= 18; |
102 | 106 |
103 return !disabled_via_cli && | 107 return !disabled_via_cli && api_level_supported && |
104 !base::StartsWith(group_name, "Disabled", | 108 !base::StartsWith(group_name, "Disabled", |
105 base::CompareCase::SENSITIVE); | 109 base::CompareCase::SENSITIVE); |
106 } | 110 } |
107 | 111 |
108 bool ArePlatformDecodersAvailable() { | 112 bool ArePlatformDecodersAvailable() { |
109 return IsUnifiedMediaPipelineEnabled() | 113 return IsUnifiedMediaPipelineEnabled() |
110 ? HasPlatformDecoderSupport() | 114 ? HasPlatformDecoderSupport() |
111 : MediaCodecUtil::IsMediaCodecAvailable(); | 115 : MediaCodecUtil::IsMediaCodecAvailable(); |
112 } | 116 } |
113 #endif | 117 #endif |
114 | 118 |
115 } // namespace media | 119 } // namespace media |
OLD | NEW |