OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 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 "content/renderer/render_frame_impl.h" | 5 #include "content/renderer/render_frame_impl.h" |
6 | 6 |
7 #include <map> | 7 #include <map> |
8 #include <string> | 8 #include <string> |
9 #include <utility> | 9 #include <utility> |
10 #include <vector> | 10 #include <vector> |
(...skipping 182 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
193 #include <cpu-features.h> | 193 #include <cpu-features.h> |
194 | 194 |
195 #include "content/common/gpu/client/context_provider_command_buffer.h" | 195 #include "content/common/gpu/client/context_provider_command_buffer.h" |
196 #include "content/renderer/android/synchronous_compositor_factory.h" | 196 #include "content/renderer/android/synchronous_compositor_factory.h" |
197 #include "content/renderer/java/gin_java_bridge_dispatcher.h" | 197 #include "content/renderer/java/gin_java_bridge_dispatcher.h" |
198 #include "content/renderer/media/android/renderer_media_player_manager.h" | 198 #include "content/renderer/media/android/renderer_media_player_manager.h" |
199 #include "content/renderer/media/android/renderer_media_session_manager.h" | 199 #include "content/renderer/media/android/renderer_media_session_manager.h" |
200 #include "content/renderer/media/android/stream_texture_factory_impl.h" | 200 #include "content/renderer/media/android/stream_texture_factory_impl.h" |
201 #include "content/renderer/media/android/webmediaplayer_android.h" | 201 #include "content/renderer/media/android/webmediaplayer_android.h" |
202 #include "content/renderer/media/android/webmediasession_android.h" | 202 #include "content/renderer/media/android/webmediasession_android.h" |
| 203 #include "media/base/android/media_codec_util.h" |
203 #else | 204 #else |
204 #include "cc/blink/context_provider_web_context.h" | 205 #include "cc/blink/context_provider_web_context.h" |
205 #include "device/devices_app/public/cpp/constants.h" | 206 #include "device/devices_app/public/cpp/constants.h" |
206 #endif | 207 #endif |
207 | 208 |
208 #if defined(ENABLE_PEPPER_CDMS) | 209 #if defined(ENABLE_PEPPER_CDMS) |
209 #include "content/renderer/media/cdm/pepper_cdm_wrapper_impl.h" | 210 #include "content/renderer/media/cdm/pepper_cdm_wrapper_impl.h" |
210 #elif defined(ENABLE_BROWSER_CDMS) | 211 #elif defined(ENABLE_BROWSER_CDMS) |
211 #include "content/renderer/media/cdm/renderer_cdm_manager.h" | 212 #include "content/renderer/media/cdm/renderer_cdm_manager.h" |
212 #endif | 213 #endif |
(...skipping 2141 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2354 static_cast<RenderFrame*>(this), | 2355 static_cast<RenderFrame*>(this), |
2355 GetWebMediaPlayerDelegate()->has_played_media()), | 2356 GetWebMediaPlayerDelegate()->has_played_media()), |
2356 audio_renderer_sink, media_log, render_thread->GetMediaThreadTaskRunner(), | 2357 audio_renderer_sink, media_log, render_thread->GetMediaThreadTaskRunner(), |
2357 render_thread->GetWorkerTaskRunner(), | 2358 render_thread->GetWorkerTaskRunner(), |
2358 render_thread->compositor_task_runner(), context_3d_cb, | 2359 render_thread->compositor_task_runner(), context_3d_cb, |
2359 base::Bind(&v8::Isolate::AdjustAmountOfExternalAllocatedMemory, | 2360 base::Bind(&v8::Isolate::AdjustAmountOfExternalAllocatedMemory, |
2360 base::Unretained(blink::mainThreadIsolate())), | 2361 base::Unretained(blink::mainThreadIsolate())), |
2361 GetMediaPermission(), initial_cdm); | 2362 GetMediaPermission(), initial_cdm); |
2362 | 2363 |
2363 #if defined(OS_ANDROID) | 2364 #if defined(OS_ANDROID) |
| 2365 // We must use WMPA in when accelerated video decode is disabled becuase WMPI |
| 2366 // is unlikely to have a fallback decoder. |
2364 if (!base::CommandLine::ForCurrentProcess()->HasSwitch( | 2367 if (!base::CommandLine::ForCurrentProcess()->HasSwitch( |
2365 switches::kEnableUnifiedMediaPipeline)) { | 2368 switches::kEnableUnifiedMediaPipeline) || |
2366 // TODO(sandersd): This check should be grown to include HLS and blacklist | 2369 base::CommandLine::ForCurrentProcess()->HasSwitch( |
2367 // checks. http://crbug.com/516765 | 2370 switches::kDisableAcceleratedVideoDecode) || |
| 2371 !media::MediaCodecUtil::IsMediaCodecAvailable() || |
| 2372 media::MediaCodecUtil::IsHLSPath(url)) { |
2368 return CreateAndroidWebMediaPlayer(client, encrypted_client, params); | 2373 return CreateAndroidWebMediaPlayer(client, encrypted_client, params); |
2369 } | 2374 } |
2370 #endif // defined(OS_ANDROID) | 2375 #endif // defined(OS_ANDROID) |
2371 | 2376 |
2372 #if defined(ENABLE_MOJO_MEDIA) && !defined(OS_ANDROID) | 2377 #if defined(ENABLE_MOJO_MEDIA) && !defined(OS_ANDROID) |
2373 scoped_ptr<media::RendererFactory> media_renderer_factory( | 2378 scoped_ptr<media::RendererFactory> media_renderer_factory( |
2374 new media::MojoRendererFactory(GetMediaServiceFactory())); | 2379 new media::MojoRendererFactory(GetMediaServiceFactory())); |
2375 #else | 2380 #else |
2376 scoped_ptr<media::RendererFactory> media_renderer_factory = | 2381 scoped_ptr<media::RendererFactory> media_renderer_factory = |
2377 GetContentClient()->renderer()->CreateMediaRendererFactory( | 2382 GetContentClient()->renderer()->CreateMediaRendererFactory( |
(...skipping 3306 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5684 media::ConvertToSwitchOutputDeviceCB(web_callbacks); | 5689 media::ConvertToSwitchOutputDeviceCB(web_callbacks); |
5685 scoped_refptr<media::AudioOutputDevice> device = | 5690 scoped_refptr<media::AudioOutputDevice> device = |
5686 AudioDeviceFactory::NewOutputDevice(routing_id_, 0, sink_id.utf8(), | 5691 AudioDeviceFactory::NewOutputDevice(routing_id_, 0, sink_id.utf8(), |
5687 security_origin); | 5692 security_origin); |
5688 media::OutputDeviceStatus status = device->GetDeviceStatus(); | 5693 media::OutputDeviceStatus status = device->GetDeviceStatus(); |
5689 device->Stop(); | 5694 device->Stop(); |
5690 callback.Run(status); | 5695 callback.Run(status); |
5691 } | 5696 } |
5692 | 5697 |
5693 } // namespace content | 5698 } // namespace content |
OLD | NEW |