OLD | NEW |
1 // Copyright 2017 The Chromium Authors. All rights reserved. | 1 // Copyright 2017 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/decode_capabilities.h" | 5 #include "media/base/decode_capabilities.h" |
6 | 6 |
7 #include "base/command_line.h" | 7 #include "base/command_line.h" |
8 #include "base/feature_list.h" | 8 #include "base/feature_list.h" |
9 #include "media/base/media_switches.h" | 9 #include "media/base/media_switches.h" |
10 #include "ui/display/display_switches.h" | 10 #include "ui/display/display_switches.h" |
(...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
95 case media::VideoColorSpace::MatrixID::INVALID: | 95 case media::VideoColorSpace::MatrixID::INVALID: |
96 return false; | 96 return false; |
97 } | 97 } |
98 | 98 |
99 if (color_space.range == gfx::ColorSpace::RangeID::INVALID) | 99 if (color_space.range == gfx::ColorSpace::RangeID::INVALID) |
100 return false; | 100 return false; |
101 | 101 |
102 return true; | 102 return true; |
103 } | 103 } |
104 | 104 |
| 105 bool IsSupportedAudioConfig(const AudioConfig& config) { |
| 106 switch (config.codec) { |
| 107 case media::kCodecAAC: |
| 108 case media::kCodecFLAC: |
| 109 case media::kCodecMP3: |
| 110 case media::kCodecOpus: |
| 111 case media::kCodecPCM: |
| 112 case media::kCodecPCM_MULAW: |
| 113 case media::kCodecPCM_S16BE: |
| 114 case media::kCodecPCM_S24BE: |
| 115 case media::kCodecPCM_ALAW: |
| 116 case media::kCodecVorbis: |
| 117 return true; |
| 118 |
| 119 case media::kCodecAMR_NB: |
| 120 case media::kCodecAMR_WB: |
| 121 case media::kCodecGSM_MS: |
| 122 #if defined(OS_CHROMEOS) |
| 123 return true; |
| 124 #else |
| 125 return false; |
| 126 #endif |
| 127 |
| 128 case media::kCodecEAC3: |
| 129 case media::kCodecALAC: |
| 130 case media::kCodecAC3: |
| 131 case media::kUnknownAudioCodec: |
| 132 return false; |
| 133 } |
| 134 |
| 135 NOTREACHED(); |
| 136 return false; |
| 137 } |
| 138 |
105 // TODO(chcunningham): Query decoders for codec profile support. Add platform | 139 // TODO(chcunningham): Query decoders for codec profile support. Add platform |
106 // specific logic for Android (move from MimeUtilIntenral). | 140 // specific logic for Android (move from MimeUtilIntenral). |
107 bool IsSupportedVideoConfig(const VideoConfig& config) { | 141 bool IsSupportedVideoConfig(const VideoConfig& config) { |
108 switch (config.codec) { | 142 switch (config.codec) { |
109 case media::kCodecVP9: | 143 case media::kCodecVP9: |
110 // Color management required for HDR to not look terrible. | 144 // Color management required for HDR to not look terrible. |
111 return IsColorSpaceSupported(config.color_space); | 145 return IsColorSpaceSupported(config.color_space); |
112 | 146 |
113 case media::kCodecH264: | 147 case media::kCodecH264: |
114 case media::kCodecVP8: | 148 case media::kCodecVP8: |
115 case media::kCodecTheora: | 149 case media::kCodecTheora: |
116 return true; | 150 return true; |
117 | 151 |
118 case media::kUnknownVideoCodec: | 152 case media::kUnknownVideoCodec: |
119 case media::kCodecVC1: | 153 case media::kCodecVC1: |
120 case media::kCodecMPEG2: | 154 case media::kCodecMPEG2: |
121 case media::kCodecMPEG4: | 155 case media::kCodecMPEG4: |
122 case media::kCodecHEVC: | 156 case media::kCodecHEVC: |
123 case media::kCodecDolbyVision: | 157 case media::kCodecDolbyVision: |
124 return false; | 158 return false; |
125 } | 159 } |
126 | 160 |
127 NOTREACHED(); | 161 NOTREACHED(); |
128 return false; | 162 return false; |
129 } | 163 } |
130 | 164 |
131 } // namespace media | 165 } // namespace media |
OLD | NEW |