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

Side by Side Diff: components/html_viewer/media_factory.cc

Issue 1133033003: Eliminate MediaPlayer & MediaPlayerClient abstractions (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: fixed compile error in webmediaplayer_impl Created 5 years, 5 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 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 "components/html_viewer/media_factory.h" 5 #include "components/html_viewer/media_factory.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/command_line.h" 8 #include "base/command_line.h"
9 #include "base/files/file_path.h" 9 #include "base/files/file_path.h"
10 #include "base/path_service.h" 10 #include "base/path_service.h"
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after
63 media::InitializeMediaLibrary(); 63 media::InitializeMediaLibrary();
64 } 64 }
65 65
66 MediaFactory::~MediaFactory() { 66 MediaFactory::~MediaFactory() {
67 } 67 }
68 68
69 blink::WebMediaPlayer* MediaFactory::CreateMediaPlayer( 69 blink::WebMediaPlayer* MediaFactory::CreateMediaPlayer(
70 blink::WebLocalFrame* frame, 70 blink::WebLocalFrame* frame,
71 const blink::WebURL& url, 71 const blink::WebURL& url,
72 blink::WebMediaPlayerClient* client, 72 blink::WebMediaPlayerClient* client,
73 blink::WebMediaPlayerEncryptedMediaClient* encrypted_client,
73 blink::WebContentDecryptionModule* initial_cdm, 74 blink::WebContentDecryptionModule* initial_cdm,
74 mojo::Shell* shell) { 75 mojo::Shell* shell) {
75 #if defined(OS_ANDROID) 76 #if defined(OS_ANDROID)
76 // TODO(xhwang): Get CreateMediaPlayer working on android. 77 // TODO(xhwang): Get CreateMediaPlayer working on android.
77 return nullptr; 78 return nullptr;
78 #else 79 #else
79 scoped_refptr<media::MediaLog> media_log(new media::MediaLog()); 80 scoped_refptr<media::MediaLog> media_log(new media::MediaLog());
80 scoped_ptr<media::RendererFactory> media_renderer_factory; 81 scoped_ptr<media::RendererFactory> media_renderer_factory;
81 82
82 if (enable_mojo_media_renderer_) { 83 if (enable_mojo_media_renderer_) {
83 media_renderer_factory.reset( 84 media_renderer_factory.reset(
84 new media::MojoRendererFactory(GetMediaServiceProvider())); 85 new media::MojoRendererFactory(GetMediaServiceProvider()));
85 } else { 86 } else {
86 media_renderer_factory.reset( 87 media_renderer_factory.reset(
87 new media::DefaultRendererFactory(media_log, 88 new media::DefaultRendererFactory(media_log,
88 nullptr, // No GPU factory. 89 nullptr, // No GPU factory.
89 GetAudioHardwareConfig())); 90 GetAudioHardwareConfig()));
90 } 91 }
91 92
92 media::WebMediaPlayerParams params( 93 media::WebMediaPlayerParams params(
93 media::WebMediaPlayerParams::DeferLoadCB(), CreateAudioRendererSink(), 94 media::WebMediaPlayerParams::DeferLoadCB(), CreateAudioRendererSink(),
94 media_log, GetMediaThreadTaskRunner(), compositor_task_runner_, 95 media_log, GetMediaThreadTaskRunner(), compositor_task_runner_,
95 media::WebMediaPlayerParams::Context3DCB(), GetMediaPermission(), 96 media::WebMediaPlayerParams::Context3DCB(), GetMediaPermission(),
96 initial_cdm); 97 initial_cdm);
97 base::WeakPtr<media::WebMediaPlayerDelegate> delegate; 98 base::WeakPtr<media::WebMediaPlayerDelegate> delegate;
98 99
99 return new media::WebMediaPlayerImpl(frame, client, delegate, 100 return new media::WebMediaPlayerImpl(frame, client, encrypted_client,
100 media_renderer_factory.Pass(), 101 delegate, media_renderer_factory.Pass(),
101 GetCdmFactory(), params); 102 GetCdmFactory(), params);
102 #endif // defined(OS_ANDROID) 103 #endif // defined(OS_ANDROID)
103 } 104 }
104 105
105 blink::WebEncryptedMediaClient* MediaFactory::GetEncryptedMediaClient() { 106 blink::WebEncryptedMediaClient* MediaFactory::GetEncryptedMediaClient() {
106 if (!web_encrypted_media_client_) { 107 if (!web_encrypted_media_client_) {
107 web_encrypted_media_client_.reset(new media::WebEncryptedMediaClientImpl( 108 web_encrypted_media_client_.reset(new media::WebEncryptedMediaClientImpl(
108 base::Bind(&AreSecureCodecsSupported), GetCdmFactory(), 109 base::Bind(&AreSecureCodecsSupported), GetCdmFactory(),
109 GetMediaPermission())); 110 GetMediaPermission()));
110 } 111 }
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
153 scoped_refptr<base::SingleThreadTaskRunner> 154 scoped_refptr<base::SingleThreadTaskRunner>
154 MediaFactory::GetMediaThreadTaskRunner() { 155 MediaFactory::GetMediaThreadTaskRunner() {
155 if (!media_thread_.IsRunning()) 156 if (!media_thread_.IsRunning())
156 media_thread_.Start(); 157 media_thread_.Start();
157 158
158 return media_thread_.task_runner(); 159 return media_thread_.task_runner();
159 } 160 }
160 #endif // !defined(OS_ANDROID) 161 #endif // !defined(OS_ANDROID)
161 162
162 } // namespace html_viewer 163 } // namespace html_viewer
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698