Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(388)

Side by Side Diff: content/renderer/render_frame_impl.cc

Issue 1560953002: Implement fallback from WMPI to WMPA. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Only include MediaCodecUtil on Android. Created 4 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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
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
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
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
OLDNEW
« no previous file with comments | « content/renderer/media/android/webmediaplayer_android.cc ('k') | media/base/android/media_codec_util.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698