1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
7 #include "content/browser/media/media_browsertest.h"
8 #include "content/public/test/browser_test_utils.h"
9 #include "content/public/test/content_browser_test_utils.h"
10 #include "content/shell/browser/shell.h"
12 #if defined(OS_ANDROID)
13 #include "base/android/build_info.h"
16 const char kProbably[] = "probably";
17 const char kMaybe[] = "maybe";
18 const char kNot[] = "";
20 #if defined(USE_PROPRIETARY_CODECS)
21 const char kPropProbably[] = "probably";
22 const char kPropMaybe[] = "maybe";
24 const char kPropProbably[] = "";
25 const char kPropMaybe[] = "";
26 #endif // USE_PROPRIETARY_CODECS
28 // TODO(amogh.bihani): Change the opus tests when opus is on
29 // Android. (http://crbug.com/318436).
30 #if !defined(OS_ANDROID)
31 const char kOggVideoProbably[] = "probably";
32 const char kOggVideoMaybe[] = "maybe";
33 const char kTheoraProbably[] = "probably";
34 const char kOpusProbably[] = "probably";
35 #if defined(USE_PROPRIETARY_CODECS)
36 const char kTheoraAndPropProbably[] = "probably";
37 const char kOpusAndPropProbably[] = "probably";
39 const char kTheoraAndPropProbably[] = "";
40 const char kOpusAndPropProbably[] = "";
41 #endif // USE_PROPRIETARY_CODECS
43 const char kOggVideoProbably[] = "";
44 const char kOggVideoMaybe[] = "";
45 const char kTheoraProbably[] = "";
46 const char kOpusProbably[] = "";
47 const char kTheoraAndPropProbably[] = "maybe";
48 const char kOpusAndPropProbably[] = "maybe";
53 class MediaCanPlayTypeTest : public MediaBrowserTest {
55 MediaCanPlayTypeTest() : url_("about:blank") { }
57 virtual void SetUpOnMainThread() OVERRIDE {
58 NavigateToURL(shell(), url_);
61 std::string CanPlay(const std::string& type) {
62 std::string command("document.createElement('video').canPlayType(");
67 EXPECT_TRUE(ExecuteScriptAndExtractString(
68 shell()->web_contents(),
69 "window.domAutomationController.send(" + command + ");",
76 DISALLOW_COPY_AND_ASSIGN(MediaCanPlayTypeTest);
79 IN_PROC_BROWSER_TEST_F(MediaCanPlayTypeTest, CodecSupportTest_wav) {
80 EXPECT_EQ(kMaybe, CanPlay("'audio/wav'"));
81 EXPECT_EQ(kProbably, CanPlay("'audio/wav; codecs=\"1\"'"));
83 EXPECT_EQ(kNot, CanPlay("'audio/wav; codecs=\"vorbis\"'"));
84 EXPECT_EQ(kNot, CanPlay("'audio/wav; codecs=\"theora\"'"));
86 EXPECT_EQ(kNot, CanPlay("'audio/wav; codecs=\"vp8\"'"));
87 EXPECT_EQ(kNot, CanPlay("'audio/wav; codecs=\"vp8.0\"'"));
88 EXPECT_EQ(kNot, CanPlay("'audio/wav; codecs=\"vp9\"'"));
89 EXPECT_EQ(kNot, CanPlay("'audio/wav; codecs=\"vp9.0\"'"));
90 EXPECT_EQ(kNot, CanPlay("'audio/wav; codecs=\"opus\"'"));
92 EXPECT_EQ(kNot, CanPlay("'audio/wav; codecs=\"avc1\"'"));
93 EXPECT_EQ(kNot, CanPlay("'audio/wav; codecs=\"avc3\"'"));
94 EXPECT_EQ(kNot, CanPlay("'audio/wav; codecs=\"mp4a\"'"));
95 EXPECT_EQ(kNot, CanPlay("'audio/wav; codecs=\"avc1.4D401E\"'"));
96 EXPECT_EQ(kNot, CanPlay("'audio/wav; codecs=\"avc3.64001F\"'"));
97 EXPECT_EQ(kNot, CanPlay("'audio/wav; codecs=\"mp4a.40.5\"'"));
99 EXPECT_EQ(kNot, CanPlay("'audio/wav; codecs=\"1, mp4a\"'"));
100 EXPECT_EQ(kNot, CanPlay("'audio/wav; codecs=\"1, opus\"'"));
101 EXPECT_EQ(kNot, CanPlay("'audio/wav; codecs=\"1, theora\"'"));
102 EXPECT_EQ(kNot, CanPlay("'audio/wav; codecs=\"1, vorbis\"'"));
103 EXPECT_EQ(kNot, CanPlay("'audio/wav; codecs=\"opus, vorbis\"'"));
104 EXPECT_EQ(kNot, CanPlay("'audio/wav; codecs=\"opus, theora\"'"));
105 EXPECT_EQ(kNot, CanPlay("'audio/wav; codecs=\"vorbis, mp4a\"'"));
107 EXPECT_EQ(kNot, CanPlay("'audio/wav; codecs=\"unknown\"'"));
109 EXPECT_EQ(kMaybe, CanPlay("'audio/x-wav'"));
110 EXPECT_EQ(kProbably, CanPlay("'audio/x-wav; codecs=\"1\"'"));
112 EXPECT_EQ(kNot, CanPlay("'audio/x-wav; codecs=\"vorbis\"'"));
113 EXPECT_EQ(kNot, CanPlay("'audio/x-wav; codecs=\"theora\"'"));
115 EXPECT_EQ(kNot, CanPlay("'audio/x-wav; codecs=\"vp8\"'"));
116 EXPECT_EQ(kNot, CanPlay("'audio/x-wav; codecs=\"vp8.0\"'"));
117 EXPECT_EQ(kNot, CanPlay("'audio/x-wav; codecs=\"vp9\"'"));
118 EXPECT_EQ(kNot, CanPlay("'audio/x-wav; codecs=\"vp9.0\"'"));
119 EXPECT_EQ(kNot, CanPlay("'audio/x-wav; codecs=\"opus\"'"));
121 EXPECT_EQ(kNot, CanPlay("'audio/x-wav; codecs=\"avc1\"'"));
122 EXPECT_EQ(kNot, CanPlay("'audio/x-wav; codecs=\"avc3\"'"));
123 EXPECT_EQ(kNot, CanPlay("'audio/x-wav; codecs=\"mp4a\"'"));
124 EXPECT_EQ(kNot, CanPlay("'audio/x-wav; codecs=\"avc1.4D401E\"'"));
125 EXPECT_EQ(kNot, CanPlay("'audio/x-wav; codecs=\"avc3.64001F\"'"));
126 EXPECT_EQ(kNot, CanPlay("'audio/x-wav; codecs=\"mp4a.40.5\"'"));
128 EXPECT_EQ(kNot, CanPlay("'audio/x-wav; codecs=\"1, mp4a\"'"));
129 EXPECT_EQ(kNot, CanPlay("'audio/x-wav; codecs=\"1, opus\"'"));
130 EXPECT_EQ(kNot, CanPlay("'audio/x-wav; codecs=\"1, theora\"'"));
131 EXPECT_EQ(kNot, CanPlay("'audio/x-wav; codecs=\"1, vorbis\"'"));
132 EXPECT_EQ(kNot, CanPlay("'audio/x-wav; codecs=\"opus, vorbis\"'"));
133 EXPECT_EQ(kNot, CanPlay("'audio/x-wav; codecs=\"opus, theora\"'"));
134 EXPECT_EQ(kNot, CanPlay("'audio/x-wav; codecs=\"vorbis, mp4a\"'"));
136 EXPECT_EQ(kNot, CanPlay("'audio/x-wav; codecs=\"unknown\"'"));
139 IN_PROC_BROWSER_TEST_F(MediaCanPlayTypeTest, CodecSupportTest_webm) {
140 // On Android, VP9 is supported only on KitKat and above (API level 19).
141 std::string VP9Probably = "probably";
142 std::string VP9AndOpusProbably = "probably";
143 #if defined(OS_ANDROID)
144 VP9AndOpusProbably = "";
145 if (base::android::BuildInfo::GetInstance()->sdk_int() < 19)
148 EXPECT_EQ(kMaybe, CanPlay("'video/webm'"));
150 EXPECT_EQ(kProbably, CanPlay("'video/webm; codecs=\"vp8\"'"));
151 EXPECT_EQ(kProbably, CanPlay("'video/webm; codecs=\"vp8.0\"'"));
152 EXPECT_EQ(kProbably, CanPlay("'video/webm; codecs=\"vp8, vorbis\"'"));
153 EXPECT_EQ(kProbably, CanPlay("'video/webm; codecs=\"vp8.0, vorbis\"'"));
154 EXPECT_EQ(kOpusProbably, CanPlay("'video/webm; codecs=\"vp8, opus\"'"));
155 EXPECT_EQ(kOpusProbably, CanPlay("'video/webm; codecs=\"vp8.0, opus\"'"));
157 EXPECT_EQ(VP9Probably, CanPlay("'video/webm; codecs=\"vp9\"'"));
158 EXPECT_EQ(VP9Probably, CanPlay("'video/webm; codecs=\"vp9.0\"'"));
159 EXPECT_EQ(VP9Probably, CanPlay("'video/webm; codecs=\"vp9, vorbis\"'"));
160 EXPECT_EQ(VP9Probably, CanPlay("'video/webm; codecs=\"vp9.0, vorbis\"'"));
161 EXPECT_EQ(VP9AndOpusProbably, CanPlay("'video/webm; codecs=\"vp9, opus\"'"));
162 EXPECT_EQ(VP9AndOpusProbably,
163 CanPlay("'video/webm; codecs=\"vp9.0, opus\"'"));
165 EXPECT_EQ(VP9Probably, CanPlay("'video/webm; codecs=\"vp8, vp9\"'"));
166 EXPECT_EQ(VP9Probably, CanPlay("'video/webm; codecs=\"vp8.0, vp9.0\"'"));
167 EXPECT_EQ(kNot, CanPlay("'video/webm; codecs=\"vp8, theora\"'"));
168 EXPECT_EQ(kNot, CanPlay("'video/webm; codecs=\"vp8, avc1\"'"));
169 EXPECT_EQ(kNot, CanPlay("'video/webm; codecs=\"vp9, avc3\"'"));
171 EXPECT_EQ(kNot, CanPlay("'video/webm; codecs=\"vp8, 1\"'"));
172 EXPECT_EQ(kNot, CanPlay("'video/webm; codecs=\"vp8.0, 1\"'"));
173 EXPECT_EQ(kNot, CanPlay("'video/webm; codecs=\"vp8, mp4a.40.2\"'"));
174 EXPECT_EQ(kNot, CanPlay("'video/webm; codecs=\"vp8.0, mp4a.40.2\"'"));
176 EXPECT_EQ(kNot, CanPlay("'video/webm; codecs=\"vp9, 1\"'"));
177 EXPECT_EQ(kNot, CanPlay("'video/webm; codecs=\"vp9.0, 1\"'"));
178 EXPECT_EQ(kNot, CanPlay("'video/webm; codecs=\"vp9, mp4a.40.2\"'"));
179 EXPECT_EQ(kNot, CanPlay("'video/webm; codecs=\"vp9.0, mp4a.40.2\"'"));
181 EXPECT_EQ(kNot, CanPlay("'video/webm; codecs=\"theora\"'"));
182 EXPECT_EQ(kNot, CanPlay("'video/webm; codecs=\"1\"'"));
184 EXPECT_EQ(kNot, CanPlay("'video/webm; codecs=\"avc1\"'"));
185 EXPECT_EQ(kNot, CanPlay("'video/webm; codecs=\"avc3\"'"));
186 EXPECT_EQ(kNot, CanPlay("'video/webm; codecs=\"mp4a\"'"));
187 EXPECT_EQ(kNot, CanPlay("'video/webm; codecs=\"avc1.4D401E\"'"));
188 EXPECT_EQ(kNot, CanPlay("'video/webm; codecs=\"avc3.64001F\"'"));
189 EXPECT_EQ(kNot, CanPlay("'video/webm; codecs=\"mp4a.40.2\"'"));
191 EXPECT_EQ(kNot, CanPlay("'video/webm; codecs=\"VP8\"'"));
192 EXPECT_EQ(kNot, CanPlay("'video/webm; codecs=\"VP8.0\"'"));
193 EXPECT_EQ(kNot, CanPlay("'video/webm; codecs=\"VP9\"'"));
194 EXPECT_EQ(kNot, CanPlay("'video/webm; codecs=\"Vp9.0\"'"));
196 EXPECT_EQ(kNot, CanPlay("'video/webm; codecs=\"VP8, Vorbis\"'"));
197 EXPECT_EQ(kNot, CanPlay("'video/webm; codecs=\"vp8, Vorbis\"'"));
198 EXPECT_EQ(kNot, CanPlay("'video/webm; codecs=\"VP9, Opus\"'"));
199 EXPECT_EQ(kNot, CanPlay("'video/webm; codecs=\"vp9, Opus\"'"));
201 EXPECT_EQ(kNot, CanPlay("'video/webm; codecs=\"unknown\"'"));
203 EXPECT_EQ(kMaybe, CanPlay("'audio/webm'"));
204 EXPECT_EQ(kProbably, CanPlay("'audio/webm; codecs=\"vorbis\"'"));
205 EXPECT_EQ(kOpusProbably, CanPlay("'audio/webm; codecs=\"opus\"'"));
206 EXPECT_EQ(kOpusProbably, CanPlay("'audio/webm; codecs=\"opus, vorbis\"'"));
208 EXPECT_EQ(kNot, CanPlay("'audio/webm; codecs=\"vp8\"'"));
209 EXPECT_EQ(kNot, CanPlay("'audio/webm; codecs=\"vp8.0\"'"));
210 EXPECT_EQ(kNot, CanPlay("'audio/webm; codecs=\"vp8, vorbis\"'"));
211 EXPECT_EQ(kNot, CanPlay("'audio/webm; codecs=\"vp8.0, vorbis\"'"));
212 EXPECT_EQ(kNot, CanPlay("'audio/webm; codecs=\"vp8, opus\"'"));
213 EXPECT_EQ(kNot, CanPlay("'audio/webm; codecs=\"vp8.0, opus\"'"));
215 EXPECT_EQ(kNot, CanPlay("'audio/webm; codecs=\"vp9\"'"));
216 EXPECT_EQ(kNot, CanPlay("'audio/webm; codecs=\"vp9.0\"'"));
217 EXPECT_EQ(kNot, CanPlay("'audio/webm; codecs=\"vp9, vorbis\"'"));
218 EXPECT_EQ(kNot, CanPlay("'audio/webm; codecs=\"vp9.0, vorbis\"'"));
219 EXPECT_EQ(kNot, CanPlay("'audio/webm; codecs=\"vp9, opus\"'"));
220 EXPECT_EQ(kNot, CanPlay("'audio/webm; codecs=\"vp9.0, opus\"'"));
222 EXPECT_EQ(kNot, CanPlay("'audio/webm; codecs=\"1\"'"));
223 EXPECT_EQ(kNot, CanPlay("'audio/webm; codecs=\"1, opus\"'"));
224 EXPECT_EQ(kNot, CanPlay("'audio/webm; codecs=\"1, vorbis\"'"));
225 EXPECT_EQ(kNot, CanPlay("'audio/webm; codecs=\"vorbis, mp4a\"'"));
227 EXPECT_EQ(kNot, CanPlay("'audio/webm; codecs=\"avc1\"'"));
228 EXPECT_EQ(kNot, CanPlay("'audio/webm; codecs=\"avc3\"'"));
229 EXPECT_EQ(kNot, CanPlay("'audio/webm; codecs=\"mp4a\"'"));
230 EXPECT_EQ(kNot, CanPlay("'audio/webm; codecs=\"avc1.4D401E\"'"));
231 EXPECT_EQ(kNot, CanPlay("'audio/webm; codecs=\"avc3.64001F\"'"));
232 EXPECT_EQ(kNot, CanPlay("'audio/webm; codecs=\"mp4a.40.2\"'"));
234 EXPECT_EQ(kNot, CanPlay("'audio/webm; codecs=\"unknown\"'"));
237 IN_PROC_BROWSER_TEST_F(MediaCanPlayTypeTest, CodecSupportTest_ogg) {
238 EXPECT_EQ(kOggVideoMaybe, CanPlay("'video/ogg'"));
239 EXPECT_EQ(kOggVideoProbably, CanPlay("'video/ogg; codecs=\"theora\"'"));
240 EXPECT_EQ(kOggVideoProbably,
241 CanPlay("'video/ogg; codecs=\"theora, vorbis\"'"));
242 EXPECT_EQ(kOggVideoProbably,
243 CanPlay("'video/ogg; codecs=\"theora, opus\"'"));
244 EXPECT_EQ(kOggVideoProbably,
245 CanPlay("'video/ogg; codecs=\"opus, vorbis\"'"));
247 EXPECT_EQ(kNot, CanPlay("'video/ogg; codecs=\"vp8\"'"));
248 EXPECT_EQ(kNot, CanPlay("'video/ogg; codecs=\"vp8.0\"'"));
249 EXPECT_EQ(kNot, CanPlay("'video/ogg; codecs=\"vp9\"'"));
250 EXPECT_EQ(kNot, CanPlay("'video/ogg; codecs=\"vp9.0\"'"));
252 EXPECT_EQ(kNot, CanPlay("'video/ogg; codecs=\"avc1\"'"));
253 EXPECT_EQ(kNot, CanPlay("'video/ogg; codecs=\"avc3\"'"));
254 EXPECT_EQ(kNot, CanPlay("'video/ogg; codecs=\"mp4a\"'"));
255 EXPECT_EQ(kNot, CanPlay("'video/ogg; codecs=\"avc1, mp4a\"'"));
256 EXPECT_EQ(kNot, CanPlay("'video/ogg; codecs=\"avc1, vorbis\"'"));
257 EXPECT_EQ(kNot, CanPlay("'video/ogg; codecs=\"avc3, mp4a\"'"));
258 EXPECT_EQ(kNot, CanPlay("'video/ogg; codecs=\"avc3, vorbis\"'"));
259 EXPECT_EQ(kNot, CanPlay("'video/ogg; codecs=\"avc1, vp8\"'"));
260 EXPECT_EQ(kNot, CanPlay("'video/ogg; codecs=\"avc3, vp9\"'"));
261 EXPECT_EQ(kNot, CanPlay("'video/ogg; codecs=\"avc1, avc3\"'"));
263 EXPECT_EQ(kNot, CanPlay("'video/ogg; codecs=\"avc1.4D401E\"'"));
264 EXPECT_EQ(kNot, CanPlay("'video/ogg; codecs=\"avc3.64001F\"'"));
265 EXPECT_EQ(kNot, CanPlay("'video/ogg; codecs=\"mp4a.4.02\"'"));
266 EXPECT_EQ(kNot, CanPlay("'video/ogg; codecs=\"avc1.4D401E, mp4a.40.2\"'"));
267 EXPECT_EQ(kNot, CanPlay("'video/ogg; codecs=\"avc3.64001F, mp4a.40.2\"'"));
268 EXPECT_EQ(kNot, CanPlay("'video/ogg; codecs=\"avc1.4D401E, vorbis\"'"));
269 EXPECT_EQ(kNot, CanPlay("'video/ogg; codecs=\"avc3.64001F, vorbis\"'"));
271 EXPECT_EQ(kNot, CanPlay("'video/ogg; codecs=\"Theora\"'"));
272 EXPECT_EQ(kNot, CanPlay("'video/ogg; codecs=\"Opus\"'"));
273 EXPECT_EQ(kNot, CanPlay("'video/ogg; codecs=\"Vorbis\"'"));
274 EXPECT_EQ(kNot, CanPlay("'video/ogg; codecs=\"Theora, Opus\"'"));
275 EXPECT_EQ(kNot, CanPlay("'video/ogg; codecs=\"Theora, Vorbis\"'"));
277 EXPECT_EQ(kNot, CanPlay("'video/ogg; codecs=\"unknown\"'"));
279 EXPECT_EQ(kMaybe, CanPlay("'audio/ogg'"));
280 EXPECT_EQ(kProbably, CanPlay("'audio/ogg; codecs=\"vorbis\"'"));
281 EXPECT_EQ(kOpusProbably, CanPlay("'audio/ogg; codecs=\"opus\"'"));
282 EXPECT_EQ(kOpusProbably, CanPlay("'audio/ogg; codecs=\"vorbis, opus\"'"));
284 EXPECT_EQ(kNot, CanPlay("'audio/ogg; codecs=\"theora\"'"));
285 EXPECT_EQ(kNot, CanPlay("'audio/ogg; codecs=\"theora, vorbis\"'"));
286 EXPECT_EQ(kNot, CanPlay("'audio/ogg; codecs=\"theora, opus\"'"));
287 EXPECT_EQ(kNot, CanPlay("'audio/ogg; codecs=\"opus, 1\"'"));
288 EXPECT_EQ(kNot, CanPlay("'audio/ogg; codecs=\"vorbis, 1\"'"));
290 EXPECT_EQ(kNot, CanPlay("'audio/ogg; codecs=\"vp8\"'"));
291 EXPECT_EQ(kNot, CanPlay("'audio/ogg; codecs=\"vp8.0\"'"));
292 EXPECT_EQ(kNot, CanPlay("'audio/ogg; codecs=\"vp9\"'"));
293 EXPECT_EQ(kNot, CanPlay("'audio/ogg; codecs=\"vp9.0\"'"));
295 EXPECT_EQ(kNot, CanPlay("'audio/ogg; codecs=\"avc1\"'"));
296 EXPECT_EQ(kNot, CanPlay("'audio/ogg; codecs=\"avc3\"'"));
297 EXPECT_EQ(kNot, CanPlay("'audio/ogg; codecs=\"mp4a\"'"));
298 EXPECT_EQ(kNot, CanPlay("'audio/ogg; codecs=\"avc1.4D401E\"'"));
299 EXPECT_EQ(kNot, CanPlay("'audio/ogg; codecs=\"avc3.64001F\"'"));
300 EXPECT_EQ(kNot, CanPlay("'audio/ogg; codecs=\"mp4a.40.2\"'"));
302 EXPECT_EQ(kNot, CanPlay("'audio/ogg; codecs=\"Theora\"'"));
303 EXPECT_EQ(kNot, CanPlay("'audio/ogg; codecs=\"Opus\"'"));
304 EXPECT_EQ(kNot, CanPlay("'audio/ogg; codecs=\"Vorbis\"'"));
305 EXPECT_EQ(kNot, CanPlay("'audio/ogg; codecs=\"Theora, Vorbis\"'"));
306 EXPECT_EQ(kNot, CanPlay("'audio/ogg; codecs=\"Theora, Opus\"'"));
308 EXPECT_EQ(kNot, CanPlay("'audio/ogg; codecs=\"unknown\"'"));
310 EXPECT_EQ(kMaybe, CanPlay("'application/ogg'"));
311 EXPECT_EQ(kProbably, CanPlay("'application/ogg; codecs=\"vorbis\"'"));
312 EXPECT_EQ(kTheoraProbably, CanPlay("'application/ogg; codecs=\"theora\"'"));
313 EXPECT_EQ(kOpusProbably, CanPlay("'application/ogg; codecs=\"opus\"'"));
314 EXPECT_EQ(kTheoraProbably,
315 CanPlay("'application/ogg; codecs=\"theora, vorbis\"'"));
316 EXPECT_EQ(kTheoraProbably,
317 CanPlay("'application/ogg; codecs=\"theora, opus\"'"));
318 EXPECT_EQ(kOpusProbably,
319 CanPlay("'application/ogg; codecs=\"opus, vorbis\"'"));
321 EXPECT_EQ(kNot, CanPlay("'application/ogg; codecs=\"vp8\"'"));
322 EXPECT_EQ(kNot, CanPlay("'application/ogg; codecs=\"vp8.0\"'"));
323 EXPECT_EQ(kNot, CanPlay("'application/ogg; codecs=\"vp9\"'"));
324 EXPECT_EQ(kNot, CanPlay("'application/ogg; codecs=\"vp9.0\"'"));
326 EXPECT_EQ(kNot, CanPlay("'application/ogg; codecs=\"avc1\"'"));
327 EXPECT_EQ(kNot, CanPlay("'application/ogg; codecs=\"avc3\"'"));
328 EXPECT_EQ(kNot, CanPlay("'application/ogg; codecs=\"mp4a\"'"));
329 EXPECT_EQ(kNot, CanPlay("'application/ogg; codecs=\"avc1, mp4a\"'"));
330 EXPECT_EQ(kNot, CanPlay("'application/ogg; codecs=\"avc1, vorbis\"'"));
331 EXPECT_EQ(kNot, CanPlay("'application/ogg; codecs=\"avc3, mp4a\"'"));
332 EXPECT_EQ(kNot, CanPlay("'application/ogg; codecs=\"avc3, vorbis\"'"));
333 EXPECT_EQ(kNot, CanPlay("'application/ogg; codecs=\"avc1, vp8\"'"));
334 EXPECT_EQ(kNot, CanPlay("'application/ogg; codecs=\"avc3, vp9\"'"));
335 EXPECT_EQ(kNot, CanPlay("'application/ogg; codecs=\"avc1, avc3\"'"));
337 EXPECT_EQ(kNot, CanPlay("'application/ogg; codecs=\"avc1.4D401E\"'"));
338 EXPECT_EQ(kNot, CanPlay("'application/ogg; codecs=\"avc3.64001F\"'"));
339 EXPECT_EQ(kNot, CanPlay("'application/ogg; codecs=\"mp4a.40.2\"'"));
341 CanPlay("'application/ogg; codecs=\"avc1.4D401E, mp4a.40.2\"'"));
343 CanPlay("'application/ogg; codecs=\"avc3.64001F, mp4a.40.2\"'"));
344 EXPECT_EQ(kNot, CanPlay("'application/ogg; codecs=\"avc1.4D401E, vorbis\"'"));
345 EXPECT_EQ(kNot, CanPlay("'application/ogg; codecs=\"avc3.64001F, vorbis\"'"));
347 EXPECT_EQ(kNot, CanPlay("'application/ogg; codecs=\"Theora\"'"));
348 EXPECT_EQ(kNot, CanPlay("'application/ogg; codecs=\"Vorbis\"'"));
349 EXPECT_EQ(kNot, CanPlay("'application/ogg; codecs=\"Opus\"'"));
350 EXPECT_EQ(kNot, CanPlay("'application/ogg; codecs=\"Theora, Vorbis\"'"));
351 EXPECT_EQ(kNot, CanPlay("'application/ogg; codecs=\"Theora, Opus\"'"));
353 EXPECT_EQ(kNot, CanPlay("'application/ogg; codecs=\"unknown\"'"));
356 IN_PROC_BROWSER_TEST_F(MediaCanPlayTypeTest, CodecSupportTest_mp3) {
357 EXPECT_EQ(kNot, CanPlay("'video/mp3'"));
358 EXPECT_EQ(kNot, CanPlay("'video/mpeg'"));
359 EXPECT_EQ(kNot, CanPlay("'video/x-mp3'"));
361 // audio/mpeg does not allow any codecs parameter
362 EXPECT_EQ(kPropProbably, CanPlay("'audio/mpeg'"));
364 EXPECT_EQ(kNot, CanPlay("'audio/mpeg; codecs=\"avc1\"'"));
365 EXPECT_EQ(kNot, CanPlay("'audio/mpeg; codecs=\"avc3\"'"));
367 EXPECT_EQ(kNot, CanPlay("'audio/mpeg; codecs=\"avc1.4D401E\"'"));
368 EXPECT_EQ(kNot, CanPlay("'audio/mpeg; codecs=\"avc3.64001F\"'"));
370 EXPECT_EQ(kNot, CanPlay("'audio/mpeg; codecs=\"mp4a\"'"));
371 EXPECT_EQ(kNot, CanPlay("'audio/mpeg; codecs=\"mp4a.40.2\"'"));
373 EXPECT_EQ(kNot, CanPlay("'audio/mpeg; codecs=\"avc1.unknown\"'"));
374 EXPECT_EQ(kNot, CanPlay("'audio/mpeg; codecs=\"avc3.unknown\"'"));
375 EXPECT_EQ(kNot, CanPlay("'audio/mpeg; codecs=\"mp4a.unknown\"'"));
377 EXPECT_EQ(kNot, CanPlay("'audio/mpeg; codecs=\"avc1.\"'"));
378 EXPECT_EQ(kNot, CanPlay("'audio/mpeg; codecs=\"avc3.\"'"));
379 EXPECT_EQ(kNot, CanPlay("'audio/mpeg; codecs=\"mp4a.\"'"));
381 EXPECT_EQ(kNot, CanPlay("'audio/mpeg; codecs=\"vorbis\"'"));
382 EXPECT_EQ(kNot, CanPlay("'audio/mpeg; codecs=\"opus\"'"));
383 EXPECT_EQ(kNot, CanPlay("'audio/mpeg; codecs=\"theora\"'"));
384 EXPECT_EQ(kNot, CanPlay("'audio/mpeg; codecs=\"vp8\"'"));
385 EXPECT_EQ(kNot, CanPlay("'audio/mpeg; codecs=\"vp8.0\"'"));
386 EXPECT_EQ(kNot, CanPlay("'audio/mpeg; codecs=\"vp9\"'"));
387 EXPECT_EQ(kNot, CanPlay("'audio/mpeg; codecs=\"vp9.0\"'"));
389 EXPECT_EQ(kNot, CanPlay("'audio/mpeg; codecs=\"AVC1\"'"));
390 EXPECT_EQ(kNot, CanPlay("'audio/mpeg; codecs=\"AVC1.4d401e\"'"));
391 EXPECT_EQ(kNot, CanPlay("'audio/mpeg; codecs=\"AVC3\"'"));
392 EXPECT_EQ(kNot, CanPlay("'audio/mpeg; codecs=\"AVC3.64001f\"'"));
393 EXPECT_EQ(kNot, CanPlay("'audio/mpeg; codecs=\"MP4A\"'"));
394 EXPECT_EQ(kNot, CanPlay("'audio/mpeg; codecs=\"MP4A.40.2\"'"));
395 EXPECT_EQ(kNot, CanPlay("'audio/mpeg; codecs=\"AVC1, MP4\"'"));
396 EXPECT_EQ(kNot, CanPlay("'audio/mpeg; codecs=\"AVC3, MP4\"'"));
397 EXPECT_EQ(kNot, CanPlay("'audio/mpeg; codecs=\", AVC1.4D401E, MP4.40.2\"'"));
398 EXPECT_EQ(kNot, CanPlay("'audio/mpeg; codecs=\", AVC3.64001F, MP4.40.2\"'"));
400 EXPECT_EQ(kNot, CanPlay("'audio/mpeg; codecs=\"avc2\"'"));
401 EXPECT_EQ(kNot, CanPlay("'audio/mpeg; codecs=\"avc4\"'"));
403 EXPECT_EQ(kNot, CanPlay("'audio/mpeg; codecs=\"avc1x\"'"));
404 EXPECT_EQ(kNot, CanPlay("'audio/mpeg; codecs=\"avc3x\"'"));
405 EXPECT_EQ(kNot, CanPlay("'audio/mpeg; codecs=\"mp4ax\"'"));
407 EXPECT_EQ(kNot, CanPlay("'audio/mpeg; codecs=\"unknown\"'"));
409 // audio/mp3 does not allow any codecs parameter
410 EXPECT_EQ(kPropProbably, CanPlay("'audio/mp3'"));
412 EXPECT_EQ(kNot, CanPlay("'audio/mp3; codecs=\"avc1\"'"));
413 EXPECT_EQ(kNot, CanPlay("'audio/mp3; codecs=\"avc3\"'"));
415 EXPECT_EQ(kNot, CanPlay("'audio/mp3; codecs=\"avc1.4D401E\"'"));
416 EXPECT_EQ(kNot, CanPlay("'audio/mp3; codecs=\"avc3.64001F\"'"));
418 EXPECT_EQ(kNot, CanPlay("'audio/mp3; codecs=\"mp4a\"'"));
419 EXPECT_EQ(kNot, CanPlay("'audio/mp3; codecs=\"mp4a.40.2\"'"));
421 EXPECT_EQ(kNot, CanPlay("'audio/mp3; codecs=\"avc1.unknown\"'"));
422 EXPECT_EQ(kNot, CanPlay("'audio/mp3; codecs=\"avc3.unknown\"'"));
423 EXPECT_EQ(kNot, CanPlay("'audio/mp3; codecs=\"mp4a.unknown\"'"));
425 EXPECT_EQ(kNot, CanPlay("'audio/mp3; codecs=\"avc1.\"'"));
426 EXPECT_EQ(kNot, CanPlay("'audio/mp3; codecs=\"avc3.\"'"));
427 EXPECT_EQ(kNot, CanPlay("'audio/mp3; codecs=\"mp4a.\"'"));
429 EXPECT_EQ(kNot, CanPlay("'audio/mp3; codecs=\"vorbis\"'"));
430 EXPECT_EQ(kNot, CanPlay("'audio/mp3; codecs=\"opus\"'"));
431 EXPECT_EQ(kNot, CanPlay("'audio/mp3; codecs=\"theora\"'"));
432 EXPECT_EQ(kNot, CanPlay("'audio/mp3; codecs=\"vp8\"'"));
433 EXPECT_EQ(kNot, CanPlay("'audio/mp3; codecs=\"vp8.0\"'"));
434 EXPECT_EQ(kNot, CanPlay("'audio/mp3; codecs=\"vp9\"'"));
435 EXPECT_EQ(kNot, CanPlay("'audio/mp3; codecs=\"vp9.0\"'"));
437 EXPECT_EQ(kNot, CanPlay("'audio/mp3; codecs=\"AVC1\"'"));
438 EXPECT_EQ(kNot, CanPlay("'audio/mp3; codecs=\"AVC1.4d401e\"'"));
439 EXPECT_EQ(kNot, CanPlay("'audio/mp3; codecs=\"AVC3\"'"));
440 EXPECT_EQ(kNot, CanPlay("'audio/mp3; codecs=\"AVC3.64001f\"'"));
441 EXPECT_EQ(kNot, CanPlay("'audio/mp3; codecs=\"MP4A\"'"));
442 EXPECT_EQ(kNot, CanPlay("'audio/mp3; codecs=\"MP4A.40.2\"'"));
443 EXPECT_EQ(kNot, CanPlay("'audio/mp3; codecs=\"AVC1, MP4\"'"));
444 EXPECT_EQ(kNot, CanPlay("'audio/mp3; codecs=\"AVC3, MP4\"'"));
445 EXPECT_EQ(kNot, CanPlay("'audio/mp3; codecs=\", AVC1.4D401E, MP4.40.2\"'"));
446 EXPECT_EQ(kNot, CanPlay("'audio/mp3; codecs=\", AVC3.64001F, MP4.40.2\"'"));
448 EXPECT_EQ(kNot, CanPlay("'audio/mp3; codecs=\"avc2\"'"));
449 EXPECT_EQ(kNot, CanPlay("'audio/mp3; codecs=\"avc4\"'"));
451 EXPECT_EQ(kNot, CanPlay("'audio/mp3; codecs=\"avc1x\"'"));
452 EXPECT_EQ(kNot, CanPlay("'audio/mp3; codecs=\"avc3x\"'"));
453 EXPECT_EQ(kNot, CanPlay("'audio/mp3; codecs=\"mp4ax\"'"));
455 EXPECT_EQ(kNot, CanPlay("'audio/mp3; codecs=\"unknown\"'"));
457 // audio/x-mp3 does not allow any codecs parameter
458 EXPECT_EQ(kPropProbably, CanPlay("'audio/x-mp3'"));
460 EXPECT_EQ(kNot, CanPlay("'audio/x-mp3; codecs=\"avc1\"'"));
461 EXPECT_EQ(kNot, CanPlay("'audio/x-mp3; codecs=\"avc3\"'"));
463 EXPECT_EQ(kNot, CanPlay("'audio/x-mp3; codecs=\"avc1.4D401E\"'"));
464 EXPECT_EQ(kNot, CanPlay("'audio/x-mp3; codecs=\"avc3.64001F\"'"));
466 EXPECT_EQ(kNot, CanPlay("'audio/x-mp3; codecs=\"mp4a\"'"));
467 EXPECT_EQ(kNot, CanPlay("'audio/x-mp3; codecs=\"mp4a.40.2\"'"));
469 EXPECT_EQ(kNot, CanPlay("'audio/x-mp3; codecs=\"avc1.unknown\"'"));
470 EXPECT_EQ(kNot, CanPlay("'audio/x-mp3; codecs=\"avc3.unknown\"'"));
471 EXPECT_EQ(kNot, CanPlay("'audio/x-mp3; codecs=\"mp4a.unknown\"'"));
473 EXPECT_EQ(kNot, CanPlay("'audio/x-mp3; codecs=\"vorbis\"'"));
474 EXPECT_EQ(kNot, CanPlay("'audio/x-mp3; codecs=\"opus\"'"));
475 EXPECT_EQ(kNot, CanPlay("'audio/x-mp3; codecs=\"theora\"'"));
476 EXPECT_EQ(kNot, CanPlay("'audio/x-mp3; codecs=\"vp8\"'"));
477 EXPECT_EQ(kNot, CanPlay("'audio/x-mp3; codecs=\"vp8.0\"'"));
478 EXPECT_EQ(kNot, CanPlay("'audio/x-mp3; codecs=\"vp9\"'"));
479 EXPECT_EQ(kNot, CanPlay("'audio/x-mp3; codecs=\"vp9.0\"'"));
481 EXPECT_EQ(kNot, CanPlay("'audio/x-mp3; codecs=\"AVC1\"'"));
482 EXPECT_EQ(kNot, CanPlay("'audio/x-mp3; codecs=\"AVC1.4d401e\"'"));
483 EXPECT_EQ(kNot, CanPlay("'audio/x-mp3; codecs=\"AVC3\"'"));
484 EXPECT_EQ(kNot, CanPlay("'audio/x-mp3; codecs=\"AVC3.64001f\"'"));
485 EXPECT_EQ(kNot, CanPlay("'audio/x-mp3; codecs=\"MP4A\"'"));
486 EXPECT_EQ(kNot, CanPlay("'audio/x-mp3; codecs=\"MP4A.40.2\"'"));
487 EXPECT_EQ(kNot, CanPlay("'audio/x-mp3; codecs=\"AVC1, MP4\"'"));
488 EXPECT_EQ(kNot, CanPlay("'audio/x-mp3; codecs=\"AVC3, MP4\"'"));
489 EXPECT_EQ(kNot, CanPlay("'audio/x-mp3; codecs=\", AVC1.4D401E, MP4.40.2\"'"));
490 EXPECT_EQ(kNot, CanPlay("'audio/x-mp3; codecs=\", AVC3.64001F, MP4.40.2\"'"));
492 EXPECT_EQ(kNot, CanPlay("'audio/x-mp3; codecs=\"avc2\"'"));
493 EXPECT_EQ(kNot, CanPlay("'audio/x-mp3; codecs=\"avc4\"'"));
495 EXPECT_EQ(kNot, CanPlay("'audio/x-mp3; codecs=\"avc1x\"'"));
496 EXPECT_EQ(kNot, CanPlay("'audio/x-mp3; codecs=\"avc3x\"'"));
497 EXPECT_EQ(kNot, CanPlay("'audio/x-mp3; codecs=\"mp4ax\"'"));
499 EXPECT_EQ(kNot, CanPlay("'audio/x-mp3; codecs=\"unknown\"'"));
502 IN_PROC_BROWSER_TEST_F(MediaCanPlayTypeTest, CodecSupportTest_mp4) {
503 // TODO(amogh.bihani): Change this expectation when bug 53193 is fixed.
504 std::string PropAndVP9Probably = "";
505 #if defined (OS_ANDROID)
506 if (base::android::BuildInfo::GetInstance()->sdk_int() < 19)
507 PropAndVP9Probably = "maybe";
509 PropAndVP9Probably = "probably";
511 #if defined(USE_PROPRIETARY_CODECS)
512 PropAndVP9Probably = "probably";
513 #endif // USE_PROPRIETARY_CODECS
515 EXPECT_EQ(kPropMaybe, CanPlay("'video/mp4'"));
517 EXPECT_EQ(kPropProbably, CanPlay("'video/mp4; codecs=\"avc1\"'"));
518 EXPECT_EQ(kPropProbably, CanPlay("'video/mp4; codecs=\"avc3\"'"));
519 EXPECT_EQ(kPropProbably, CanPlay("'video/mp4; codecs=\"mp4a\"'"));
520 EXPECT_EQ(kPropProbably, CanPlay("'video/mp4; codecs=\"avc1, mp4a\"'"));
521 EXPECT_EQ(kPropProbably, CanPlay("'video/mp4; codecs=\"avc3, mp4a\"'"));
522 EXPECT_EQ(kPropProbably, CanPlay("'video/mp4; codecs=\"avc1, avc3\"'"));
524 EXPECT_EQ(kPropProbably, CanPlay("'video/mp4; codecs=\"avc1.4D401E\"'"));
525 EXPECT_EQ(kPropProbably, CanPlay("'video/mp4; codecs=\"avc3.64001F\"'"));
526 EXPECT_EQ(kPropProbably, CanPlay("'video/mp4; codecs=\"mp4a.40.2\"'"));
527 EXPECT_EQ(kPropProbably,
528 CanPlay("'video/mp4; codecs=\"avc1.4D401E, mp4a.40.2\"'"));
529 EXPECT_EQ(kPropProbably,
530 CanPlay("'video/mp4; codecs=\"avc3.64001F, mp4a.40.5\"'"));
532 // TODO(amogh.bihani): Change these tests when bug 53193 is fixed.
533 // http://crbug.com/53193 ----------------------------------------------------
534 EXPECT_EQ(kPropProbably, CanPlay("'video/mp4; codecs=\"avc1.unknown\"'"));
535 EXPECT_EQ(kPropProbably, CanPlay("'video/mp4; codecs=\"avc3.unknown\"'"));
536 EXPECT_EQ(kPropProbably, CanPlay("'video/mp4; codecs=\"mp4a.unknown\"'"));
538 EXPECT_EQ(kPropProbably, CanPlay("'video/mp4; codecs=\"avc1.\"'"));
539 EXPECT_EQ(kPropProbably, CanPlay("'video/mp4; codecs=\"avc3.\"'"));
540 EXPECT_EQ(kPropProbably, CanPlay("'video/mp4; codecs=\"mp4a.\"'"));
542 EXPECT_EQ(kPropProbably, CanPlay("'video/mp4; codecs=\"vp8\"'"));
543 EXPECT_EQ(PropAndVP9Probably, CanPlay("'video/mp4; codecs=\"vp9\"'"));
545 EXPECT_EQ(kPropProbably, CanPlay("'video/mp4; codecs=\"vorbis\"'"));
546 EXPECT_EQ(kPropProbably, CanPlay("'video/mp4; codecs=\"avc1, vorbis\"'"));
547 EXPECT_EQ(kPropProbably, CanPlay("'video/mp4; codecs=\"avc3, vorbis\"'"));
548 EXPECT_EQ(kPropProbably,
549 CanPlay("'video/mp4; codecs=\"avc1.4D401E, vorbis\"'"));
550 EXPECT_EQ(kPropProbably,
551 CanPlay("'video/mp4; codecs=\"avc3.64001F, vorbis\"'"));
553 EXPECT_EQ(kOpusAndPropProbably, CanPlay("'video/mp4; codecs=\"opus\"'"));
554 EXPECT_EQ(kOpusAndPropProbably, CanPlay("'video/mp4; codecs=\"vp8, opus\"'"));
555 EXPECT_EQ(kOpusAndPropProbably, CanPlay("'video/mp4; codecs=\"vp9, opus\"'"));
557 EXPECT_EQ(kTheoraAndPropProbably, CanPlay("'video/mp4; codecs=\"theora\"'"));
558 EXPECT_EQ(kTheoraAndPropProbably,
559 CanPlay("'video/mp4; codecs=\"theora, vorbis\"'"));
560 EXPECT_EQ(kTheoraAndPropProbably,
561 CanPlay("'video/mp4; codecs=\"theora, mp4a\"'"));
562 EXPECT_EQ(kTheoraAndPropProbably,
563 CanPlay("'video/mp4; codecs=\"theora, mp4a.40.2\"'"));
564 EXPECT_EQ(kTheoraAndPropProbably,
565 CanPlay("'video/mp4; codecs=\"theora, avc1\"'"));
566 EXPECT_EQ(kTheoraAndPropProbably,
567 CanPlay("'video/mp4; codecs=\"theora, avc3\"'"));
568 EXPECT_EQ(kTheoraAndPropProbably,
569 CanPlay("'video/mp4; codecs=\"theora, avc1.4D401E\"'"));
570 EXPECT_EQ(kTheoraAndPropProbably,
571 CanPlay("'video/mp4; codecs=\"theora, avc3.64001F\"'"));
573 EXPECT_EQ(kPropMaybe, CanPlay("'video/mp4; codecs=\"AVC1\"'"));
574 EXPECT_EQ(kPropMaybe, CanPlay("'video/mp4; codecs=\"AVC1.4d401e\"'"));
575 EXPECT_EQ(kPropMaybe, CanPlay("'video/mp4; codecs=\"AVC3\"'"));
576 EXPECT_EQ(kPropMaybe, CanPlay("'video/mp4; codecs=\"AVC3.64001f\"'"));
577 EXPECT_EQ(kPropMaybe, CanPlay("'video/mp4; codecs=\"MP4A\"'"));
578 EXPECT_EQ(kPropMaybe, CanPlay("'video/mp4; codecs=\"MP4A.40.2\"'"));
579 EXPECT_EQ(kPropMaybe, CanPlay("'video/mp4; codecs=\"AVC1, MP4\"'"));
580 EXPECT_EQ(kPropMaybe, CanPlay("'video/mp4; codecs=\"AVC3, MP4\"'"));
581 EXPECT_EQ(kPropMaybe,
582 CanPlay("'video/mp4; codecs=\", AVC1.4D401E, MP4.40.2\"'"));
583 EXPECT_EQ(kPropMaybe,
584 CanPlay("'video/mp4; codecs=\", AVC3.64001F, MP4.40.2\"'"));
586 EXPECT_EQ(kPropMaybe, CanPlay("'video/mp4; codecs=\"avc2\"'"));
587 EXPECT_EQ(kPropMaybe, CanPlay("'video/mp4; codecs=\"avc4\"'"));
589 EXPECT_EQ(kPropMaybe, CanPlay("'video/mp4; codecs=\"avc1x\"'"));
590 EXPECT_EQ(kPropMaybe, CanPlay("'video/mp4; codecs=\"avc3x\"'"));
591 EXPECT_EQ(kPropMaybe, CanPlay("'video/mp4; codecs=\"mp4ax\"'"));
593 EXPECT_EQ(kPropMaybe, CanPlay("'video/mp4; codecs=\"unknown\"'"));
594 // ---------------------------------------------------------------------------
596 EXPECT_EQ(kPropMaybe, CanPlay("'video/x-m4v'"));
598 EXPECT_EQ(kPropProbably, CanPlay("'video/x-m4v; codecs=\"avc1\"'"));
599 EXPECT_EQ(kPropProbably, CanPlay("'video/x-m4v; codecs=\"avc3\"'"));
600 EXPECT_EQ(kPropProbably, CanPlay("'video/x-m4v; codecs=\"mp4a\"'"));
601 EXPECT_EQ(kPropProbably, CanPlay("'video/x-m4v; codecs=\"avc1, mp4a\"'"));
602 EXPECT_EQ(kPropProbably, CanPlay("'video/x-m4v; codecs=\"avc3, mp4a\"'"));
603 EXPECT_EQ(kPropProbably, CanPlay("'video/x-m4v; codecs=\"avc1, avc3\"'"));
605 EXPECT_EQ(kPropProbably, CanPlay("'video/x-m4v; codecs=\"avc1.4D401E\"'"));
606 EXPECT_EQ(kPropProbably, CanPlay("'video/x-m4v; codecs=\"avc3.64001F\"'"));
607 EXPECT_EQ(kPropProbably, CanPlay("'video/x-m4v; codecs=\"mp4a.40.2\"'"));
608 EXPECT_EQ(kPropProbably,
609 CanPlay("'video/x-m4v; codecs=\"avc1.4D401E, mp4a.40.2\"'"));
610 EXPECT_EQ(kPropProbably,
611 CanPlay("'video/x-m4v; codecs=\"avc3.64001F, mp4a.40.5\"'"));
613 // TODO(amogh.bihani): Change these tests when bug 53193 is fixed.
614 // http://crbug.com/53193 ----------------------------------------------------
615 EXPECT_EQ(kPropProbably, CanPlay("'video/x-m4v; codecs=\"avc1.unknown\"'"));
616 EXPECT_EQ(kPropProbably, CanPlay("'video/x-m4v; codecs=\"avc3.unknown\"'"));
617 EXPECT_EQ(kPropProbably, CanPlay("'video/x-m4v; codecs=\"mp4a.unknown\"'"));
619 EXPECT_EQ(kPropProbably, CanPlay("'video/x-m4v; codecs=\"avc1.\"'"));
620 EXPECT_EQ(kPropProbably, CanPlay("'video/x-m4v; codecs=\"avc3.\"'"));
621 EXPECT_EQ(kPropProbably, CanPlay("'video/x-m4v; codecs=\"mp4a.\"'"));
623 EXPECT_EQ(kPropProbably, CanPlay("'video/x-m4v; codecs=\"vp8\"'"));
624 EXPECT_EQ(PropAndVP9Probably, CanPlay("'video/x-m4v; codecs=\"vp9\"'"));
626 EXPECT_EQ(kPropProbably, CanPlay("'video/x-m4v; codecs=\"vorbis\"'"));
627 EXPECT_EQ(kPropProbably, CanPlay("'video/x-m4v; codecs=\"avc1, vorbis\"'"));
628 EXPECT_EQ(kPropProbably, CanPlay("'video/x-m4v; codecs=\"avc3, vorbis\"'"));
629 EXPECT_EQ(kPropProbably,
630 CanPlay("'video/x-m4v; codecs=\"avc1.4D401E, vorbis\"'"));
631 EXPECT_EQ(kPropProbably,
632 CanPlay("'video/x-m4v; codecs=\"avc3.64001F, vorbis\"'"));
634 EXPECT_EQ(kOpusAndPropProbably, CanPlay("'video/x-m4v; codecs=\"opus\"'"));
635 EXPECT_EQ(kOpusAndPropProbably,
636 CanPlay("'video/x-m4v; codecs=\"vp8, opus\"'"));
637 EXPECT_EQ(kOpusAndPropProbably,
638 CanPlay("'video/x-m4v; codecs=\"vp9, opus\"'"));
640 EXPECT_EQ(kTheoraAndPropProbably,
641 CanPlay("'video/x-m4v; codecs=\"theora\"'"));
642 EXPECT_EQ(kTheoraAndPropProbably,
643 CanPlay("'video/x-m4v; codecs=\"theora, vorbis\"'"));
644 EXPECT_EQ(kTheoraAndPropProbably,
645 CanPlay("'video/x-m4v; codecs=\"theora, mp4a\"'"));
646 EXPECT_EQ(kTheoraAndPropProbably,
647 CanPlay("'video/x-m4v; codecs=\"theora, mp4a.40.2\"'"));
648 EXPECT_EQ(kTheoraAndPropProbably,
649 CanPlay("'video/x-m4v; codecs=\"theora, avc1\"'"));
650 EXPECT_EQ(kTheoraAndPropProbably,
651 CanPlay("'video/x-m4v; codecs=\"theora, avc3\"'"));
652 EXPECT_EQ(kTheoraAndPropProbably,
653 CanPlay("'video/x-m4v; codecs=\"theora, avc1.4D401E\"'"));
654 EXPECT_EQ(kTheoraAndPropProbably,
655 CanPlay("'video/x-m4v; codecs=\"theora, avc3.64001F\"'"));
657 EXPECT_EQ(kPropMaybe, CanPlay("'video/x-m4v; codecs=\"AVC1\"'"));
658 EXPECT_EQ(kPropMaybe, CanPlay("'video/x-m4v; codecs=\"AVC1.4d401e\"'"));
659 EXPECT_EQ(kPropMaybe, CanPlay("'video/x-m4v; codecs=\"AVC3\"'"));
660 EXPECT_EQ(kPropMaybe, CanPlay("'video/x-m4v; codecs=\"AVC3.64001f\"'"));
661 EXPECT_EQ(kPropMaybe, CanPlay("'video/x-m4v; codecs=\"MP4A\"'"));
662 EXPECT_EQ(kPropMaybe, CanPlay("'video/x-m4v; codecs=\"MP4A.40.2\"'"));
663 EXPECT_EQ(kPropMaybe, CanPlay("'video/x-m4v; codecs=\"AVC1, MP4\"'"));
664 EXPECT_EQ(kPropMaybe, CanPlay("'video/x-m4v; codecs=\"AVC3, MP4\"'"));
665 EXPECT_EQ(kPropMaybe,
666 CanPlay("'video/x-m4v; codecs=\", AVC1.4D401E, MP4.40.2\"'"));
667 EXPECT_EQ(kPropMaybe,
668 CanPlay("'video/x-m4v; codecs=\", AVC3.64001F, MP4.40.2\"'"));
670 EXPECT_EQ(kPropMaybe, CanPlay("'video/x-m4v; codecs=\"avc2\"'"));
671 EXPECT_EQ(kPropMaybe, CanPlay("'video/x-m4v; codecs=\"avc4\"'"));
673 EXPECT_EQ(kPropMaybe, CanPlay("'video/x-m4v; codecs=\"avc1x\"'"));
674 EXPECT_EQ(kPropMaybe, CanPlay("'video/x-m4v; codecs=\"avc3x\"'"));
675 EXPECT_EQ(kPropMaybe, CanPlay("'video/x-m4v; codecs=\"mp4ax\"'"));
677 EXPECT_EQ(kPropMaybe, CanPlay("'video/x-m4v; codecs=\"unknown\"'"));
678 // ---------------------------------------------------------------------------
680 EXPECT_EQ(kPropMaybe, CanPlay("'audio/mp4'"));
681 EXPECT_EQ(kPropProbably, CanPlay("'audio/mp4; codecs=\"mp4a\"'"));
682 EXPECT_EQ(kPropProbably, CanPlay("'audio/mp4; codecs=\"mp4a.40.2\"'"));
684 // TODO(amogh.bihani): Change these tests when bug 53193 is fixed.
685 // http://crbug.com/53193 ----------------------------------------------------
686 EXPECT_EQ(kPropProbably, CanPlay("'audio/mp4; codecs=\"avc1\"'"));
687 EXPECT_EQ(kPropProbably, CanPlay("'audio/mp4; codecs=\"avc3\"'"));
688 EXPECT_EQ(kPropProbably, CanPlay("'audio/mp4; codecs=\"avc1, mp4a\"'"));
689 EXPECT_EQ(kPropProbably, CanPlay("'audio/mp4; codecs=\"avc3, mp4a\"'"));
691 EXPECT_EQ(kPropProbably, CanPlay("'audio/mp4; codecs=\"avc1.4D401E\"'"));
692 EXPECT_EQ(kPropProbably, CanPlay("'audio/mp4; codecs=\"avc3.64001F\"'"));
694 EXPECT_EQ(kPropProbably, CanPlay("'audio/mp4; codecs=\"avc1.unknown\"'"));
695 EXPECT_EQ(kPropProbably, CanPlay("'audio/mp4; codecs=\"avc3.unknown\"'"));
696 EXPECT_EQ(kPropProbably, CanPlay("'audio/mp4; codecs=\"mp4a.unknown\"'"));
698 EXPECT_EQ(kPropProbably, CanPlay("'audio/mp4; codecs=\"avc1.\"'"));
699 EXPECT_EQ(kPropProbably, CanPlay("'audio/mp4; codecs=\"avc3.\"'"));
700 EXPECT_EQ(kPropProbably, CanPlay("'audio/mp4; codecs=\"mp4a.\"'"));
702 EXPECT_EQ(kPropProbably,
703 CanPlay("'audio/mp4; codecs=\"avc1.4D401E, mp4a.40.2\"'"));
704 EXPECT_EQ(kPropProbably,
705 CanPlay("'audio/mp4; codecs=\"avc3.64001F mp4a.40.2\"'"));
706 EXPECT_EQ(kPropProbably,
707 CanPlay("'audio/mp4; codecs=\"mp4a, vorbis\"'"));
708 EXPECT_EQ(kPropProbably,
709 CanPlay("'audio/mp4; codecs=\"mp4a.40.2, vorbis\"'"));
711 EXPECT_EQ(kPropProbably, CanPlay("'audio/mp4; codecs=\"vorbis\"'"));
713 EXPECT_EQ(kPropProbably, CanPlay("'audio/mp4; codecs=\"vp8\"'"));
714 EXPECT_EQ(kPropProbably, CanPlay("'audio/mp4; codecs=\"vp8.0\"'"));
715 EXPECT_EQ(PropAndVP9Probably, CanPlay("'audio/mp4; codecs=\"vp9\"'"));
716 EXPECT_EQ(PropAndVP9Probably, CanPlay("'audio/mp4; codecs=\"vp9.0\"'"));
718 EXPECT_EQ(kOpusAndPropProbably, CanPlay("'audio/mp4; codecs=\"opus\"'"));
719 EXPECT_EQ(kOpusAndPropProbably,
720 CanPlay("'audio/mp4; codecs=\"mp4a, opus\"'"));
721 EXPECT_EQ(kOpusAndPropProbably,
722 CanPlay("'audio/mp4; codecs=\"vorbis, opus\"'"));
723 EXPECT_EQ(kOpusAndPropProbably, CanPlay("'audio/mp4; codecs=\"vp8, opus\"'"));
724 EXPECT_EQ(kOpusAndPropProbably, CanPlay("'audio/mp4; codecs=\"vp9, opus\"'"));
726 EXPECT_EQ(kTheoraAndPropProbably, CanPlay("'audio/mp4; codecs=\"theora\"'"));
727 EXPECT_EQ(kTheoraAndPropProbably,
728 CanPlay("'audio/mp4; codecs=\"theora, vorbis\"'"));
729 EXPECT_EQ(kTheoraAndPropProbably,
730 CanPlay("'audio/mp4; codecs=\"theora, mp4a\"'"));
731 EXPECT_EQ(kPropProbably, CanPlay("'audio/mp4; codecs=\"avc1, vorbis\"'"));
733 EXPECT_EQ(kPropMaybe, CanPlay("'audio/mp4; codecs=\"AVC1\"'"));
734 EXPECT_EQ(kPropMaybe, CanPlay("'audio/mp4; codecs=\"AVC1.4d401e\"'"));
735 EXPECT_EQ(kPropMaybe, CanPlay("'audio/mp4; codecs=\"AVC3\"'"));
736 EXPECT_EQ(kPropMaybe, CanPlay("'audio/mp4; codecs=\"AVC3.64001f\"'"));
737 EXPECT_EQ(kPropMaybe, CanPlay("'audio/mp4; codecs=\"MP4A\"'"));
738 EXPECT_EQ(kPropMaybe, CanPlay("'audio/mp4; codecs=\"MP4A.40.2\"'"));
739 EXPECT_EQ(kPropMaybe, CanPlay("'audio/mp4; codecs=\"AVC1, MP4\"'"));
740 EXPECT_EQ(kPropMaybe, CanPlay("'audio/mp4; codecs=\"AVC3, MP4\"'"));
741 EXPECT_EQ(kPropMaybe,
742 CanPlay("'audio/mp4; codecs=\", AVC1.4D401E, MP4.40.2\"'"));
743 EXPECT_EQ(kPropMaybe,
744 CanPlay("'audio/mp4; codecs=\", AVC3.64001F, MP4.40.2\"'"));
746 EXPECT_EQ(kPropMaybe, CanPlay("'audio/mp4; codecs=\"avc2\"'"));
747 EXPECT_EQ(kPropMaybe, CanPlay("'audio/mp4; codecs=\"avc4\"'"));
749 EXPECT_EQ(kPropMaybe, CanPlay("'audio/mp4; codecs=\"avc1x\"'"));
750 EXPECT_EQ(kPropMaybe, CanPlay("'audio/mp4; codecs=\"avc3x\"'"));
751 EXPECT_EQ(kPropMaybe, CanPlay("'audio/mp4; codecs=\"mp4ax\"'"));
753 EXPECT_EQ(kPropMaybe, CanPlay("'audio/mp4; codecs=\"unknown\"'"));
754 // ---------------------------------------------------------------------------
756 EXPECT_EQ(kPropMaybe, CanPlay("'audio/x-m4a'"));
757 EXPECT_EQ(kPropProbably, CanPlay("'audio/x-m4a; codecs=\"mp4a\"'"));
758 EXPECT_EQ(kPropProbably, CanPlay("'audio/x-m4a; codecs=\"mp4a.40.2\"'"));
760 // TODO(amogh.bihani): Change these tests when bug 53193 is fixed.
761 // http://crbug.com/53193 ----------------------------------------------------
762 EXPECT_EQ(kPropProbably, CanPlay("'audio/x-m4a; codecs=\"avc1\"'"));
763 EXPECT_EQ(kPropProbably, CanPlay("'audio/x-m4a; codecs=\"avc3\"'"));
764 EXPECT_EQ(kPropProbably, CanPlay("'audio/x-m4a; codecs=\"avc1, mp4a\"'"));
765 EXPECT_EQ(kPropProbably, CanPlay("'audio/x-m4a; codecs=\"avc3, mp4a\"'"));
767 EXPECT_EQ(kPropProbably, CanPlay("'audio/x-m4a; codecs=\"avc1.4D401E\"'"));
768 EXPECT_EQ(kPropProbably, CanPlay("'audio/x-m4a; codecs=\"avc3.64001F\"'"));
770 EXPECT_EQ(kPropProbably, CanPlay("'audio/x-m4a; codecs=\"avc1.unknown\"'"));
771 EXPECT_EQ(kPropProbably, CanPlay("'audio/x-m4a; codecs=\"avc3.unknown\"'"));
772 EXPECT_EQ(kPropProbably, CanPlay("'audio/x-m4a; codecs=\"mp4a.unknown\"'"));
774 EXPECT_EQ(kPropProbably, CanPlay("'audio/x-m4a; codecs=\"avc1.\"'"));
775 EXPECT_EQ(kPropProbably, CanPlay("'audio/x-m4a; codecs=\"avc3.\"'"));
776 EXPECT_EQ(kPropProbably, CanPlay("'audio/x-m4a; codecs=\"mp4a.\"'"));
778 EXPECT_EQ(kPropProbably,
779 CanPlay("'audio/x-m4a; codecs=\"avc1.4D401E, mp4a.40.2\"'"));
780 EXPECT_EQ(kPropProbably,
781 CanPlay("'audio/x-m4a; codecs=\"avc3.64001F mp4a.40.2\"'"));
782 EXPECT_EQ(kPropProbably,
783 CanPlay("'audio/x-m4a; codecs=\"mp4a, vorbis\"'"));
784 EXPECT_EQ(kPropProbably,
785 CanPlay("'audio/x-m4a; codecs=\"mp4a.40.2, vorbis\"'"));
787 EXPECT_EQ(kPropProbably, CanPlay("'audio/x-m4a; codecs=\"vorbis\"'"));
789 EXPECT_EQ(kPropProbably, CanPlay("'audio/x-m4a; codecs=\"vp8\"'"));
790 EXPECT_EQ(kPropProbably, CanPlay("'audio/x-m4a; codecs=\"vp8.0\"'"));
791 EXPECT_EQ(PropAndVP9Probably, CanPlay("'audio/x-m4a; codecs=\"vp9\"'"));
792 EXPECT_EQ(PropAndVP9Probably, CanPlay("'audio/x-m4a; codecs=\"vp9.0\"'"));
794 EXPECT_EQ(kOpusAndPropProbably, CanPlay("'audio/x-m4a; codecs=\"opus\"'"));
795 EXPECT_EQ(kOpusAndPropProbably,
796 CanPlay("'audio/x-m4a; codecs=\"mp4a, opus\"'"));
797 EXPECT_EQ(kOpusAndPropProbably,
798 CanPlay("'audio/x-m4a; codecs=\"vorbis, opus\"'"));
799 EXPECT_EQ(kOpusAndPropProbably,
800 CanPlay("'audio/x-m4a; codecs=\"vp8, opus\"'"));
801 EXPECT_EQ(kOpusAndPropProbably,
802 CanPlay("'audio/x-m4a; codecs=\"vp9, opus\"'"));
804 EXPECT_EQ(kTheoraAndPropProbably,
805 CanPlay("'audio/x-m4a; codecs=\"theora\"'"));
806 EXPECT_EQ(kTheoraAndPropProbably,
807 CanPlay("'audio/x-m4a; codecs=\"theora, vorbis\"'"));
808 EXPECT_EQ(kTheoraAndPropProbably,
809 CanPlay("'audio/x-m4a; codecs=\"theora, mp4a\"'"));
810 EXPECT_EQ(kPropProbably, CanPlay("'audio/x-m4a; codecs=\"avc1, vorbis\"'"));
812 EXPECT_EQ(kPropMaybe, CanPlay("'audio/x-m4a; codecs=\"AVC1\"'"));
813 EXPECT_EQ(kPropMaybe, CanPlay("'audio/x-m4a; codecs=\"AVC1.4d401e\"'"));
814 EXPECT_EQ(kPropMaybe, CanPlay("'audio/x-m4a; codecs=\"AVC3\"'"));
815 EXPECT_EQ(kPropMaybe, CanPlay("'audio/x-m4a; codecs=\"AVC3.64001f\"'"));
816 EXPECT_EQ(kPropMaybe, CanPlay("'audio/x-m4a; codecs=\"MP4A\"'"));
817 EXPECT_EQ(kPropMaybe, CanPlay("'audio/x-m4a; codecs=\"MP4A.40.2\"'"));
818 EXPECT_EQ(kPropMaybe, CanPlay("'audio/x-m4a; codecs=\"AVC1, MP4\"'"));
819 EXPECT_EQ(kPropMaybe, CanPlay("'audio/x-m4a; codecs=\"AVC3, MP4\"'"));
820 EXPECT_EQ(kPropMaybe,
821 CanPlay("'audio/x-m4a; codecs=\", AVC1.4D401E, MP4.40.2\"'"));
822 EXPECT_EQ(kPropMaybe,
823 CanPlay("'audio/x-m4a; codecs=\", AVC3.64001F, MP4.40.2\"'"));
825 EXPECT_EQ(kPropMaybe, CanPlay("'audio/x-m4a; codecs=\"avc2\"'"));
826 EXPECT_EQ(kPropMaybe, CanPlay("'audio/x-m4a; codecs=\"avc4\"'"));
828 EXPECT_EQ(kPropMaybe, CanPlay("'audio/x-m4a; codecs=\"avc1x\"'"));
829 EXPECT_EQ(kPropMaybe, CanPlay("'audio/x-m4a; codecs=\"avc3x\"'"));
830 EXPECT_EQ(kPropMaybe, CanPlay("'audio/x-m4a; codecs=\"mp4ax\"'"));
832 EXPECT_EQ(kPropMaybe, CanPlay("'audio/x-m4a; codecs=\"unknown\"'"));
833 // ---------------------------------------------------------------------------
836 IN_PROC_BROWSER_TEST_F(MediaCanPlayTypeTest, CodecSupportTest_HLS) {
837 // HLS are supported only on Android IceCreamSandwich and above (API level 14)
838 std::string HLSProbably = "";
839 std::string HLSMaybe = "";
840 std::string HLSAndVP9Probably = "";
841 #if defined(OS_ANDROID)
842 int sdk = base::android::BuildInfo::GetInstance()->sdk_int();
844 HLSProbably = "probably";
847 HLSAndVP9Probably = "maybe";
849 HLSAndVP9Probably = "probably";
852 EXPECT_EQ(HLSMaybe, CanPlay("'application/x-mpegurl'"));
854 EXPECT_EQ(HLSProbably,
855 CanPlay("'application/x-mpegurl; codecs=\"avc1\"'"));
856 EXPECT_EQ(HLSProbably,
857 CanPlay("'application/x-mpegurl; codecs=\"avc3\"'"));
858 EXPECT_EQ(HLSProbably,
859 CanPlay("'application/x-mpegurl; codecs=\"mp4a\"'"));
860 EXPECT_EQ(HLSProbably,
861 CanPlay("'application/x-mpegurl; codecs=\"avc1, mp4a\"'"));
862 EXPECT_EQ(HLSProbably,
863 CanPlay("'application/x-mpegurl; codecs=\"avc3, mp4a\"'"));
865 EXPECT_EQ(HLSProbably,
866 CanPlay("'application/x-mpegurl; codecs=\"avc1.4D401E\"'"));
867 EXPECT_EQ(HLSProbably,
868 CanPlay("'application/x-mpegurl; codecs=\"avc3.64001F\"'"));
869 EXPECT_EQ(HLSProbably,
870 CanPlay("'application/x-mpegurl; codecs=\"mp4a.40.2\"'"));
871 EXPECT_EQ(HLSProbably,
872 CanPlay("'application/x-mpegurl; codecs=\"avc1.4D401E, mp4a.40.2\"'"));
873 EXPECT_EQ(HLSProbably,
874 CanPlay("'application/x-mpegurl; codecs=\"avc3.64001F, mp4a.40.5\"'"));
876 // TODO(amogh.bihani): Change these tests when bug 53193 is fixed.
877 // http://crbug.com/53193 ----------------------------------------------------
878 EXPECT_EQ(HLSProbably,
879 CanPlay("'application/x-mpegurl; codecs=\"avc1.unknown\"'"));
880 EXPECT_EQ(HLSProbably,
881 CanPlay("'application/x-mpegurl; codecs=\"avc3.unknown\"'"));
882 EXPECT_EQ(HLSProbably,
883 CanPlay("'application/x-mpegurl; codecs=\"mp4a.unknown\"'"));
885 EXPECT_EQ(HLSProbably, CanPlay("'application/x-mpegurl; codecs=\"avc1.\"'"));
886 EXPECT_EQ(HLSProbably, CanPlay("'application/x-mpegurl; codecs=\"avc3.\"'"));
887 EXPECT_EQ(HLSProbably, CanPlay("'application/x-mpegurl; codecs=\"mp4a.\"'"));
889 EXPECT_EQ(HLSProbably, CanPlay("'application/x-mpegurl; codecs=\"vp8\"'"));
890 EXPECT_EQ(HLSAndVP9Probably,
891 CanPlay("'application/x-mpegurl; codecs=\"vp9\"'"));
892 EXPECT_EQ(HLSProbably,
893 CanPlay("'application/x-mpegurl; codecs=\"vorbis\"'"));
895 EXPECT_EQ(HLSProbably,
896 CanPlay("'application/x-mpegurl; codecs=\"avc1, vorbis\"'"));
897 EXPECT_EQ(HLSProbably,
898 CanPlay("'application/x-mpegurl; codecs=\"avc3, vorbis\"'"));
899 EXPECT_EQ(HLSProbably,
900 CanPlay("'application/x-mpegurl; codecs=\"avc1.4D401E, vorbis\"'"));
901 EXPECT_EQ(HLSProbably,
902 CanPlay("'application/x-mpegurl; codecs=\"avc3.64001F, vorbis\"'"));
904 EXPECT_EQ(HLSMaybe, CanPlay("'application/x-mpegurl; codecs=\"opus\"'"));
906 CanPlay("'application/x-mpegurl; codecs=\"vp8, opus\"'"));
908 CanPlay("'application/x-mpegurl; codecs=\"vp9, opus\"'"));
911 CanPlay("'application/x-mpegurl; codecs=\"theora\"'"));
913 CanPlay("'application/x-mpegurl; codecs=\"theora, vorbis\"'"));
915 CanPlay("'application/x-mpegurl; codecs=\"theora, mp4a\"'"));
917 CanPlay("'application/x-mpegurl; codecs=\"theora, mp4a.40.2\"'"));
919 EXPECT_EQ(HLSMaybe, CanPlay("'application/x-mpegurl; codecs=\"AVC1\"'"));
921 CanPlay("'application/x-mpegurl; codecs=\"AVC1.4d401e\"'"));
922 EXPECT_EQ(HLSMaybe, CanPlay("'application/x-mpegurl; codecs=\"AVC3\"'"));
924 CanPlay("'application/x-mpegurl; codecs=\"AVC3.64001f\"'"));
925 EXPECT_EQ(HLSMaybe, CanPlay("'application/x-mpegurl; codecs=\"MP4A\"'"));
927 CanPlay("'application/x-mpegurl; codecs=\"MP4A.40.2\"'"));
929 CanPlay("'application/x-mpegurl; codecs=\"AVC1, MP4\"'"));
931 CanPlay("'application/x-mpegurl; codecs=\"AVC3, MP4\"'"));
933 CanPlay("'application/x-mpegurl; codecs=\", AVC1.4D401E, MP4.40.2\"'"));
935 CanPlay("'application/x-mpegurl; codecs=\", AVC3.64001F, MP4.40.2\"'"));
938 CanPlay("'application/x-mpegurl; codecs=\"avc2\"'"));
940 CanPlay("'application/x-mpegurl; codecs=\"avc4\"'"));
943 CanPlay("'application/x-mpegurl; codecs=\"avc1x\"'"));
945 CanPlay("'application/x-mpegurl; codecs=\"avc3x\"'"));
947 CanPlay("'application/x-mpegurl; codecs=\"mp4ax\"'"));
950 CanPlay("'application/x-mpegurl; codecs=\"unknown\"'"));
951 // ---------------------------------------------------------------------------
953 EXPECT_EQ(HLSMaybe, CanPlay("'application/vnd.apple.mpegurl'"));
955 EXPECT_EQ(HLSProbably,
956 CanPlay("'application/vnd.apple.mpegurl; codecs=\"avc1\"'"));
957 EXPECT_EQ(HLSProbably,
958 CanPlay("'application/vnd.apple.mpegurl; codecs=\"avc3\"'"));
959 EXPECT_EQ(HLSProbably,
960 CanPlay("'application/vnd.apple.mpegurl; codecs=\"mp4a\"'"));
961 EXPECT_EQ(HLSProbably,
962 CanPlay("'application/vnd.apple.mpegurl; codecs=\"avc1, mp4a\"'"));
963 EXPECT_EQ(HLSProbably,
964 CanPlay("'application/vnd.apple.mpegurl; codecs=\"avc3, mp4a\"'"));
966 EXPECT_EQ(HLSProbably,
967 CanPlay("'application/vnd.apple.mpegurl; codecs=\"avc1.4D401E\"'"));
968 EXPECT_EQ(HLSProbably,
969 CanPlay("'application/vnd.apple.mpegurl; codecs=\"avc3.64001F\"'"));
970 EXPECT_EQ(HLSProbably,
971 CanPlay("'application/vnd.apple.mpegurl; codecs=\"mp4a.40.2\"'"));
973 // TODO(amogh.bihani): Change these tests when bug 53193 is fixed.
974 // http://crbug.com/53193 ----------------------------------------------------
975 EXPECT_EQ(HLSProbably,
976 CanPlay("'application/vnd.apple.mpegurl; codecs=\"avc1.unknown\"'"));
977 EXPECT_EQ(HLSProbably,
978 CanPlay("'application/vnd.apple.mpegurl; codecs=\"avc3.unknown\"'"));
979 EXPECT_EQ(HLSProbably,
980 CanPlay("'application/vnd.apple.mpegurl; codecs=\"mp4a.unknown\"'"));
982 EXPECT_EQ(HLSProbably,
983 CanPlay("'application/vnd.apple.mpegurl; codecs=\"avc1.\"'"));
984 EXPECT_EQ(HLSProbably,
985 CanPlay("'application/vnd.apple.mpegurl; codecs=\"avc3.\"'"));
986 EXPECT_EQ(HLSProbably,
987 CanPlay("'application/vnd.apple.mpegurl; codecs=\"mp4a.\"'"));
989 EXPECT_EQ(HLSProbably,
990 CanPlay("'application/vnd.apple.mpegurl; codecs=\"vp8\"'"));
991 EXPECT_EQ(HLSAndVP9Probably,
992 CanPlay("'application/vnd.apple.mpegurl; codecs=\"vp9\"'"));
993 EXPECT_EQ(HLSProbably,
994 CanPlay("'application/vnd.apple.mpegurl; codecs=\"vorbis\"'"));
996 EXPECT_EQ(HLSProbably,
997 CanPlay("'application/vnd.apple.mpegurl; codecs=\"avc1, vorbis\"'"));
998 EXPECT_EQ(HLSProbably,
999 CanPlay("'application/vnd.apple.mpegurl; codecs=\"avc3, vorbis\"'"));
1000 EXPECT_EQ(HLSProbably,
1001 CanPlay("'application/vnd.apple.mpegurl; codecs=\"avc1.4D401E, vorbis\"'"));
1002 EXPECT_EQ(HLSProbably,
1003 CanPlay("'application/vnd.apple.mpegurl; codecs=\"avc3.64001F, vorbis\"'"));
1006 CanPlay("'application/vnd.apple.mpegurl; codecs=\"opus\"'"));
1008 CanPlay("'application/vnd.apple.mpegurl; codecs=\"vp8, opus\"'"));
1010 CanPlay("'application/vnd.apple.mpegurl; codecs=\"vp9, opus\"'"));
1013 CanPlay("'application/vnd.apple.mpegurl; codecs=\"theora\"'"));
1015 CanPlay("'application/vnd.apple.mpegurl; codecs=\"theora, vorbis\"'"));
1017 CanPlay("'application/vnd.apple.mpegurl; codecs=\"theora, mp4a\"'"));
1019 CanPlay("'application/vnd.apple.mpegurl; codecs=\"theora, mp4a.40.2\"'"));
1022 CanPlay("'application/vnd.apple.mpegurl; codecs=\"AVC1\"'"));
1024 CanPlay("'application/vnd.apple.mpegurl; codecs=\"AVC1.4d401e\"'"));
1026 CanPlay("'application/vnd.apple.mpegurl; codecs=\"AVC3\"'"));
1028 CanPlay("'application/vnd.apple.mpegurl; codecs=\"AVC3.64001f\"'"));
1030 CanPlay("'application/vnd.apple.mpegurl; codecs=\"MP4A\"'"));
1032 CanPlay("'application/vnd.apple.mpegurl; codecs=\"MP4A.40.2\"'"));
1034 CanPlay("'application/vnd.apple.mpegurl; codecs=\"AVC1, MP4\"'"));
1036 CanPlay("'application/vnd.apple.mpegurl; codecs=\"AVC3, MP4\"'"));
1038 CanPlay("'application/vnd.apple.mpegurl; "
1039 "codecs=\", AVC1.4D401E, MP4.40.2\"'"));
1041 CanPlay("'application/vnd.apple.mpegurl; "
1042 "codecs=\", AVC3.64001F, MP4.40.2\"'"));
1045 CanPlay("'application/vnd.apple.mpegurl; codecs=\"avc2\"'"));
1047 CanPlay("'application/vnd.apple.mpegurl; codecs=\"avc4\"'"));
1050 CanPlay("'application/vnd.apple.mpegurl; codecs=\"avc1x\"'"));
1052 CanPlay("'application/vnd.apple.mpegurl; codecs=\"avc3x\"'"));
1054 CanPlay("'application/vnd.apple.mpegurl; codecs=\"mp4ax\"'"));
1057 CanPlay("'application/vnd.apple.mpegurl; codecs=\"unknown\"'"));
1058 // ---------------------------------------------------------------------------
1061 } // namespace content