| Index: content/renderer/render_frame_impl.cc
|
| diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_frame_impl.cc
|
| index 9ea32c42984c04e9f13f96ab843861983d9c65d7..30bafb5703d9f1064ae54bc3e523260c4e816c75 100644
|
| --- a/content/renderer/render_frame_impl.cc
|
| +++ b/content/renderer/render_frame_impl.cc
|
| @@ -200,6 +200,7 @@
|
| #include "content/renderer/media/android/stream_texture_factory_impl.h"
|
| #include "content/renderer/media/android/webmediaplayer_android.h"
|
| #include "content/renderer/media/android/webmediasession_android.h"
|
| +#include "media/base/android/media_codec_util.h"
|
| #else
|
| #include "cc/blink/context_provider_web_context.h"
|
| #include "device/devices_app/public/cpp/constants.h"
|
| @@ -2361,10 +2362,14 @@ blink::WebMediaPlayer* RenderFrameImpl::createMediaPlayer(
|
| GetMediaPermission(), initial_cdm);
|
|
|
| #if defined(OS_ANDROID)
|
| + // We must use WMPA in when accelerated video decode is disabled becuase WMPI
|
| + // is unlikely to have a fallback decoder.
|
| if (!base::CommandLine::ForCurrentProcess()->HasSwitch(
|
| - switches::kEnableUnifiedMediaPipeline)) {
|
| - // TODO(sandersd): This check should be grown to include HLS and blacklist
|
| - // checks. http://crbug.com/516765
|
| + switches::kEnableUnifiedMediaPipeline) ||
|
| + base::CommandLine::ForCurrentProcess()->HasSwitch(
|
| + switches::kDisableAcceleratedVideoDecode) ||
|
| + !media::MediaCodecUtil::IsMediaCodecAvailable() ||
|
| + media::MediaCodecUtil::IsHLSPath(url)) {
|
| return CreateAndroidWebMediaPlayer(client, encrypted_client, params);
|
| }
|
| #endif // defined(OS_ANDROID)
|
|
|