| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include <string> | 5 #include <string> |
| 6 #include <vector> | 6 #include <vector> |
| 7 | 7 |
| 8 #include "testing/gtest/include/gtest/gtest.h" | 8 #include "testing/gtest/include/gtest/gtest.h" |
| 9 #include "third_party/WebKit/Source/WebKit/chromium/public/platform/WebString.h" | 9 #include "third_party/WebKit/Source/WebKit/chromium/public/platform/WebString.h" |
| 10 #include "webkit/media/crypto/key_systems.h" | 10 #include "webkit/media/crypto/key_systems.h" |
| (...skipping 198 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 209 // Valid video types. | 209 // Valid video types. |
| 210 EXPECT_TRUE(IsSupportedKeySystemWithMediaMimeType( | 210 EXPECT_TRUE(IsSupportedKeySystemWithMediaMimeType( |
| 211 "video/webm", no_codecs(), kClearKey)); | 211 "video/webm", no_codecs(), kClearKey)); |
| 212 // The parent should be supported but is not. See http://crbug.com/164303. | 212 // The parent should be supported but is not. See http://crbug.com/164303. |
| 213 EXPECT_FALSE(IsSupportedKeySystemWithMediaMimeType( | 213 EXPECT_FALSE(IsSupportedKeySystemWithMediaMimeType( |
| 214 "video/webm", no_codecs(), "webkit-org.w3")); | 214 "video/webm", no_codecs(), "webkit-org.w3")); |
| 215 EXPECT_TRUE(IsSupportedKeySystemWithMediaMimeType( | 215 EXPECT_TRUE(IsSupportedKeySystemWithMediaMimeType( |
| 216 "video/webm", vp8_codec(), kClearKey)); | 216 "video/webm", vp8_codec(), kClearKey)); |
| 217 EXPECT_TRUE(IsSupportedKeySystemWithMediaMimeType( | 217 EXPECT_TRUE(IsSupportedKeySystemWithMediaMimeType( |
| 218 "video/webm", vp80_codec(), kClearKey)); | 218 "video/webm", vp80_codec(), kClearKey)); |
| 219 // These two should be true. See http://crbug.com/123421. | 219 EXPECT_TRUE(IsSupportedKeySystemWithMediaMimeType( |
| 220 EXPECT_FALSE(IsSupportedKeySystemWithMediaMimeType( | |
| 221 "video/webm", vp8_and_vorbis_codecs(), kClearKey)); | 220 "video/webm", vp8_and_vorbis_codecs(), kClearKey)); |
| 222 EXPECT_FALSE(IsSupportedKeySystemWithMediaMimeType( | 221 EXPECT_TRUE(IsSupportedKeySystemWithMediaMimeType( |
| 223 "video/webm", vorbis_codec(), kClearKey)); | 222 "video/webm", vorbis_codec(), kClearKey)); |
| 224 | 223 |
| 225 // Non-Webm codecs. | 224 // Non-Webm codecs. |
| 226 EXPECT_FALSE(IsSupportedKeySystemWithMediaMimeType( | 225 EXPECT_FALSE(IsSupportedKeySystemWithMediaMimeType( |
| 227 "video/webm", avc1_codec(), kClearKey)); | 226 "video/webm", avc1_codec(), kClearKey)); |
| 228 EXPECT_FALSE(IsSupportedKeySystemWithMediaMimeType( | 227 EXPECT_FALSE(IsSupportedKeySystemWithMediaMimeType( |
| 229 "video/webm", unknown_codec(), kClearKey)); | 228 "video/webm", unknown_codec(), kClearKey)); |
| 230 EXPECT_FALSE(IsSupportedKeySystemWithMediaMimeType( | 229 EXPECT_FALSE(IsSupportedKeySystemWithMediaMimeType( |
| 231 "video/webm", mixed_codecs(), kClearKey)); | 230 "video/webm", mixed_codecs(), kClearKey)); |
| 232 | 231 |
| 233 // Valid audio types. | 232 // Valid audio types. |
| 234 // Should be true. See http://crbug.com/123421. | 233 EXPECT_TRUE(IsSupportedKeySystemWithMediaMimeType( |
| 235 EXPECT_FALSE(IsSupportedKeySystemWithMediaMimeType( | |
| 236 "audio/webm", no_codecs(), kClearKey)); | 234 "audio/webm", no_codecs(), kClearKey)); |
| 237 EXPECT_FALSE(IsSupportedKeySystemWithMediaMimeType( | 235 EXPECT_TRUE(IsSupportedKeySystemWithMediaMimeType( |
| 238 "audio/webm", vorbis_codec(), kClearKey)); | 236 "audio/webm", vorbis_codec(), kClearKey)); |
| 239 | 237 |
| 240 // Non-audio codecs. | 238 // Non-audio codecs. |
| 241 EXPECT_FALSE(IsSupportedKeySystemWithMediaMimeType( | 239 EXPECT_FALSE(IsSupportedKeySystemWithMediaMimeType( |
| 242 "audio/webm", vp8_codec(), kClearKey)); | 240 "audio/webm", vp8_codec(), kClearKey)); |
| 243 EXPECT_FALSE(IsSupportedKeySystemWithMediaMimeType( | 241 EXPECT_FALSE(IsSupportedKeySystemWithMediaMimeType( |
| 244 "audio/webm", vp8_and_vorbis_codecs(), kClearKey)); | 242 "audio/webm", vp8_and_vorbis_codecs(), kClearKey)); |
| 245 | 243 |
| 246 // Non-Webm codec. | 244 // Non-Webm codec. |
| 247 EXPECT_FALSE(IsSupportedKeySystemWithMediaMimeType( | 245 EXPECT_FALSE(IsSupportedKeySystemWithMediaMimeType( |
| 248 "audio/webm", aac_codec(), kClearKey)); | 246 "audio/webm", aac_codec(), kClearKey)); |
| 249 } | 247 } |
| 250 | 248 |
| 251 TEST_F(KeySystemsTest, IsSupportedKeySystemWithMediaMimeType_ClearKey_MP4) { | 249 TEST_F(KeySystemsTest, IsSupportedKeySystemWithMediaMimeType_ClearKey_MP4) { |
| 252 // Valid video types. | 250 // Valid video types. |
| 253 EXPECT_PROPRIETARY(IsSupportedKeySystemWithMediaMimeType( | 251 EXPECT_PROPRIETARY(IsSupportedKeySystemWithMediaMimeType( |
| 254 "video/mp4", no_codecs(), kClearKey)); | 252 "video/mp4", no_codecs(), kClearKey)); |
| 255 // The parent should be supported but is not. See http://crbug.com/164303. | 253 // The parent should be supported but is not. See http://crbug.com/164303. |
| 256 EXPECT_FALSE(IsSupportedKeySystemWithMediaMimeType( | 254 EXPECT_FALSE(IsSupportedKeySystemWithMediaMimeType( |
| 257 "video/mp4", no_codecs(), "webkit-org.w3")); | 255 "video/mp4", no_codecs(), "webkit-org.w3")); |
| 258 EXPECT_PROPRIETARY(IsSupportedKeySystemWithMediaMimeType( | 256 EXPECT_PROPRIETARY(IsSupportedKeySystemWithMediaMimeType( |
| 259 "video/mp4", avc1_codec(), kClearKey)); | 257 "video/mp4", avc1_codec(), kClearKey)); |
| 260 // These two should be true. See http://crbug.com/123421. | 258 EXPECT_PROPRIETARY(IsSupportedKeySystemWithMediaMimeType( |
| 261 EXPECT_FALSE(IsSupportedKeySystemWithMediaMimeType( | |
| 262 "video/mp4", avc1_and_aac_codecs(), kClearKey)); | 259 "video/mp4", avc1_and_aac_codecs(), kClearKey)); |
| 263 EXPECT_FALSE(IsSupportedKeySystemWithMediaMimeType( | 260 EXPECT_PROPRIETARY(IsSupportedKeySystemWithMediaMimeType( |
| 264 "video/mp4", aac_codec(), kClearKey)); | 261 "video/mp4", aac_codec(), kClearKey)); |
| 265 | 262 |
| 266 // Extended codecs fail because this is handled by SimpleWebMimeRegistryImpl. | 263 // Extended codecs fail because this is handled by SimpleWebMimeRegistryImpl. |
| 267 // They should really pass canPlayType(). | 264 // They should really pass canPlayType(). |
| 268 EXPECT_FALSE(IsSupportedKeySystemWithMediaMimeType( | 265 EXPECT_FALSE(IsSupportedKeySystemWithMediaMimeType( |
| 269 "video/mp4", avc1_extended_codec(), kClearKey)); | 266 "video/mp4", avc1_extended_codec(), kClearKey)); |
| 270 | 267 |
| 271 // Invalid codec format. | 268 // Invalid codec format. |
| 272 EXPECT_FALSE(IsSupportedKeySystemWithMediaMimeType( | 269 EXPECT_FALSE(IsSupportedKeySystemWithMediaMimeType( |
| 273 "video/mp4", avc1_dot_codec(), kClearKey)); | 270 "video/mp4", avc1_dot_codec(), kClearKey)); |
| 274 | 271 |
| 275 // Non-MP4 codecs. | 272 // Non-MP4 codecs. |
| 276 EXPECT_FALSE(IsSupportedKeySystemWithMediaMimeType( | 273 EXPECT_FALSE(IsSupportedKeySystemWithMediaMimeType( |
| 277 "video/mp4", avc2_codec(), kClearKey)); | 274 "video/mp4", avc2_codec(), kClearKey)); |
| 278 EXPECT_FALSE(IsSupportedKeySystemWithMediaMimeType( | 275 EXPECT_FALSE(IsSupportedKeySystemWithMediaMimeType( |
| 279 "video/mp4", vp8_codec(), kClearKey)); | 276 "video/mp4", vp8_codec(), kClearKey)); |
| 280 EXPECT_FALSE(IsSupportedKeySystemWithMediaMimeType( | 277 EXPECT_FALSE(IsSupportedKeySystemWithMediaMimeType( |
| 281 "video/mp4", unknown_codec(), kClearKey)); | 278 "video/mp4", unknown_codec(), kClearKey)); |
| 282 EXPECT_FALSE(IsSupportedKeySystemWithMediaMimeType( | 279 EXPECT_FALSE(IsSupportedKeySystemWithMediaMimeType( |
| 283 "video/mp4", mixed_codecs(), kClearKey)); | 280 "video/mp4", mixed_codecs(), kClearKey)); |
| 284 | 281 |
| 285 // Valid audio types. | 282 // Valid audio types. |
| 286 // Should be true. See http://crbug.com/123421. | 283 EXPECT_PROPRIETARY(IsSupportedKeySystemWithMediaMimeType( |
| 287 EXPECT_FALSE(IsSupportedKeySystemWithMediaMimeType( | |
| 288 "audio/mp4", no_codecs(), kClearKey)); | 284 "audio/mp4", no_codecs(), kClearKey)); |
| 289 EXPECT_FALSE(IsSupportedKeySystemWithMediaMimeType( | 285 EXPECT_PROPRIETARY(IsSupportedKeySystemWithMediaMimeType( |
| 290 "audio/mp4", aac_codec(), kClearKey)); | 286 "audio/mp4", aac_codec(), kClearKey)); |
| 291 | 287 |
| 292 // Non-audio codecs. | 288 // Non-audio codecs. |
| 293 EXPECT_FALSE(IsSupportedKeySystemWithMediaMimeType( | 289 EXPECT_FALSE(IsSupportedKeySystemWithMediaMimeType( |
| 294 "audio/mp4", avc1_codec(), kClearKey)); | 290 "audio/mp4", avc1_codec(), kClearKey)); |
| 295 EXPECT_FALSE(IsSupportedKeySystemWithMediaMimeType( | 291 EXPECT_FALSE(IsSupportedKeySystemWithMediaMimeType( |
| 296 "audio/mp4", avc1_and_aac_codecs(), kClearKey)); | 292 "audio/mp4", avc1_and_aac_codecs(), kClearKey)); |
| 297 | 293 |
| 298 // Non-MP4 codec. | 294 // Non-MP4 codec. |
| 299 EXPECT_FALSE(IsSupportedKeySystemWithMediaMimeType( | 295 EXPECT_FALSE(IsSupportedKeySystemWithMediaMimeType( |
| (...skipping 365 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 665 "audio/mp4", avc1_codec(), kWidevineAlpha)); | 661 "audio/mp4", avc1_codec(), kWidevineAlpha)); |
| 666 EXPECT_FALSE(IsSupportedKeySystemWithMediaMimeType( | 662 EXPECT_FALSE(IsSupportedKeySystemWithMediaMimeType( |
| 667 "audio/mp4", avc1_and_aac_codecs(), kWidevineAlpha)); | 663 "audio/mp4", avc1_and_aac_codecs(), kWidevineAlpha)); |
| 668 | 664 |
| 669 // Non-MP4 codec. | 665 // Non-MP4 codec. |
| 670 EXPECT_FALSE(IsSupportedKeySystemWithMediaMimeType( | 666 EXPECT_FALSE(IsSupportedKeySystemWithMediaMimeType( |
| 671 "audio/mp4", vorbis_codec(), kWidevineAlpha)); | 667 "audio/mp4", vorbis_codec(), kWidevineAlpha)); |
| 672 } | 668 } |
| 673 | 669 |
| 674 } // namespace webkit_media | 670 } // namespace webkit_media |
| OLD | NEW |