media_canplaytype_browsertest.cc revision c5cede9ae108bb15f6b7a8aea21c7e1fefa2834c
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. 4 5#include <string> 6 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" 11 12const char* kProbably = "probably"; 13const char* kMaybe = "maybe"; 14const char* kNot = ""; 15 16#if defined(USE_PROPRIETARY_CODECS) 17const char* kPropProbably = "probably"; 18const char* kPropMaybe = "maybe"; 19const char* kPropProbablyElseMaybe = "probably"; 20#else 21const char* kPropProbably = ""; 22const char* kPropMaybe = ""; 23const char* kPropProbablyElseMaybe = "maybe"; 24#endif // USE_PROPRIETARY_CODECS 25 26// TODO(amogh.bihani): Change the opus tests when opus is on 27// Android. (http://crbug.com/318436). 28#if !defined(OS_ANDROID) 29const char* kOggVideoProbably = "probably"; 30const char* kOggVideoMaybe = "maybe"; 31const char* kTheoraProbably = "probably"; 32const char* kOpusProbably = "probably"; 33const char* kOpusProbablyElseMaybe = "probably"; 34const char* kHLSProbably = ""; 35const char* kHLSMaybe = ""; 36#if defined(USE_PROPRIETARY_CODECS) 37const char* kTheoraAndPropProbably = "probably"; 38const char* kOpusAndPropProbably = "probably"; 39#else 40const char* kTheoraAndPropProbably = ""; 41const char* kOpusAndPropProbably = ""; 42#endif // USE_PROPRIETARY_CODECS 43#else 44const char* kOggVideoProbably = ""; 45const char* kOggVideoMaybe = ""; 46const char* kTheoraProbably = "maybe"; 47const char* kOpusProbably = ""; 48const char* kOpusProbablyElseMaybe = "maybe"; 49const char* kTheoraAndPropProbably = "maybe"; 50const char* kOpusAndPropProbably = "maybe"; 51const char* kHLSProbably = "probably"; 52const char* kHLSMaybe = "maybe"; 53#endif // !OS_ANDROID 54 55namespace content { 56 57class MediaCanPlayTypeTest : public MediaBrowserTest { 58public: 59 MediaCanPlayTypeTest() : url_("about:blank") { } 60 61 virtual void SetUpOnMainThread() OVERRIDE { 62 NavigateToURL(shell(), url_); 63 } 64 65 std::string CanPlay(const std::string& type) { 66 std::string command("document.createElement('video').canPlayType("); 67 command.append(type); 68 command.append(")"); 69 70 std::string result; 71 EXPECT_TRUE(ExecuteScriptAndExtractString( 72 shell()->web_contents(), 73 "window.domAutomationController.send(" + command + ");", 74 &result)); 75 return result; 76 } 77 78private: 79 GURL url_; 80 DISALLOW_COPY_AND_ASSIGN(MediaCanPlayTypeTest); 81}; 82 83// TODO(amogh.bihani): http://crbug.com/357665 84#if !defined(OS_ANDROID) 85 86IN_PROC_BROWSER_TEST_F(MediaCanPlayTypeTest, CodecSupportTest_wav) { 87 EXPECT_EQ(kMaybe, CanPlay("'audio/wav'")); 88 EXPECT_EQ(kProbably, CanPlay("'audio/wav; codecs=\"1\"'")); 89 90 EXPECT_EQ(kNot, CanPlay("'audio/wav; codecs=\"vorbis\"'")); 91 EXPECT_EQ(kNot, CanPlay("'audio/wav; codecs=\"theora\"'")); 92 93 EXPECT_EQ(kNot, CanPlay("'audio/wav; codecs=\"vp8\"'")); 94 EXPECT_EQ(kNot, CanPlay("'audio/wav; codecs=\"vp8.0\"'")); 95 EXPECT_EQ(kNot, CanPlay("'audio/wav; codecs=\"vp9\"'")); 96 EXPECT_EQ(kNot, CanPlay("'audio/wav; codecs=\"vp9.0\"'")); 97 EXPECT_EQ(kNot, CanPlay("'audio/wav; codecs=\"opus\"'")); 98 99 EXPECT_EQ(kNot, CanPlay("'audio/wav; codecs=\"avc1\"'")); 100 EXPECT_EQ(kNot, CanPlay("'audio/wav; codecs=\"avc3\"'")); 101 EXPECT_EQ(kNot, CanPlay("'audio/wav; codecs=\"mp4a\"'")); 102 EXPECT_EQ(kNot, CanPlay("'audio/wav; codecs=\"avc1.4D401E\"'")); 103 EXPECT_EQ(kNot, CanPlay("'audio/wav; codecs=\"avc3.64001F\"'")); 104 EXPECT_EQ(kNot, CanPlay("'audio/wav; codecs=\"mp4a.40.5\"'")); 105 106 EXPECT_EQ(kNot, CanPlay("'audio/wav; codecs=\"1, mp4a\"'")); 107 EXPECT_EQ(kNot, CanPlay("'audio/wav; codecs=\"1, opus\"'")); 108 EXPECT_EQ(kNot, CanPlay("'audio/wav; codecs=\"1, theora\"'")); 109 EXPECT_EQ(kNot, CanPlay("'audio/wav; codecs=\"1, vorbis\"'")); 110 EXPECT_EQ(kNot, CanPlay("'audio/wav; codecs=\"opus, vorbis\"'")); 111 EXPECT_EQ(kNot, CanPlay("'audio/wav; codecs=\"opus, theora\"'")); 112 EXPECT_EQ(kNot, CanPlay("'audio/wav; codecs=\"vorbis, mp4a\"'")); 113 114 EXPECT_EQ(kNot, CanPlay("'audio/wav; codecs=\"unknown\"'")); 115 116 EXPECT_EQ(kMaybe, CanPlay("'audio/x-wav'")); 117 EXPECT_EQ(kProbably, CanPlay("'audio/x-wav; codecs=\"1\"'")); 118 119 EXPECT_EQ(kNot, CanPlay("'audio/x-wav; codecs=\"vorbis\"'")); 120 EXPECT_EQ(kNot, CanPlay("'audio/x-wav; codecs=\"theora\"'")); 121 122 EXPECT_EQ(kNot, CanPlay("'audio/x-wav; codecs=\"vp8\"'")); 123 EXPECT_EQ(kNot, CanPlay("'audio/x-wav; codecs=\"vp8.0\"'")); 124 EXPECT_EQ(kNot, CanPlay("'audio/x-wav; codecs=\"vp9\"'")); 125 EXPECT_EQ(kNot, CanPlay("'audio/x-wav; codecs=\"vp9.0\"'")); 126 EXPECT_EQ(kNot, CanPlay("'audio/x-wav; codecs=\"opus\"'")); 127 128 EXPECT_EQ(kNot, CanPlay("'audio/x-wav; codecs=\"avc1\"'")); 129 EXPECT_EQ(kNot, CanPlay("'audio/x-wav; codecs=\"avc3\"'")); 130 EXPECT_EQ(kNot, CanPlay("'audio/x-wav; codecs=\"mp4a\"'")); 131 EXPECT_EQ(kNot, CanPlay("'audio/x-wav; codecs=\"avc1.4D401E\"'")); 132 EXPECT_EQ(kNot, CanPlay("'audio/x-wav; codecs=\"avc3.64001F\"'")); 133 EXPECT_EQ(kNot, CanPlay("'audio/x-wav; codecs=\"mp4a.40.5\"'")); 134 135 EXPECT_EQ(kNot, CanPlay("'audio/x-wav; codecs=\"1, mp4a\"'")); 136 EXPECT_EQ(kNot, CanPlay("'audio/x-wav; codecs=\"1, opus\"'")); 137 EXPECT_EQ(kNot, CanPlay("'audio/x-wav; codecs=\"1, theora\"'")); 138 EXPECT_EQ(kNot, CanPlay("'audio/x-wav; codecs=\"1, vorbis\"'")); 139 EXPECT_EQ(kNot, CanPlay("'audio/x-wav; codecs=\"opus, vorbis\"'")); 140 EXPECT_EQ(kNot, CanPlay("'audio/x-wav; codecs=\"opus, theora\"'")); 141 EXPECT_EQ(kNot, CanPlay("'audio/x-wav; codecs=\"vorbis, mp4a\"'")); 142 143 EXPECT_EQ(kNot, CanPlay("'audio/x-wav; codecs=\"unknown\"'")); 144} 145 146IN_PROC_BROWSER_TEST_F(MediaCanPlayTypeTest, CodecSupportTest_webm) { 147 EXPECT_EQ(kMaybe, CanPlay("'video/webm'")); 148 149 EXPECT_EQ(kProbably, CanPlay("'video/webm; codecs=\"vp8\"'")); 150 EXPECT_EQ(kProbably, CanPlay("'video/webm; codecs=\"vp8.0\"'")); 151 EXPECT_EQ(kProbably, CanPlay("'video/webm; codecs=\"vp8, vorbis\"'")); 152 EXPECT_EQ(kProbably, CanPlay("'video/webm; codecs=\"vp8.0, vorbis\"'")); 153 EXPECT_EQ(kOpusProbably, CanPlay("'video/webm; codecs=\"vp8, opus\"'")); 154 EXPECT_EQ(kOpusProbably, CanPlay("'video/webm; codecs=\"vp8.0, opus\"'")); 155 156 EXPECT_EQ(kProbably, CanPlay("'video/webm; codecs=\"vp9\"'")); 157 EXPECT_EQ(kProbably, CanPlay("'video/webm; codecs=\"vp9.0\"'")); 158 EXPECT_EQ(kProbably, CanPlay("'video/webm; codecs=\"vp9, vorbis\"'")); 159 EXPECT_EQ(kProbably, CanPlay("'video/webm; codecs=\"vp9.0, vorbis\"'")); 160 EXPECT_EQ(kOpusProbably, CanPlay("'video/webm; codecs=\"vp9, opus\"'")); 161 EXPECT_EQ(kOpusProbably, CanPlay("'video/webm; codecs=\"vp9.0, opus\"'")); 162 163 EXPECT_EQ(kProbably, CanPlay("'video/webm; codecs=\"vp8, vp9\"'")); 164 EXPECT_EQ(kProbably, CanPlay("'video/webm; codecs=\"vp8.0, vp9.0\"'")); 165 EXPECT_EQ(kNot, CanPlay("'video/webm; codecs=\"vp8, theora\"'")); 166 EXPECT_EQ(kNot, CanPlay("'video/webm; codecs=\"vp8, avc1\"'")); 167 EXPECT_EQ(kNot, CanPlay("'video/webm; codecs=\"vp9, avc3\"'")); 168 169 EXPECT_EQ(kNot, CanPlay("'video/webm; codecs=\"vp8, 1\"'")); 170 EXPECT_EQ(kNot, CanPlay("'video/webm; codecs=\"vp8.0, 1\"'")); 171 EXPECT_EQ(kNot, CanPlay("'video/webm; codecs=\"vp8, mp4a.40.2\"'")); 172 EXPECT_EQ(kNot, CanPlay("'video/webm; codecs=\"vp8.0, mp4a.40.2\"'")); 173 174 EXPECT_EQ(kNot, CanPlay("'video/webm; codecs=\"vp9, 1\"'")); 175 EXPECT_EQ(kNot, CanPlay("'video/webm; codecs=\"vp9.0, 1\"'")); 176 EXPECT_EQ(kNot, CanPlay("'video/webm; codecs=\"vp9, mp4a.40.2\"'")); 177 EXPECT_EQ(kNot, CanPlay("'video/webm; codecs=\"vp9.0, mp4a.40.2\"'")); 178 179 EXPECT_EQ(kNot, CanPlay("'video/webm; codecs=\"theora\"'")); 180 EXPECT_EQ(kNot, CanPlay("'video/webm; codecs=\"1\"'")); 181 182 EXPECT_EQ(kNot, CanPlay("'video/webm; codecs=\"avc1\"'")); 183 EXPECT_EQ(kNot, CanPlay("'video/webm; codecs=\"avc3\"'")); 184 EXPECT_EQ(kNot, CanPlay("'video/webm; codecs=\"mp4a\"'")); 185 EXPECT_EQ(kNot, CanPlay("'video/webm; codecs=\"avc1.4D401E\"'")); 186 EXPECT_EQ(kNot, CanPlay("'video/webm; codecs=\"avc3.64001F\"'")); 187 EXPECT_EQ(kNot, CanPlay("'video/webm; codecs=\"mp4a.40.2\"'")); 188 189 EXPECT_EQ(kNot, CanPlay("'video/webm; codecs=\"VP8\"'")); 190 EXPECT_EQ(kNot, CanPlay("'video/webm; codecs=\"VP8.0\"'")); 191 EXPECT_EQ(kNot, CanPlay("'video/webm; codecs=\"VP9\"'")); 192 EXPECT_EQ(kNot, CanPlay("'video/webm; codecs=\"Vp9.0\"'")); 193 194 EXPECT_EQ(kNot, CanPlay("'video/webm; codecs=\"VP8, Vorbis\"'")); 195 EXPECT_EQ(kNot, CanPlay("'video/webm; codecs=\"vp8, Vorbis\"'")); 196 EXPECT_EQ(kNot, CanPlay("'video/webm; codecs=\"VP9, Opus\"'")); 197 EXPECT_EQ(kNot, CanPlay("'video/webm; codecs=\"vp9, Opus\"'")); 198 199 EXPECT_EQ(kNot, CanPlay("'video/webm; codecs=\"unknown\"'")); 200 201 EXPECT_EQ(kMaybe, CanPlay("'audio/webm'")); 202 EXPECT_EQ(kProbably, CanPlay("'audio/webm; codecs=\"vorbis\"'")); 203 EXPECT_EQ(kOpusProbably, CanPlay("'audio/webm; codecs=\"opus\"'")); 204 EXPECT_EQ(kOpusProbably, CanPlay("'audio/webm; codecs=\"opus, vorbis\"'")); 205 206 EXPECT_EQ(kNot, CanPlay("'audio/webm; codecs=\"vp8\"'")); 207 EXPECT_EQ(kNot, CanPlay("'audio/webm; codecs=\"vp8.0\"'")); 208 EXPECT_EQ(kNot, CanPlay("'audio/webm; codecs=\"vp8, vorbis\"'")); 209 EXPECT_EQ(kNot, CanPlay("'audio/webm; codecs=\"vp8.0, vorbis\"'")); 210 EXPECT_EQ(kNot, CanPlay("'audio/webm; codecs=\"vp8, opus\"'")); 211 EXPECT_EQ(kNot, CanPlay("'audio/webm; codecs=\"vp8.0, opus\"'")); 212 213 EXPECT_EQ(kNot, CanPlay("'audio/webm; codecs=\"vp9\"'")); 214 EXPECT_EQ(kNot, CanPlay("'audio/webm; codecs=\"vp9.0\"'")); 215 EXPECT_EQ(kNot, CanPlay("'audio/webm; codecs=\"vp9, vorbis\"'")); 216 EXPECT_EQ(kNot, CanPlay("'audio/webm; codecs=\"vp9.0, vorbis\"'")); 217 EXPECT_EQ(kNot, CanPlay("'audio/webm; codecs=\"vp9, opus\"'")); 218 EXPECT_EQ(kNot, CanPlay("'audio/webm; codecs=\"vp9.0, opus\"'")); 219 220 EXPECT_EQ(kNot, CanPlay("'audio/webm; codecs=\"1\"'")); 221 EXPECT_EQ(kNot, CanPlay("'audio/webm; codecs=\"1, opus\"'")); 222 EXPECT_EQ(kNot, CanPlay("'audio/webm; codecs=\"1, vorbis\"'")); 223 EXPECT_EQ(kNot, CanPlay("'audio/webm; codecs=\"vorbis, mp4a\"'")); 224 225 EXPECT_EQ(kNot, CanPlay("'audio/webm; codecs=\"avc1\"'")); 226 EXPECT_EQ(kNot, CanPlay("'audio/webm; codecs=\"avc3\"'")); 227 EXPECT_EQ(kNot, CanPlay("'audio/webm; codecs=\"mp4a\"'")); 228 EXPECT_EQ(kNot, CanPlay("'audio/webm; codecs=\"avc1.4D401E\"'")); 229 EXPECT_EQ(kNot, CanPlay("'audio/webm; codecs=\"avc3.64001F\"'")); 230 EXPECT_EQ(kNot, CanPlay("'audio/webm; codecs=\"mp4a.40.2\"'")); 231 232 EXPECT_EQ(kNot, CanPlay("'audio/webm; codecs=\"unknown\"'")); 233} 234 235IN_PROC_BROWSER_TEST_F(MediaCanPlayTypeTest, CodecSupportTest_ogg) { 236 EXPECT_EQ(kOggVideoMaybe, CanPlay("'video/ogg'")); 237 EXPECT_EQ(kOggVideoProbably, CanPlay("'video/ogg; codecs=\"theora\"'")); 238 EXPECT_EQ(kOggVideoProbably, 239 CanPlay("'video/ogg; codecs=\"theora, vorbis\"'")); 240 EXPECT_EQ(kOggVideoProbably, 241 CanPlay("'video/ogg; codecs=\"theora, opus\"'")); 242 EXPECT_EQ(kOggVideoProbably, 243 CanPlay("'video/ogg; codecs=\"opus, vorbis\"'")); 244 245 EXPECT_EQ(kNot, CanPlay("'video/ogg; codecs=\"vp8\"'")); 246 EXPECT_EQ(kNot, CanPlay("'video/ogg; codecs=\"vp8.0\"'")); 247 EXPECT_EQ(kNot, CanPlay("'video/ogg; codecs=\"vp9\"'")); 248 EXPECT_EQ(kNot, CanPlay("'video/ogg; codecs=\"vp9.0\"'")); 249 250 EXPECT_EQ(kNot, CanPlay("'video/ogg; codecs=\"avc1\"'")); 251 EXPECT_EQ(kNot, CanPlay("'video/ogg; codecs=\"avc3\"'")); 252 EXPECT_EQ(kNot, CanPlay("'video/ogg; codecs=\"mp4a\"'")); 253 EXPECT_EQ(kNot, CanPlay("'video/ogg; codecs=\"avc1, mp4a\"'")); 254 EXPECT_EQ(kNot, CanPlay("'video/ogg; codecs=\"avc1, vorbis\"'")); 255 EXPECT_EQ(kNot, CanPlay("'video/ogg; codecs=\"avc3, mp4a\"'")); 256 EXPECT_EQ(kNot, CanPlay("'video/ogg; codecs=\"avc3, vorbis\"'")); 257 EXPECT_EQ(kNot, CanPlay("'video/ogg; codecs=\"avc1, vp8\"'")); 258 EXPECT_EQ(kNot, CanPlay("'video/ogg; codecs=\"avc3, vp9\"'")); 259 EXPECT_EQ(kNot, CanPlay("'video/ogg; codecs=\"avc1, avc3\"'")); 260 261 EXPECT_EQ(kNot, CanPlay("'video/ogg; codecs=\"avc1.4D401E\"'")); 262 EXPECT_EQ(kNot, CanPlay("'video/ogg; codecs=\"avc3.64001F\"'")); 263 EXPECT_EQ(kNot, CanPlay("'video/ogg; codecs=\"mp4a.4.02\"'")); 264 EXPECT_EQ(kNot, CanPlay("'video/ogg; codecs=\"avc1.4D401E, mp4a.40.2\"'")); 265 EXPECT_EQ(kNot, CanPlay("'video/ogg; codecs=\"avc3.64001F, mp4a.40.2\"'")); 266 EXPECT_EQ(kNot, CanPlay("'video/ogg; codecs=\"avc1.4D401E, vorbis\"'")); 267 EXPECT_EQ(kNot, CanPlay("'video/ogg; codecs=\"avc3.64001F, vorbis\"'")); 268 269 EXPECT_EQ(kNot, CanPlay("'video/ogg; codecs=\"Theora\"'")); 270 EXPECT_EQ(kNot, CanPlay("'video/ogg; codecs=\"Opus\"'")); 271 EXPECT_EQ(kNot, CanPlay("'video/ogg; codecs=\"Vorbis\"'")); 272 EXPECT_EQ(kNot, CanPlay("'video/ogg; codecs=\"Theora, Opus\"'")); 273 EXPECT_EQ(kNot, CanPlay("'video/ogg; codecs=\"Theora, Vorbis\"'")); 274 275 EXPECT_EQ(kNot, CanPlay("'video/ogg; codecs=\"unknown\"'")); 276 277 EXPECT_EQ(kMaybe, CanPlay("'audio/ogg'")); 278 EXPECT_EQ(kProbably, CanPlay("'audio/ogg; codecs=\"vorbis\"'")); 279 EXPECT_EQ(kOpusProbablyElseMaybe, CanPlay("'audio/ogg; codecs=\"opus\"'")); 280 EXPECT_EQ(kOpusProbablyElseMaybe, 281 CanPlay("'audio/ogg; codecs=\"vorbis, opus\"'")); 282 283 EXPECT_EQ(kNot, CanPlay("'audio/ogg; codecs=\"theora\"'")); 284 EXPECT_EQ(kNot, CanPlay("'audio/ogg; codecs=\"theora, vorbis\"'")); 285 EXPECT_EQ(kNot, CanPlay("'audio/ogg; codecs=\"theora, opus\"'")); 286 EXPECT_EQ(kNot, CanPlay("'audio/ogg; codecs=\"opus, 1\"'")); 287 EXPECT_EQ(kNot, CanPlay("'audio/ogg; codecs=\"vorbis, 1\"'")); 288 289 EXPECT_EQ(kNot, CanPlay("'audio/ogg; codecs=\"vp8\"'")); 290 EXPECT_EQ(kNot, CanPlay("'audio/ogg; codecs=\"vp8.0\"'")); 291 EXPECT_EQ(kNot, CanPlay("'audio/ogg; codecs=\"vp9\"'")); 292 EXPECT_EQ(kNot, CanPlay("'audio/ogg; codecs=\"vp9.0\"'")); 293 294 EXPECT_EQ(kNot, CanPlay("'audio/ogg; codecs=\"avc1\"'")); 295 EXPECT_EQ(kNot, CanPlay("'audio/ogg; codecs=\"avc3\"'")); 296 EXPECT_EQ(kNot, CanPlay("'audio/ogg; codecs=\"mp4a\"'")); 297 EXPECT_EQ(kNot, CanPlay("'audio/ogg; codecs=\"avc1.4D401E\"'")); 298 EXPECT_EQ(kNot, CanPlay("'audio/ogg; codecs=\"avc3.64001F\"'")); 299 EXPECT_EQ(kNot, CanPlay("'audio/ogg; codecs=\"mp4a.40.2\"'")); 300 301 EXPECT_EQ(kNot, CanPlay("'audio/ogg; codecs=\"Theora\"'")); 302 EXPECT_EQ(kNot, CanPlay("'audio/ogg; codecs=\"Opus\"'")); 303 EXPECT_EQ(kNot, CanPlay("'audio/ogg; codecs=\"Vorbis\"'")); 304 EXPECT_EQ(kNot, CanPlay("'audio/ogg; codecs=\"Theora, Vorbis\"'")); 305 EXPECT_EQ(kNot, CanPlay("'audio/ogg; codecs=\"Theora, Opus\"'")); 306 307 EXPECT_EQ(kNot, CanPlay("'audio/ogg; codecs=\"unknown\"'")); 308 309 EXPECT_EQ(kMaybe, CanPlay("'application/ogg'")); 310 EXPECT_EQ(kProbably, CanPlay("'application/ogg; codecs=\"vorbis\"'")); 311 EXPECT_EQ(kTheoraProbably, CanPlay("'application/ogg; codecs=\"theora\"'")); 312 EXPECT_EQ(kOpusProbablyElseMaybe, 313 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(kOpusProbablyElseMaybe, 319 CanPlay("'application/ogg; codecs=\"opus, vorbis\"'")); 320 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\"'")); 325 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\"'")); 336 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\"'")); 340 EXPECT_EQ(kNot, 341 CanPlay("'application/ogg; codecs=\"avc1.4D401E, mp4a.40.2\"'")); 342 EXPECT_EQ(kNot, 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\"'")); 346 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\"'")); 352 353 EXPECT_EQ(kNot, CanPlay("'application/ogg; codecs=\"unknown\"'")); 354} 355 356IN_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'")); 360 361 EXPECT_EQ(kPropMaybe, CanPlay("'audio/mpeg'")); 362 363 // audio/mpeg and audio/mp3 do not allow any codecs parameter 364 // TODO(amogh.bihani): Change these tests when bug 53193 is fixed. 365 // http://crbug.com/53193 ---------------------------------------------------- 366 EXPECT_EQ(kPropProbably, CanPlay("'audio/mpeg; codecs=\"avc1\"'")); 367 EXPECT_EQ(kPropProbably, CanPlay("'audio/mpeg; codecs=\"avc3\"'")); 368 369 EXPECT_EQ(kPropProbably, CanPlay("'audio/mpeg; codecs=\"avc1.4D401E\"'")); 370 EXPECT_EQ(kPropProbably, CanPlay("'audio/mpeg; codecs=\"avc3.64001F\"'")); 371 372 EXPECT_EQ(kPropProbably, CanPlay("'audio/mpeg; codecs=\"mp4a\"'")); 373 EXPECT_EQ(kPropProbably, CanPlay("'audio/mpeg; codecs=\"mp4a.40.2\"'")); 374 375 EXPECT_EQ(kPropProbably, CanPlay("'audio/mpeg; codecs=\"avc1.unknown\"'")); 376 EXPECT_EQ(kPropProbably, CanPlay("'audio/mpeg; codecs=\"avc3.unknown\"'")); 377 EXPECT_EQ(kPropProbably, CanPlay("'audio/mpeg; codecs=\"mp4a.unknown\"'")); 378 379 EXPECT_EQ(kPropProbably, CanPlay("'audio/mpeg; codecs=\"avc1.\"'")); 380 EXPECT_EQ(kPropProbably, CanPlay("'audio/mpeg; codecs=\"avc3.\"'")); 381 EXPECT_EQ(kPropProbably, CanPlay("'audio/mpeg; codecs=\"mp4a.\"'")); 382 383 EXPECT_EQ(kPropProbably, CanPlay("'audio/mpeg; codecs=\"vorbis\"'")); 384 EXPECT_EQ(kOpusAndPropProbably, CanPlay("'audio/mpeg; codecs=\"opus\"'")); 385 EXPECT_EQ(kTheoraAndPropProbably, CanPlay("'audio/mpeg; codecs=\"theora\"'")); 386 EXPECT_EQ(kPropProbably, CanPlay("'audio/mpeg; codecs=\"vp8\"'")); 387 EXPECT_EQ(kPropProbably, CanPlay("'audio/mpeg; codecs=\"vp8.0\"'")); 388 EXPECT_EQ(kPropProbably, CanPlay("'audio/mpeg; codecs=\"vp9\"'")); 389 EXPECT_EQ(kPropProbably, CanPlay("'audio/mpeg; codecs=\"vp9.0\"'")); 390 391 EXPECT_EQ(kPropMaybe, CanPlay("'audio/mpeg; codecs=\"AVC1\"'")); 392 EXPECT_EQ(kPropMaybe, CanPlay("'audio/mpeg; codecs=\"AVC1.4d401e\"'")); 393 EXPECT_EQ(kPropMaybe, CanPlay("'audio/mpeg; codecs=\"AVC3\"'")); 394 EXPECT_EQ(kPropMaybe, CanPlay("'audio/mpeg; codecs=\"AVC3.64001f\"'")); 395 EXPECT_EQ(kPropMaybe, CanPlay("'audio/mpeg; codecs=\"MP4A\"'")); 396 EXPECT_EQ(kPropMaybe, CanPlay("'audio/mpeg; codecs=\"MP4A.40.2\"'")); 397 EXPECT_EQ(kPropMaybe, CanPlay("'audio/mpeg; codecs=\"AVC1, MP4\"'")); 398 EXPECT_EQ(kPropMaybe, CanPlay("'audio/mpeg; codecs=\"AVC3, MP4\"'")); 399 EXPECT_EQ(kPropMaybe, 400 CanPlay("'audio/mpeg; codecs=\", AVC1.4D401E, MP4.40.2\"'")); 401 EXPECT_EQ(kPropMaybe, 402 CanPlay("'audio/mpeg; codecs=\", AVC3.64001F, MP4.40.2\"'")); 403 404 EXPECT_EQ(kPropMaybe, CanPlay("'audio/mpeg; codecs=\"avc2\"'")); 405 EXPECT_EQ(kPropMaybe, CanPlay("'audio/mpeg; codecs=\"avc4\"'")); 406 407 EXPECT_EQ(kPropMaybe, CanPlay("'audio/mpeg; codecs=\"avc1x\"'")); 408 EXPECT_EQ(kPropMaybe, CanPlay("'audio/mpeg; codecs=\"avc3x\"'")); 409 EXPECT_EQ(kPropMaybe, CanPlay("'audio/mpeg; codecs=\"mp4ax\"'")); 410 411 EXPECT_EQ(kPropMaybe, CanPlay("'audio/mpeg; codecs=\"unknown\"'")); 412 // --------------------------------------------------------------------------- 413 414 EXPECT_EQ(kPropMaybe, CanPlay("'audio/mp3'")); 415 416 // TODO(amogh.bihani): Change these tests when bug 53193 is fixed. 417 // http://crbug.com/53193 ---------------------------------------------------- 418 EXPECT_EQ(kPropProbably, CanPlay("'audio/mp3; codecs=\"avc1\"'")); 419 EXPECT_EQ(kPropProbably, CanPlay("'audio/mp3; codecs=\"avc3\"'")); 420 421 EXPECT_EQ(kPropProbably, CanPlay("'audio/mp3; codecs=\"avc1.4D401E\"'")); 422 EXPECT_EQ(kPropProbably, CanPlay("'audio/mp3; codecs=\"avc3.64001F\"'")); 423 424 EXPECT_EQ(kPropProbably, CanPlay("'audio/mp3; codecs=\"mp4a\"'")); 425 EXPECT_EQ(kPropProbably, CanPlay("'audio/mp3; codecs=\"mp4a.40.2\"'")); 426 427 EXPECT_EQ(kPropProbably, CanPlay("'audio/mp3; codecs=\"avc1.unknown\"'")); 428 EXPECT_EQ(kPropProbably, CanPlay("'audio/mp3; codecs=\"avc3.unknown\"'")); 429 EXPECT_EQ(kPropProbably, CanPlay("'audio/mp3; codecs=\"mp4a.unknown\"'")); 430 431 EXPECT_EQ(kPropProbably, CanPlay("'audio/mp3; codecs=\"avc1.\"'")); 432 EXPECT_EQ(kPropProbably, CanPlay("'audio/mp3; codecs=\"avc3.\"'")); 433 EXPECT_EQ(kPropProbably, CanPlay("'audio/mp3; codecs=\"mp4a.\"'")); 434 435 EXPECT_EQ(kPropProbably, CanPlay("'audio/mp3; codecs=\"vorbis\"'")); 436 EXPECT_EQ(kOpusAndPropProbably, CanPlay("'audio/mp3; codecs=\"opus\"'")); 437 EXPECT_EQ(kTheoraAndPropProbably, CanPlay("'audio/mp3; codecs=\"theora\"'")); 438 EXPECT_EQ(kPropProbably, CanPlay("'audio/mp3; codecs=\"vp8\"'")); 439 EXPECT_EQ(kPropProbably, CanPlay("'audio/mp3; codecs=\"vp8.0\"'")); 440 EXPECT_EQ(kPropProbably, CanPlay("'audio/mp3; codecs=\"vp9\"'")); 441 EXPECT_EQ(kPropProbably, CanPlay("'audio/mp3; codecs=\"vp9.0\"'")); 442 443 EXPECT_EQ(kPropMaybe, CanPlay("'audio/mp3; codecs=\"AVC1\"'")); 444 EXPECT_EQ(kPropMaybe, CanPlay("'audio/mp3; codecs=\"AVC1.4d401e\"'")); 445 EXPECT_EQ(kPropMaybe, CanPlay("'audio/mp3; codecs=\"AVC3\"'")); 446 EXPECT_EQ(kPropMaybe, CanPlay("'audio/mp3; codecs=\"AVC3.64001f\"'")); 447 EXPECT_EQ(kPropMaybe, CanPlay("'audio/mp3; codecs=\"MP4A\"'")); 448 EXPECT_EQ(kPropMaybe, CanPlay("'audio/mp3; codecs=\"MP4A.40.2\"'")); 449 EXPECT_EQ(kPropMaybe, CanPlay("'audio/mp3; codecs=\"AVC1, MP4\"'")); 450 EXPECT_EQ(kPropMaybe, CanPlay("'audio/mp3; codecs=\"AVC3, MP4\"'")); 451 EXPECT_EQ(kPropMaybe, 452 CanPlay("'audio/mp3; codecs=\", AVC1.4D401E, MP4.40.2\"'")); 453 EXPECT_EQ(kPropMaybe, 454 CanPlay("'audio/mp3; codecs=\", AVC3.64001F, MP4.40.2\"'")); 455 456 EXPECT_EQ(kPropMaybe, CanPlay("'audio/mp3; codecs=\"avc2\"'")); 457 EXPECT_EQ(kPropMaybe, CanPlay("'audio/mp3; codecs=\"avc4\"'")); 458 459 EXPECT_EQ(kPropMaybe, CanPlay("'audio/mp3; codecs=\"avc1x\"'")); 460 EXPECT_EQ(kPropMaybe, CanPlay("'audio/mp3; codecs=\"avc3x\"'")); 461 EXPECT_EQ(kPropMaybe, CanPlay("'audio/mp3; codecs=\"mp4ax\"'")); 462 463 EXPECT_EQ(kPropMaybe, CanPlay("'audio/mp3; codecs=\"unknown\"'")); 464 // --------------------------------------------------------------------------- 465 466 EXPECT_EQ(kPropMaybe, CanPlay("'audio/x-mp3'")); 467 468 // TODO(amogh.bihani): Change these tests when bug 53193 is fixed. 469 // http://crbug.com/53193 ---------------------------------------------------- 470 EXPECT_EQ(kPropProbably, CanPlay("'audio/x-mp3; codecs=\"avc1\"'")); 471 EXPECT_EQ(kPropProbably, CanPlay("'audio/x-mp3; codecs=\"avc3\"'")); 472 473 EXPECT_EQ(kPropProbably, CanPlay("'audio/x-mp3; codecs=\"avc1.4D401E\"'")); 474 EXPECT_EQ(kPropProbably, CanPlay("'audio/x-mp3; codecs=\"avc3.64001F\"'")); 475 476 EXPECT_EQ(kPropProbably, CanPlay("'audio/x-mp3; codecs=\"mp4a\"'")); 477 EXPECT_EQ(kPropProbably, CanPlay("'audio/x-mp3; codecs=\"mp4a.40.2\"'")); 478 479 EXPECT_EQ(kPropProbably, CanPlay("'audio/x-mp3; codecs=\"avc1.unknown\"'")); 480 EXPECT_EQ(kPropProbably, CanPlay("'audio/x-mp3; codecs=\"avc3.unknown\"'")); 481 EXPECT_EQ(kPropProbably, CanPlay("'audio/x-mp3; codecs=\"mp4a.unknown\"'")); 482 483 EXPECT_EQ(kPropProbably, CanPlay("'audio/x-mp3; codecs=\"vorbis\"'")); 484 EXPECT_EQ(kOpusAndPropProbably, CanPlay("'audio/x-mp3; codecs=\"opus\"'")); 485 EXPECT_EQ(kTheoraAndPropProbably, 486 CanPlay("'audio/x-mp3; codecs=\"theora\"'")); 487 EXPECT_EQ(kPropProbably, CanPlay("'audio/x-mp3; codecs=\"vp8\"'")); 488 EXPECT_EQ(kPropProbably, CanPlay("'audio/x-mp3; codecs=\"vp8.0\"'")); 489 EXPECT_EQ(kPropProbably, CanPlay("'audio/x-mp3; codecs=\"vp9\"'")); 490 EXPECT_EQ(kPropProbably, CanPlay("'audio/x-mp3; codecs=\"vp9.0\"'")); 491 492 EXPECT_EQ(kPropMaybe, CanPlay("'audio/x-mp3; codecs=\"AVC1\"'")); 493 EXPECT_EQ(kPropMaybe, CanPlay("'audio/x-mp3; codecs=\"AVC1.4d401e\"'")); 494 EXPECT_EQ(kPropMaybe, CanPlay("'audio/x-mp3; codecs=\"AVC3\"'")); 495 EXPECT_EQ(kPropMaybe, CanPlay("'audio/x-mp3; codecs=\"AVC3.64001f\"'")); 496 EXPECT_EQ(kPropMaybe, CanPlay("'audio/x-mp3; codecs=\"MP4A\"'")); 497 EXPECT_EQ(kPropMaybe, CanPlay("'audio/x-mp3; codecs=\"MP4A.40.2\"'")); 498 EXPECT_EQ(kPropMaybe, CanPlay("'audio/x-mp3; codecs=\"AVC1, MP4\"'")); 499 EXPECT_EQ(kPropMaybe, CanPlay("'audio/x-mp3; codecs=\"AVC3, MP4\"'")); 500 EXPECT_EQ(kPropMaybe, 501 CanPlay("'audio/x-mp3; codecs=\", AVC1.4D401E, MP4.40.2\"'")); 502 EXPECT_EQ(kPropMaybe, 503 CanPlay("'audio/x-mp3; codecs=\", AVC3.64001F, MP4.40.2\"'")); 504 505 EXPECT_EQ(kPropMaybe, CanPlay("'audio/x-mp3; codecs=\"avc2\"'")); 506 EXPECT_EQ(kPropMaybe, CanPlay("'audio/x-mp3; codecs=\"avc4\"'")); 507 508 EXPECT_EQ(kPropMaybe, CanPlay("'audio/x-mp3; codecs=\"avc1x\"'")); 509 EXPECT_EQ(kPropMaybe, CanPlay("'audio/x-mp3; codecs=\"avc3x\"'")); 510 EXPECT_EQ(kPropMaybe, CanPlay("'audio/x-mp3; codecs=\"mp4ax\"'")); 511 512 EXPECT_EQ(kPropMaybe, CanPlay("'audio/x-mp3; codecs=\"unknown\"'")); 513 // --------------------------------------------------------------------------- 514} 515 516IN_PROC_BROWSER_TEST_F(MediaCanPlayTypeTest, CodecSupportTest_mp4) { 517 EXPECT_EQ(kPropMaybe, CanPlay("'video/mp4'")); 518 519 EXPECT_EQ(kPropProbably, CanPlay("'video/mp4; codecs=\"avc1\"'")); 520 EXPECT_EQ(kPropProbably, CanPlay("'video/mp4; codecs=\"avc3\"'")); 521 EXPECT_EQ(kPropProbably, CanPlay("'video/mp4; codecs=\"mp4a\"'")); 522 EXPECT_EQ(kPropProbably, CanPlay("'video/mp4; codecs=\"avc1, mp4a\"'")); 523 EXPECT_EQ(kPropProbably, CanPlay("'video/mp4; codecs=\"avc3, mp4a\"'")); 524 EXPECT_EQ(kPropProbably, CanPlay("'video/mp4; codecs=\"avc1, avc3\"'")); 525 526 EXPECT_EQ(kPropProbably, CanPlay("'video/mp4; codecs=\"avc1.4D401E\"'")); 527 EXPECT_EQ(kPropProbably, CanPlay("'video/mp4; codecs=\"avc3.64001F\"'")); 528 EXPECT_EQ(kPropProbably, CanPlay("'video/mp4; codecs=\"mp4a.40.2\"'")); 529 EXPECT_EQ(kPropProbably, 530 CanPlay("'video/mp4; codecs=\"avc1.4D401E, mp4a.40.2\"'")); 531 EXPECT_EQ(kPropProbably, 532 CanPlay("'video/mp4; codecs=\"avc3.64001F, mp4a.40.5\"'")); 533 534 // TODO(amogh.bihani): Change these tests when bug 53193 is fixed. 535 // http://crbug.com/53193 ---------------------------------------------------- 536 EXPECT_EQ(kPropProbably, CanPlay("'video/mp4; codecs=\"avc1.unknown\"'")); 537 EXPECT_EQ(kPropProbably, CanPlay("'video/mp4; codecs=\"avc3.unknown\"'")); 538 EXPECT_EQ(kPropProbably, CanPlay("'video/mp4; codecs=\"mp4a.unknown\"'")); 539 540 EXPECT_EQ(kPropProbably, CanPlay("'video/mp4; codecs=\"avc1.\"'")); 541 EXPECT_EQ(kPropProbably, CanPlay("'video/mp4; codecs=\"avc3.\"'")); 542 EXPECT_EQ(kPropProbably, CanPlay("'video/mp4; codecs=\"mp4a.\"'")); 543 544 EXPECT_EQ(kPropProbably, CanPlay("'video/mp4; codecs=\"vp8\"'")); 545 EXPECT_EQ(kPropProbably, CanPlay("'video/mp4; codecs=\"vp9\"'")); 546 547 EXPECT_EQ(kPropProbably, CanPlay("'video/mp4; codecs=\"vorbis\"'")); 548 EXPECT_EQ(kPropProbably, CanPlay("'video/mp4; codecs=\"avc1, vorbis\"'")); 549 EXPECT_EQ(kPropProbably, CanPlay("'video/mp4; codecs=\"avc3, vorbis\"'")); 550 EXPECT_EQ(kPropProbably, 551 CanPlay("'video/mp4; codecs=\"avc1.4D401E, vorbis\"'")); 552 EXPECT_EQ(kPropProbably, 553 CanPlay("'video/mp4; codecs=\"avc3.64001F, vorbis\"'")); 554 555 EXPECT_EQ(kOpusAndPropProbably, CanPlay("'video/mp4; codecs=\"opus\"'")); 556 EXPECT_EQ(kOpusAndPropProbably, CanPlay("'video/mp4; codecs=\"vp8, opus\"'")); 557 EXPECT_EQ(kOpusAndPropProbably, CanPlay("'video/mp4; codecs=\"vp9, opus\"'")); 558 559 EXPECT_EQ(kTheoraAndPropProbably, CanPlay("'video/mp4; codecs=\"theora\"'")); 560 EXPECT_EQ(kTheoraAndPropProbably, 561 CanPlay("'video/mp4; codecs=\"theora, vorbis\"'")); 562 EXPECT_EQ(kTheoraAndPropProbably, 563 CanPlay("'video/mp4; codecs=\"theora, mp4a\"'")); 564 EXPECT_EQ(kTheoraAndPropProbably, 565 CanPlay("'video/mp4; codecs=\"theora, mp4a.40.2\"'")); 566 EXPECT_EQ(kTheoraAndPropProbably, 567 CanPlay("'video/mp4; codecs=\"theora, avc1\"'")); 568 EXPECT_EQ(kTheoraAndPropProbably, 569 CanPlay("'video/mp4; codecs=\"theora, avc3\"'")); 570 EXPECT_EQ(kTheoraAndPropProbably, 571 CanPlay("'video/mp4; codecs=\"theora, avc1.4D401E\"'")); 572 EXPECT_EQ(kTheoraAndPropProbably, 573 CanPlay("'video/mp4; codecs=\"theora, avc3.64001F\"'")); 574 575 EXPECT_EQ(kPropMaybe, CanPlay("'video/mp4; codecs=\"AVC1\"'")); 576 EXPECT_EQ(kPropMaybe, CanPlay("'video/mp4; codecs=\"AVC1.4d401e\"'")); 577 EXPECT_EQ(kPropMaybe, CanPlay("'video/mp4; codecs=\"AVC3\"'")); 578 EXPECT_EQ(kPropMaybe, CanPlay("'video/mp4; codecs=\"AVC3.64001f\"'")); 579 EXPECT_EQ(kPropMaybe, CanPlay("'video/mp4; codecs=\"MP4A\"'")); 580 EXPECT_EQ(kPropMaybe, CanPlay("'video/mp4; codecs=\"MP4A.40.2\"'")); 581 EXPECT_EQ(kPropMaybe, CanPlay("'video/mp4; codecs=\"AVC1, MP4\"'")); 582 EXPECT_EQ(kPropMaybe, CanPlay("'video/mp4; codecs=\"AVC3, MP4\"'")); 583 EXPECT_EQ(kPropMaybe, 584 CanPlay("'video/mp4; codecs=\", AVC1.4D401E, MP4.40.2\"'")); 585 EXPECT_EQ(kPropMaybe, 586 CanPlay("'video/mp4; codecs=\", AVC3.64001F, MP4.40.2\"'")); 587 588 EXPECT_EQ(kPropMaybe, CanPlay("'video/mp4; codecs=\"avc2\"'")); 589 EXPECT_EQ(kPropMaybe, CanPlay("'video/mp4; codecs=\"avc4\"'")); 590 591 EXPECT_EQ(kPropMaybe, CanPlay("'video/mp4; codecs=\"avc1x\"'")); 592 EXPECT_EQ(kPropMaybe, CanPlay("'video/mp4; codecs=\"avc3x\"'")); 593 EXPECT_EQ(kPropMaybe, CanPlay("'video/mp4; codecs=\"mp4ax\"'")); 594 595 EXPECT_EQ(kPropMaybe, CanPlay("'video/mp4; codecs=\"unknown\"'")); 596 // --------------------------------------------------------------------------- 597 598 EXPECT_EQ(kPropMaybe, CanPlay("'video/x-m4v'")); 599 600 EXPECT_EQ(kPropProbably, CanPlay("'video/x-m4v; codecs=\"avc1\"'")); 601 EXPECT_EQ(kPropProbably, CanPlay("'video/x-m4v; codecs=\"avc3\"'")); 602 EXPECT_EQ(kPropProbably, CanPlay("'video/x-m4v; codecs=\"mp4a\"'")); 603 EXPECT_EQ(kPropProbably, CanPlay("'video/x-m4v; codecs=\"avc1, mp4a\"'")); 604 EXPECT_EQ(kPropProbably, CanPlay("'video/x-m4v; codecs=\"avc3, mp4a\"'")); 605 EXPECT_EQ(kPropProbably, CanPlay("'video/x-m4v; codecs=\"avc1, avc3\"'")); 606 607 EXPECT_EQ(kPropProbably, CanPlay("'video/x-m4v; codecs=\"avc1.4D401E\"'")); 608 EXPECT_EQ(kPropProbably, CanPlay("'video/x-m4v; codecs=\"avc3.64001F\"'")); 609 EXPECT_EQ(kPropProbably, CanPlay("'video/x-m4v; codecs=\"mp4a.40.2\"'")); 610 EXPECT_EQ(kPropProbably, 611 CanPlay("'video/x-m4v; codecs=\"avc1.4D401E, mp4a.40.2\"'")); 612 EXPECT_EQ(kPropProbably, 613 CanPlay("'video/x-m4v; codecs=\"avc3.64001F, mp4a.40.5\"'")); 614 615 // TODO(amogh.bihani): Change these tests when bug 53193 is fixed. 616 // http://crbug.com/53193 ---------------------------------------------------- 617 EXPECT_EQ(kPropProbably, CanPlay("'video/x-m4v; codecs=\"avc1.unknown\"'")); 618 EXPECT_EQ(kPropProbably, CanPlay("'video/x-m4v; codecs=\"avc3.unknown\"'")); 619 EXPECT_EQ(kPropProbably, CanPlay("'video/x-m4v; codecs=\"mp4a.unknown\"'")); 620 621 EXPECT_EQ(kPropProbably, CanPlay("'video/x-m4v; codecs=\"avc1.\"'")); 622 EXPECT_EQ(kPropProbably, CanPlay("'video/x-m4v; codecs=\"avc3.\"'")); 623 EXPECT_EQ(kPropProbably, CanPlay("'video/x-m4v; codecs=\"mp4a.\"'")); 624 625 EXPECT_EQ(kPropProbably, CanPlay("'video/x-m4v; codecs=\"vp8\"'")); 626 EXPECT_EQ(kPropProbably, CanPlay("'video/x-m4v; codecs=\"vp9\"'")); 627 628 EXPECT_EQ(kPropProbably, CanPlay("'video/x-m4v; codecs=\"vorbis\"'")); 629 EXPECT_EQ(kPropProbably, CanPlay("'video/x-m4v; codecs=\"avc1, vorbis\"'")); 630 EXPECT_EQ(kPropProbably, CanPlay("'video/x-m4v; codecs=\"avc3, vorbis\"'")); 631 EXPECT_EQ(kPropProbably, 632 CanPlay("'video/x-m4v; codecs=\"avc1.4D401E, vorbis\"'")); 633 EXPECT_EQ(kPropProbably, 634 CanPlay("'video/x-m4v; codecs=\"avc3.64001F, vorbis\"'")); 635 636 EXPECT_EQ(kOpusAndPropProbably, CanPlay("'video/x-m4v; codecs=\"opus\"'")); 637 EXPECT_EQ(kOpusAndPropProbably, 638 CanPlay("'video/x-m4v; codecs=\"vp8, opus\"'")); 639 EXPECT_EQ(kOpusAndPropProbably, 640 CanPlay("'video/x-m4v; codecs=\"vp9, opus\"'")); 641 642 EXPECT_EQ(kTheoraAndPropProbably, 643 CanPlay("'video/x-m4v; codecs=\"theora\"'")); 644 EXPECT_EQ(kTheoraAndPropProbably, 645 CanPlay("'video/x-m4v; codecs=\"theora, vorbis\"'")); 646 EXPECT_EQ(kTheoraAndPropProbably, 647 CanPlay("'video/x-m4v; codecs=\"theora, mp4a\"'")); 648 EXPECT_EQ(kTheoraAndPropProbably, 649 CanPlay("'video/x-m4v; codecs=\"theora, mp4a.40.2\"'")); 650 EXPECT_EQ(kTheoraAndPropProbably, 651 CanPlay("'video/x-m4v; codecs=\"theora, avc1\"'")); 652 EXPECT_EQ(kTheoraAndPropProbably, 653 CanPlay("'video/x-m4v; codecs=\"theora, avc3\"'")); 654 EXPECT_EQ(kTheoraAndPropProbably, 655 CanPlay("'video/x-m4v; codecs=\"theora, avc1.4D401E\"'")); 656 EXPECT_EQ(kTheoraAndPropProbably, 657 CanPlay("'video/x-m4v; codecs=\"theora, avc3.64001F\"'")); 658 659 EXPECT_EQ(kPropMaybe, CanPlay("'video/x-m4v; codecs=\"AVC1\"'")); 660 EXPECT_EQ(kPropMaybe, CanPlay("'video/x-m4v; codecs=\"AVC1.4d401e\"'")); 661 EXPECT_EQ(kPropMaybe, CanPlay("'video/x-m4v; codecs=\"AVC3\"'")); 662 EXPECT_EQ(kPropMaybe, CanPlay("'video/x-m4v; codecs=\"AVC3.64001f\"'")); 663 EXPECT_EQ(kPropMaybe, CanPlay("'video/x-m4v; codecs=\"MP4A\"'")); 664 EXPECT_EQ(kPropMaybe, CanPlay("'video/x-m4v; codecs=\"MP4A.40.2\"'")); 665 EXPECT_EQ(kPropMaybe, CanPlay("'video/x-m4v; codecs=\"AVC1, MP4\"'")); 666 EXPECT_EQ(kPropMaybe, CanPlay("'video/x-m4v; codecs=\"AVC3, MP4\"'")); 667 EXPECT_EQ(kPropMaybe, 668 CanPlay("'video/x-m4v; codecs=\", AVC1.4D401E, MP4.40.2\"'")); 669 EXPECT_EQ(kPropMaybe, 670 CanPlay("'video/x-m4v; codecs=\", AVC3.64001F, MP4.40.2\"'")); 671 672 EXPECT_EQ(kPropMaybe, CanPlay("'video/x-m4v; codecs=\"avc2\"'")); 673 EXPECT_EQ(kPropMaybe, CanPlay("'video/x-m4v; codecs=\"avc4\"'")); 674 675 EXPECT_EQ(kPropMaybe, CanPlay("'video/x-m4v; codecs=\"avc1x\"'")); 676 EXPECT_EQ(kPropMaybe, CanPlay("'video/x-m4v; codecs=\"avc3x\"'")); 677 EXPECT_EQ(kPropMaybe, CanPlay("'video/x-m4v; codecs=\"mp4ax\"'")); 678 679 EXPECT_EQ(kPropMaybe, CanPlay("'video/x-m4v; codecs=\"unknown\"'")); 680 // --------------------------------------------------------------------------- 681 682 EXPECT_EQ(kPropMaybe, CanPlay("'audio/mp4'")); 683 EXPECT_EQ(kPropProbably, CanPlay("'audio/mp4; codecs=\"mp4a\"'")); 684 EXPECT_EQ(kPropProbably, CanPlay("'audio/mp4; codecs=\"mp4a.40.2\"'")); 685 686 // TODO(amogh.bihani): Change these tests when bug 53193 is fixed. 687 // http://crbug.com/53193 ---------------------------------------------------- 688 EXPECT_EQ(kPropProbably, CanPlay("'audio/mp4; codecs=\"avc1\"'")); 689 EXPECT_EQ(kPropProbably, CanPlay("'audio/mp4; codecs=\"avc3\"'")); 690 EXPECT_EQ(kPropProbably, CanPlay("'audio/mp4; codecs=\"avc1, mp4a\"'")); 691 EXPECT_EQ(kPropProbably, CanPlay("'audio/mp4; codecs=\"avc3, mp4a\"'")); 692 693 EXPECT_EQ(kPropProbably, CanPlay("'audio/mp4; codecs=\"avc1.4D401E\"'")); 694 EXPECT_EQ(kPropProbably, CanPlay("'audio/mp4; codecs=\"avc3.64001F\"'")); 695 696 EXPECT_EQ(kPropProbably, CanPlay("'audio/mp4; codecs=\"avc1.unknown\"'")); 697 EXPECT_EQ(kPropProbably, CanPlay("'audio/mp4; codecs=\"avc3.unknown\"'")); 698 EXPECT_EQ(kPropProbably, CanPlay("'audio/mp4; codecs=\"mp4a.unknown\"'")); 699 700 EXPECT_EQ(kPropProbably, CanPlay("'audio/mp4; codecs=\"avc1.\"'")); 701 EXPECT_EQ(kPropProbably, CanPlay("'audio/mp4; codecs=\"avc3.\"'")); 702 EXPECT_EQ(kPropProbably, CanPlay("'audio/mp4; codecs=\"mp4a.\"'")); 703 704 EXPECT_EQ(kPropProbably, 705 CanPlay("'audio/mp4; codecs=\"avc1.4D401E, mp4a.40.2\"'")); 706 EXPECT_EQ(kPropProbably, 707 CanPlay("'audio/mp4; codecs=\"avc3.64001F mp4a.40.2\"'")); 708 EXPECT_EQ(kPropProbably, 709 CanPlay("'audio/mp4; codecs=\"mp4a, vorbis\"'")); 710 EXPECT_EQ(kPropProbably, 711 CanPlay("'audio/mp4; codecs=\"mp4a.40.2, vorbis\"'")); 712 713 EXPECT_EQ(kPropProbably, CanPlay("'audio/mp4; codecs=\"vorbis\"'")); 714 715 EXPECT_EQ(kPropProbably, CanPlay("'audio/mp4; codecs=\"vp8\"'")); 716 EXPECT_EQ(kPropProbably, CanPlay("'audio/mp4; codecs=\"vp8.0\"'")); 717 EXPECT_EQ(kPropProbably, CanPlay("'audio/mp4; codecs=\"vp9\"'")); 718 EXPECT_EQ(kPropProbably, CanPlay("'audio/mp4; codecs=\"vp9.0\"'")); 719 720 EXPECT_EQ(kOpusAndPropProbably, CanPlay("'audio/mp4; codecs=\"opus\"'")); 721 EXPECT_EQ(kOpusAndPropProbably, 722 CanPlay("'audio/mp4; codecs=\"mp4a, opus\"'")); 723 EXPECT_EQ(kOpusAndPropProbably, 724 CanPlay("'audio/mp4; codecs=\"vorbis, opus\"'")); 725 EXPECT_EQ(kOpusAndPropProbably, CanPlay("'audio/mp4; codecs=\"vp8, opus\"'")); 726 EXPECT_EQ(kOpusAndPropProbably, CanPlay("'audio/mp4; codecs=\"vp9, opus\"'")); 727 728 EXPECT_EQ(kTheoraAndPropProbably, CanPlay("'audio/mp4; codecs=\"theora\"'")); 729 EXPECT_EQ(kTheoraAndPropProbably, 730 CanPlay("'audio/mp4; codecs=\"theora, vorbis\"'")); 731 EXPECT_EQ(kTheoraAndPropProbably, 732 CanPlay("'audio/mp4; codecs=\"theora, mp4a\"'")); 733 EXPECT_EQ(kPropProbably, CanPlay("'audio/mp4; codecs=\"avc1, vorbis\"'")); 734 735 EXPECT_EQ(kPropMaybe, CanPlay("'audio/mp4; codecs=\"AVC1\"'")); 736 EXPECT_EQ(kPropMaybe, CanPlay("'audio/mp4; codecs=\"AVC1.4d401e\"'")); 737 EXPECT_EQ(kPropMaybe, CanPlay("'audio/mp4; codecs=\"AVC3\"'")); 738 EXPECT_EQ(kPropMaybe, CanPlay("'audio/mp4; codecs=\"AVC3.64001f\"'")); 739 EXPECT_EQ(kPropMaybe, CanPlay("'audio/mp4; codecs=\"MP4A\"'")); 740 EXPECT_EQ(kPropMaybe, CanPlay("'audio/mp4; codecs=\"MP4A.40.2\"'")); 741 EXPECT_EQ(kPropMaybe, CanPlay("'audio/mp4; codecs=\"AVC1, MP4\"'")); 742 EXPECT_EQ(kPropMaybe, CanPlay("'audio/mp4; codecs=\"AVC3, MP4\"'")); 743 EXPECT_EQ(kPropMaybe, 744 CanPlay("'audio/mp4; codecs=\", AVC1.4D401E, MP4.40.2\"'")); 745 EXPECT_EQ(kPropMaybe, 746 CanPlay("'audio/mp4; codecs=\", AVC3.64001F, MP4.40.2\"'")); 747 748 EXPECT_EQ(kPropMaybe, CanPlay("'audio/mp4; codecs=\"avc2\"'")); 749 EXPECT_EQ(kPropMaybe, CanPlay("'audio/mp4; codecs=\"avc4\"'")); 750 751 EXPECT_EQ(kPropMaybe, CanPlay("'audio/mp4; codecs=\"avc1x\"'")); 752 EXPECT_EQ(kPropMaybe, CanPlay("'audio/mp4; codecs=\"avc3x\"'")); 753 EXPECT_EQ(kPropMaybe, CanPlay("'audio/mp4; codecs=\"mp4ax\"'")); 754 755 EXPECT_EQ(kPropMaybe, CanPlay("'audio/mp4; codecs=\"unknown\"'")); 756 // --------------------------------------------------------------------------- 757 758 EXPECT_EQ(kPropMaybe, CanPlay("'audio/x-m4a'")); 759 EXPECT_EQ(kPropProbably, CanPlay("'audio/x-m4a; codecs=\"mp4a\"'")); 760 EXPECT_EQ(kPropProbably, CanPlay("'audio/x-m4a; codecs=\"mp4a.40.2\"'")); 761 762 // TODO(amogh.bihani): Change these tests when bug 53193 is fixed. 763 // http://crbug.com/53193 ---------------------------------------------------- 764 EXPECT_EQ(kPropProbably, CanPlay("'audio/x-m4a; codecs=\"avc1\"'")); 765 EXPECT_EQ(kPropProbably, CanPlay("'audio/x-m4a; codecs=\"avc3\"'")); 766 EXPECT_EQ(kPropProbably, CanPlay("'audio/x-m4a; codecs=\"avc1, mp4a\"'")); 767 EXPECT_EQ(kPropProbably, CanPlay("'audio/x-m4a; codecs=\"avc3, mp4a\"'")); 768 769 EXPECT_EQ(kPropProbably, CanPlay("'audio/x-m4a; codecs=\"avc1.4D401E\"'")); 770 EXPECT_EQ(kPropProbably, CanPlay("'audio/x-m4a; codecs=\"avc3.64001F\"'")); 771 772 EXPECT_EQ(kPropProbably, CanPlay("'audio/x-m4a; codecs=\"avc1.unknown\"'")); 773 EXPECT_EQ(kPropProbably, CanPlay("'audio/x-m4a; codecs=\"avc3.unknown\"'")); 774 EXPECT_EQ(kPropProbably, CanPlay("'audio/x-m4a; codecs=\"mp4a.unknown\"'")); 775 776 EXPECT_EQ(kPropProbably, CanPlay("'audio/x-m4a; codecs=\"avc1.\"'")); 777 EXPECT_EQ(kPropProbably, CanPlay("'audio/x-m4a; codecs=\"avc3.\"'")); 778 EXPECT_EQ(kPropProbably, CanPlay("'audio/x-m4a; codecs=\"mp4a.\"'")); 779 780 EXPECT_EQ(kPropProbably, 781 CanPlay("'audio/x-m4a; codecs=\"avc1.4D401E, mp4a.40.2\"'")); 782 EXPECT_EQ(kPropProbably, 783 CanPlay("'audio/x-m4a; codecs=\"avc3.64001F mp4a.40.2\"'")); 784 EXPECT_EQ(kPropProbably, 785 CanPlay("'audio/x-m4a; codecs=\"mp4a, vorbis\"'")); 786 EXPECT_EQ(kPropProbably, 787 CanPlay("'audio/x-m4a; codecs=\"mp4a.40.2, vorbis\"'")); 788 789 EXPECT_EQ(kPropProbably, CanPlay("'audio/x-m4a; codecs=\"vorbis\"'")); 790 791 EXPECT_EQ(kPropProbably, CanPlay("'audio/x-m4a; codecs=\"vp8\"'")); 792 EXPECT_EQ(kPropProbably, CanPlay("'audio/x-m4a; codecs=\"vp8.0\"'")); 793 EXPECT_EQ(kPropProbably, CanPlay("'audio/x-m4a; codecs=\"vp9\"'")); 794 EXPECT_EQ(kPropProbably, CanPlay("'audio/x-m4a; codecs=\"vp9.0\"'")); 795 796 EXPECT_EQ(kOpusAndPropProbably, CanPlay("'audio/x-m4a; codecs=\"opus\"'")); 797 EXPECT_EQ(kOpusAndPropProbably, 798 CanPlay("'audio/x-m4a; codecs=\"mp4a, opus\"'")); 799 EXPECT_EQ(kOpusAndPropProbably, 800 CanPlay("'audio/x-m4a; codecs=\"vorbis, opus\"'")); 801 EXPECT_EQ(kOpusAndPropProbably, 802 CanPlay("'audio/x-m4a; codecs=\"vp8, opus\"'")); 803 EXPECT_EQ(kOpusAndPropProbably, 804 CanPlay("'audio/x-m4a; codecs=\"vp9, opus\"'")); 805 806 EXPECT_EQ(kTheoraAndPropProbably, 807 CanPlay("'audio/x-m4a; codecs=\"theora\"'")); 808 EXPECT_EQ(kTheoraAndPropProbably, 809 CanPlay("'audio/x-m4a; codecs=\"theora, vorbis\"'")); 810 EXPECT_EQ(kTheoraAndPropProbably, 811 CanPlay("'audio/x-m4a; codecs=\"theora, mp4a\"'")); 812 EXPECT_EQ(kPropProbably, CanPlay("'audio/x-m4a; codecs=\"avc1, vorbis\"'")); 813 814 EXPECT_EQ(kPropMaybe, CanPlay("'audio/x-m4a; codecs=\"AVC1\"'")); 815 EXPECT_EQ(kPropMaybe, CanPlay("'audio/x-m4a; codecs=\"AVC1.4d401e\"'")); 816 EXPECT_EQ(kPropMaybe, CanPlay("'audio/x-m4a; codecs=\"AVC3\"'")); 817 EXPECT_EQ(kPropMaybe, CanPlay("'audio/x-m4a; codecs=\"AVC3.64001f\"'")); 818 EXPECT_EQ(kPropMaybe, CanPlay("'audio/x-m4a; codecs=\"MP4A\"'")); 819 EXPECT_EQ(kPropMaybe, CanPlay("'audio/x-m4a; codecs=\"MP4A.40.2\"'")); 820 EXPECT_EQ(kPropMaybe, CanPlay("'audio/x-m4a; codecs=\"AVC1, MP4\"'")); 821 EXPECT_EQ(kPropMaybe, CanPlay("'audio/x-m4a; codecs=\"AVC3, MP4\"'")); 822 EXPECT_EQ(kPropMaybe, 823 CanPlay("'audio/x-m4a; codecs=\", AVC1.4D401E, MP4.40.2\"'")); 824 EXPECT_EQ(kPropMaybe, 825 CanPlay("'audio/x-m4a; codecs=\", AVC3.64001F, MP4.40.2\"'")); 826 827 EXPECT_EQ(kPropMaybe, CanPlay("'audio/x-m4a; codecs=\"avc2\"'")); 828 EXPECT_EQ(kPropMaybe, CanPlay("'audio/x-m4a; codecs=\"avc4\"'")); 829 830 EXPECT_EQ(kPropMaybe, CanPlay("'audio/x-m4a; codecs=\"avc1x\"'")); 831 EXPECT_EQ(kPropMaybe, CanPlay("'audio/x-m4a; codecs=\"avc3x\"'")); 832 EXPECT_EQ(kPropMaybe, CanPlay("'audio/x-m4a; codecs=\"mp4ax\"'")); 833 834 EXPECT_EQ(kPropMaybe, CanPlay("'audio/x-m4a; codecs=\"unknown\"'")); 835 // --------------------------------------------------------------------------- 836} 837 838IN_PROC_BROWSER_TEST_F(MediaCanPlayTypeTest, CodecSupportTest_HLS) { 839 EXPECT_EQ(kHLSMaybe, CanPlay("'application/x-mpegurl'")); 840 841 EXPECT_EQ(kHLSProbably, 842 CanPlay("'application/x-mpegurl; codecs=\"avc1\"'")); 843 EXPECT_EQ(kHLSProbably, 844 CanPlay("'application/x-mpegurl; codecs=\"avc3\"'")); 845 EXPECT_EQ(kHLSProbably, 846 CanPlay("'application/x-mpegurl; codecs=\"mp4a\"'")); 847 EXPECT_EQ(kHLSProbably, 848 CanPlay("'application/x-mpegurl; codecs=\"avc1, mp4a\"'")); 849 EXPECT_EQ(kHLSProbably, 850 CanPlay("'application/x-mpegurl; codecs=\"avc3, mp4a\"'")); 851 852 EXPECT_EQ(kHLSProbably, 853 CanPlay("'application/x-mpegurl; codecs=\"avc1.4D401E\"'")); 854 EXPECT_EQ(kHLSProbably, 855 CanPlay("'application/x-mpegurl; codecs=\"avc3.64001F\"'")); 856 EXPECT_EQ(kHLSProbably, 857 CanPlay("'application/x-mpegurl; codecs=\"mp4a.40.2\"'")); 858 EXPECT_EQ(kHLSProbably, 859 CanPlay("'application/x-mpegurl; codecs=\"avc1.4D401E, mp4a.40.2\"'")); 860 EXPECT_EQ(kHLSProbably, 861 CanPlay("'application/x-mpegurl; codecs=\"avc3.64001F, mp4a.40.5\"'")); 862 863 // TODO(amogh.bihani): Change these tests when bug 53193 is fixed. 864 // http://crbug.com/53193 ---------------------------------------------------- 865 EXPECT_EQ(kHLSProbably, 866 CanPlay("'application/x-mpegurl; codecs=\"avc1.unknown\"'")); 867 EXPECT_EQ(kHLSProbably, 868 CanPlay("'application/x-mpegurl; codecs=\"avc3.unknown\"'")); 869 EXPECT_EQ(kHLSProbably, 870 CanPlay("'application/x-mpegurl; codecs=\"mp4a.unknown\"'")); 871 872 EXPECT_EQ(kHLSProbably, CanPlay("'application/x-mpegurl; codecs=\"avc1.\"'")); 873 EXPECT_EQ(kHLSProbably, CanPlay("'application/x-mpegurl; codecs=\"avc3.\"'")); 874 EXPECT_EQ(kHLSProbably, CanPlay("'application/x-mpegurl; codecs=\"mp4a.\"'")); 875 876 EXPECT_EQ(kHLSProbably, CanPlay("'application/x-mpegurl; codecs=\"vp8\"'")); 877 EXPECT_EQ(kHLSProbably, CanPlay("'application/x-mpegurl; codecs=\"vp9\"'")); 878 EXPECT_EQ(kHLSProbably, 879 CanPlay("'application/x-mpegurl; codecs=\"vorbis\"'")); 880 881 EXPECT_EQ(kHLSProbably, 882 CanPlay("'application/x-mpegurl; codecs=\"avc1, vorbis\"'")); 883 EXPECT_EQ(kHLSProbably, 884 CanPlay("'application/x-mpegurl; codecs=\"avc3, vorbis\"'")); 885 EXPECT_EQ(kHLSProbably, 886 CanPlay("'application/x-mpegurl; codecs=\"avc1.4D401E, vorbis\"'")); 887 EXPECT_EQ(kHLSProbably, 888 CanPlay("'application/x-mpegurl; codecs=\"avc3.64001F, vorbis\"'")); 889 890 EXPECT_EQ(kHLSMaybe, CanPlay("'application/x-mpegurl; codecs=\"opus\"'")); 891 EXPECT_EQ(kHLSMaybe, 892 CanPlay("'application/x-mpegurl; codecs=\"vp8, opus\"'")); 893 EXPECT_EQ(kHLSMaybe, 894 CanPlay("'application/x-mpegurl; codecs=\"vp9, opus\"'")); 895 896 EXPECT_EQ(kHLSMaybe, 897 CanPlay("'application/x-mpegurl; codecs=\"theora\"'")); 898 EXPECT_EQ(kHLSMaybe, 899 CanPlay("'application/x-mpegurl; codecs=\"theora, vorbis\"'")); 900 EXPECT_EQ(kHLSMaybe, 901 CanPlay("'application/x-mpegurl; codecs=\"theora, mp4a\"'")); 902 EXPECT_EQ(kHLSMaybe, 903 CanPlay("'application/x-mpegurl; codecs=\"theora, mp4a.40.2\"'")); 904 905 EXPECT_EQ(kHLSMaybe, CanPlay("'application/x-mpegurl; codecs=\"AVC1\"'")); 906 EXPECT_EQ(kHLSMaybe, 907 CanPlay("'application/x-mpegurl; codecs=\"AVC1.4d401e\"'")); 908 EXPECT_EQ(kHLSMaybe, CanPlay("'application/x-mpegurl; codecs=\"AVC3\"'")); 909 EXPECT_EQ(kHLSMaybe, 910 CanPlay("'application/x-mpegurl; codecs=\"AVC3.64001f\"'")); 911 EXPECT_EQ(kHLSMaybe, CanPlay("'application/x-mpegurl; codecs=\"MP4A\"'")); 912 EXPECT_EQ(kHLSMaybe, 913 CanPlay("'application/x-mpegurl; codecs=\"MP4A.40.2\"'")); 914 EXPECT_EQ(kHLSMaybe, 915 CanPlay("'application/x-mpegurl; codecs=\"AVC1, MP4\"'")); 916 EXPECT_EQ(kHLSMaybe, 917 CanPlay("'application/x-mpegurl; codecs=\"AVC3, MP4\"'")); 918 EXPECT_EQ(kHLSMaybe, 919 CanPlay("'application/x-mpegurl; codecs=\", AVC1.4D401E, MP4.40.2\"'")); 920 EXPECT_EQ(kHLSMaybe, 921 CanPlay("'application/x-mpegurl; codecs=\", AVC3.64001F, MP4.40.2\"'")); 922 923 EXPECT_EQ(kHLSMaybe, 924 CanPlay("'application/x-mpegurl; codecs=\"avc2\"'")); 925 EXPECT_EQ(kHLSMaybe, 926 CanPlay("'application/x-mpegurl; codecs=\"avc4\"'")); 927 928 EXPECT_EQ(kHLSMaybe, 929 CanPlay("'application/x-mpegurl; codecs=\"avc1x\"'")); 930 EXPECT_EQ(kHLSMaybe, 931 CanPlay("'application/x-mpegurl; codecs=\"avc3x\"'")); 932 EXPECT_EQ(kHLSMaybe, 933 CanPlay("'application/x-mpegurl; codecs=\"mp4ax\"'")); 934 935 EXPECT_EQ(kHLSMaybe, 936 CanPlay("'application/x-mpegurl; codecs=\"unknown\"'")); 937 // --------------------------------------------------------------------------- 938 939 EXPECT_EQ(kHLSMaybe, CanPlay("'application/vnd.apple.mpegurl'")); 940 941 EXPECT_EQ(kHLSProbably, 942 CanPlay("'application/vnd.apple.mpegurl; codecs=\"avc1\"'")); 943 EXPECT_EQ(kHLSProbably, 944 CanPlay("'application/vnd.apple.mpegurl; codecs=\"avc3\"'")); 945 EXPECT_EQ(kHLSProbably, 946 CanPlay("'application/vnd.apple.mpegurl; codecs=\"mp4a\"'")); 947 EXPECT_EQ(kHLSProbably, 948 CanPlay("'application/vnd.apple.mpegurl; codecs=\"avc1, mp4a\"'")); 949 EXPECT_EQ(kHLSProbably, 950 CanPlay("'application/vnd.apple.mpegurl; codecs=\"avc3, mp4a\"'")); 951 952 EXPECT_EQ(kHLSProbably, 953 CanPlay("'application/vnd.apple.mpegurl; codecs=\"avc1.4D401E\"'")); 954 EXPECT_EQ(kHLSProbably, 955 CanPlay("'application/vnd.apple.mpegurl; codecs=\"avc3.64001F\"'")); 956 EXPECT_EQ(kHLSProbably, 957 CanPlay("'application/vnd.apple.mpegurl; codecs=\"mp4a.40.2\"'")); 958 959 // TODO(amogh.bihani): Change these tests when bug 53193 is fixed. 960 // http://crbug.com/53193 ---------------------------------------------------- 961 EXPECT_EQ(kHLSProbably, 962 CanPlay("'application/vnd.apple.mpegurl; codecs=\"avc1.unknown\"'")); 963 EXPECT_EQ(kHLSProbably, 964 CanPlay("'application/vnd.apple.mpegurl; codecs=\"avc3.unknown\"'")); 965 EXPECT_EQ(kHLSProbably, 966 CanPlay("'application/vnd.apple.mpegurl; codecs=\"mp4a.unknown\"'")); 967 968 EXPECT_EQ(kHLSProbably, 969 CanPlay("'application/vnd.apple.mpegurl; codecs=\"avc1.\"'")); 970 EXPECT_EQ(kHLSProbably, 971 CanPlay("'application/vnd.apple.mpegurl; codecs=\"avc3.\"'")); 972 EXPECT_EQ(kHLSProbably, 973 CanPlay("'application/vnd.apple.mpegurl; codecs=\"mp4a.\"'")); 974 975 EXPECT_EQ(kHLSProbably, 976 CanPlay("'application/vnd.apple.mpegurl; codecs=\"vp8\"'")); 977 EXPECT_EQ(kHLSProbably, 978 CanPlay("'application/vnd.apple.mpegurl; codecs=\"vp9\"'")); 979 EXPECT_EQ(kHLSProbably, 980 CanPlay("'application/vnd.apple.mpegurl; codecs=\"vorbis\"'")); 981 982 EXPECT_EQ(kHLSProbably, 983 CanPlay("'application/vnd.apple.mpegurl; codecs=\"avc1, vorbis\"'")); 984 EXPECT_EQ(kHLSProbably, 985 CanPlay("'application/vnd.apple.mpegurl; codecs=\"avc3, vorbis\"'")); 986 EXPECT_EQ(kHLSProbably, 987 CanPlay("'application/vnd.apple.mpegurl; codecs=\"avc1.4D401E, vorbis\"'")); 988 EXPECT_EQ(kHLSProbably, 989 CanPlay("'application/vnd.apple.mpegurl; codecs=\"avc3.64001F, vorbis\"'")); 990 991 EXPECT_EQ(kHLSMaybe, 992 CanPlay("'application/vnd.apple.mpegurl; codecs=\"opus\"'")); 993 EXPECT_EQ(kHLSMaybe, 994 CanPlay("'application/vnd.apple.mpegurl; codecs=\"vp8, opus\"'")); 995 EXPECT_EQ(kHLSMaybe, 996 CanPlay("'application/vnd.apple.mpegurl; codecs=\"vp9, opus\"'")); 997 998 EXPECT_EQ(kHLSMaybe, 999 CanPlay("'application/vnd.apple.mpegurl; codecs=\"theora\"'")); 1000 EXPECT_EQ(kHLSMaybe, 1001 CanPlay("'application/vnd.apple.mpegurl; codecs=\"theora, vorbis\"'")); 1002 EXPECT_EQ(kHLSMaybe, 1003 CanPlay("'application/vnd.apple.mpegurl; codecs=\"theora, mp4a\"'")); 1004 EXPECT_EQ(kHLSMaybe, 1005 CanPlay("'application/vnd.apple.mpegurl; codecs=\"theora, mp4a.40.2\"'")); 1006 1007 EXPECT_EQ(kHLSMaybe, 1008 CanPlay("'application/vnd.apple.mpegurl; codecs=\"AVC1\"'")); 1009 EXPECT_EQ(kHLSMaybe, 1010 CanPlay("'application/vnd.apple.mpegurl; codecs=\"AVC1.4d401e\"'")); 1011 EXPECT_EQ(kHLSMaybe, 1012 CanPlay("'application/vnd.apple.mpegurl; codecs=\"AVC3\"'")); 1013 EXPECT_EQ(kHLSMaybe, 1014 CanPlay("'application/vnd.apple.mpegurl; codecs=\"AVC3.64001f\"'")); 1015 EXPECT_EQ(kHLSMaybe, 1016 CanPlay("'application/vnd.apple.mpegurl; codecs=\"MP4A\"'")); 1017 EXPECT_EQ(kHLSMaybe, 1018 CanPlay("'application/vnd.apple.mpegurl; codecs=\"MP4A.40.2\"'")); 1019 EXPECT_EQ(kHLSMaybe, 1020 CanPlay("'application/vnd.apple.mpegurl; codecs=\"AVC1, MP4\"'")); 1021 EXPECT_EQ(kHLSMaybe, 1022 CanPlay("'application/vnd.apple.mpegurl; codecs=\"AVC3, MP4\"'")); 1023 EXPECT_EQ(kHLSMaybe, 1024 CanPlay("'application/vnd.apple.mpegurl; " 1025 "codecs=\", AVC1.4D401E, MP4.40.2\"'")); 1026 EXPECT_EQ(kHLSMaybe, 1027 CanPlay("'application/vnd.apple.mpegurl; " 1028 "codecs=\", AVC3.64001F, MP4.40.2\"'")); 1029 1030 EXPECT_EQ(kHLSMaybe, 1031 CanPlay("'application/vnd.apple.mpegurl; codecs=\"avc2\"'")); 1032 EXPECT_EQ(kHLSMaybe, 1033 CanPlay("'application/vnd.apple.mpegurl; codecs=\"avc4\"'")); 1034 1035 EXPECT_EQ(kHLSMaybe, 1036 CanPlay("'application/vnd.apple.mpegurl; codecs=\"avc1x\"'")); 1037 EXPECT_EQ(kHLSMaybe, 1038 CanPlay("'application/vnd.apple.mpegurl; codecs=\"avc3x\"'")); 1039 EXPECT_EQ(kHLSMaybe, 1040 CanPlay("'application/vnd.apple.mpegurl; codecs=\"mp4ax\"'")); 1041 1042 EXPECT_EQ(kHLSMaybe, 1043 CanPlay("'application/vnd.apple.mpegurl; codecs=\"unknown\"'")); 1044 // --------------------------------------------------------------------------- 1045} 1046 1047#endif // !OS_ANDROID 1048 1049} // namespace content 1050