| OLD | NEW | 
|---|
| 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | 
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be | 
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. | 
| 4 | 4 | 
| 5 #include "base/command_line.h" | 5 #include "base/command_line.h" | 
| 6 #include "content/browser/media/media_browsertest.h" | 6 #include "content/browser/media/media_browsertest.h" | 
| 7 #include "content/public/common/content_switches.h" | 7 #include "content/public/common/content_switches.h" | 
|  | 8 #if defined(OS_ANDROID) | 
|  | 9 #include "base/android/build_info.h" | 
|  | 10 #endif | 
| 8 | 11 | 
| 9 // Common media types. | 12 // Common media types. | 
| 10 static const char kWebMAudioOnly[] = "audio/webm; codecs=\"vorbis\""; | 13 const char kWebMAudioOnly[] = "audio/webm; codecs=\"vorbis\""; | 
| 11 static const char kWebMVideoOnly[] = "video/webm; codecs=\"vp8\""; | 14 const char kWebMVideoOnly[] = "video/webm; codecs=\"vp8\""; | 
| 12 static const char kWebMAudioVideo[] = "video/webm; codecs=\"vorbis, vp8\""; | 15 const char kWebMAudioVideo[] = "video/webm; codecs=\"vorbis, vp8\""; | 
| 13 | 16 | 
| 14 namespace content { | 17 namespace content { | 
| 15 | 18 | 
|  | 19 // MSE is available on all desktop platforms and on Android 4.1 and later. | 
|  | 20 static bool IsMSESupported() { | 
|  | 21 #if defined(OS_ANDROID) | 
|  | 22   if (base::android::BuildInfo::GetInstance()->sdk_int() < 16) { | 
|  | 23     LOG(INFO) << "MSE is only supported in Android 4.1 and later."; | 
|  | 24     return false; | 
|  | 25   } | 
|  | 26 #endif  // defined(OS_ANDROID) | 
|  | 27   return true; | 
|  | 28 } | 
|  | 29 | 
| 16 class MediaSourceTest : public content::MediaBrowserTest { | 30 class MediaSourceTest : public content::MediaBrowserTest { | 
| 17  public: | 31  public: | 
| 18   void TestSimplePlayback(const char* media_file, const char* media_type, | 32   void TestSimplePlayback(const char* media_file, const char* media_type, | 
| 19                           const char* expectation) { | 33                           const char* expectation) { | 
|  | 34     if (!IsMSESupported()) { | 
|  | 35       LOG(INFO) << "Skipping test - MSE not supported."; | 
|  | 36       return; | 
|  | 37     } | 
|  | 38 | 
| 20     std::vector<StringPair> query_params; | 39     std::vector<StringPair> query_params; | 
| 21     query_params.push_back(std::make_pair("mediafile", media_file)); | 40     query_params.push_back(std::make_pair("mediafile", media_file)); | 
| 22     query_params.push_back(std::make_pair("mediatype", media_type)); | 41     query_params.push_back(std::make_pair("mediatype", media_type)); | 
| 23     RunMediaTestPage("media_source_player.html", &query_params, expectation, | 42     RunMediaTestPage("media_source_player.html", &query_params, expectation, | 
| 24                      true); | 43                      true); | 
| 25   } | 44   } | 
| 26 | 45 | 
| 27 #if defined(OS_ANDROID) | 46 #if defined(OS_ANDROID) | 
| 28   virtual void SetUpCommandLine(CommandLine* command_line) OVERRIDE { | 47   virtual void SetUpCommandLine(CommandLine* command_line) OVERRIDE { | 
| 29     command_line->AppendSwitch( | 48     command_line->AppendSwitch( | 
| (...skipping 14 matching lines...) Expand all  Loading... | 
| 44   TestSimplePlayback("bear-320x240-audio-only.webm", kWebMAudioOnly, kEnded); | 63   TestSimplePlayback("bear-320x240-audio-only.webm", kWebMAudioOnly, kEnded); | 
| 45 } | 64 } | 
| 46 | 65 | 
| 47 IN_PROC_BROWSER_TEST_F(MediaSourceTest, Playback_Type_Error) { | 66 IN_PROC_BROWSER_TEST_F(MediaSourceTest, Playback_Type_Error) { | 
| 48   TestSimplePlayback("bear-320x240-video-only.webm", kWebMAudioOnly, kError); | 67   TestSimplePlayback("bear-320x240-video-only.webm", kWebMAudioOnly, kError); | 
| 49 } | 68 } | 
| 50 | 69 | 
| 51 // Flaky test crbug.com/246308 | 70 // Flaky test crbug.com/246308 | 
| 52 // Test changed to skip checks resulting in flakiness. Proper fix still needed. | 71 // Test changed to skip checks resulting in flakiness. Proper fix still needed. | 
| 53 IN_PROC_BROWSER_TEST_F(MediaSourceTest, ConfigChangeVideo) { | 72 IN_PROC_BROWSER_TEST_F(MediaSourceTest, ConfigChangeVideo) { | 
|  | 73   if (!IsMSESupported()) { | 
|  | 74     LOG(INFO) << "Skipping test - MSE not supported."; | 
|  | 75     return; | 
|  | 76   } | 
| 54   RunMediaTestPage("mse_config_change.html", NULL, kEnded, true); | 77   RunMediaTestPage("mse_config_change.html", NULL, kEnded, true); | 
| 55 } | 78 } | 
| 56 | 79 | 
| 57 }  // namespace content | 80 }  // namespace content | 
| OLD | NEW | 
|---|