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

Side by Side Diff: content/renderer/media/webmediaplayer_proxy_impl_android.cc

Issue 17502007: Move webkit/renderer/media/android/ to content/renderer/media/android/. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fix shared lib Created 7 years, 6 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 | Annotate | Revision Log
OLDNEW
(Empty)
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #include "content/renderer/media/webmediaplayer_proxy_impl_android.h"
6
7 #include "base/bind.h"
8 #include "base/message_loop.h"
9 #include "content/common/media/media_player_messages_android.h"
10 #include "webkit/renderer/media/android/webmediaplayer_android.h"
11 #include "webkit/renderer/media/android/webmediaplayer_manager_android.h"
12
13 namespace content {
14
15 WebMediaPlayerProxyImplAndroid::WebMediaPlayerProxyImplAndroid(
16 RenderView* render_view,
17 webkit_media::WebMediaPlayerManagerAndroid* manager)
18 : RenderViewObserver(render_view),
19 manager_(manager) {
20 }
21
22 WebMediaPlayerProxyImplAndroid::~WebMediaPlayerProxyImplAndroid() {
23 Send(new MediaPlayerHostMsg_DestroyAllMediaPlayers(routing_id()));
24 }
25
26 bool WebMediaPlayerProxyImplAndroid::OnMessageReceived(
27 const IPC::Message& msg) {
28 bool handled = true;
29 IPC_BEGIN_MESSAGE_MAP(WebMediaPlayerProxyImplAndroid, msg)
30 IPC_MESSAGE_HANDLER(MediaPlayerMsg_MediaMetadataChanged,
31 OnMediaMetadataChanged)
32 IPC_MESSAGE_HANDLER(MediaPlayerMsg_MediaPlaybackCompleted,
33 OnMediaPlaybackCompleted)
34 IPC_MESSAGE_HANDLER(MediaPlayerMsg_MediaBufferingUpdate,
35 OnMediaBufferingUpdate)
36 IPC_MESSAGE_HANDLER(MediaPlayerMsg_MediaSeekCompleted, OnMediaSeekCompleted)
37 IPC_MESSAGE_HANDLER(MediaPlayerMsg_MediaError, OnMediaError)
38 IPC_MESSAGE_HANDLER(MediaPlayerMsg_MediaVideoSizeChanged,
39 OnVideoSizeChanged)
40 IPC_MESSAGE_HANDLER(MediaPlayerMsg_MediaTimeUpdate, OnTimeUpdate)
41 IPC_MESSAGE_HANDLER(MediaPlayerMsg_MediaPlayerReleased,
42 OnMediaPlayerReleased)
43 IPC_MESSAGE_HANDLER(MediaPlayerMsg_DidEnterFullscreen, OnDidEnterFullscreen)
44 IPC_MESSAGE_HANDLER(MediaPlayerMsg_DidExitFullscreen, OnDidExitFullscreen)
45 IPC_MESSAGE_HANDLER(MediaPlayerMsg_DidMediaPlayerPlay, OnPlayerPlay)
46 IPC_MESSAGE_HANDLER(MediaPlayerMsg_DidMediaPlayerPause, OnPlayerPause)
47 IPC_MESSAGE_HANDLER(MediaPlayerMsg_ReadFromDemuxer, OnReadFromDemuxer)
48 IPC_MESSAGE_HANDLER(MediaPlayerMsg_MediaSeekRequest, OnMediaSeekRequest)
49 IPC_MESSAGE_HANDLER(MediaPlayerMsg_MediaConfigRequest, OnMediaConfigRequest)
50 IPC_MESSAGE_HANDLER(MediaKeysMsg_KeyAdded, OnKeyAdded)
51 IPC_MESSAGE_HANDLER(MediaKeysMsg_KeyError, OnKeyError)
52 IPC_MESSAGE_HANDLER(MediaKeysMsg_KeyMessage, OnKeyMessage)
53 IPC_MESSAGE_UNHANDLED(handled = false)
54 IPC_END_MESSAGE_MAP()
55 return handled;
56 }
57
58 void WebMediaPlayerProxyImplAndroid::Initialize(
59 int player_id,
60 const GURL& url,
61 media::MediaPlayerAndroid::SourceType source_type,
62 const GURL& first_party_for_cookies) {
63 Send(new MediaPlayerHostMsg_MediaPlayerInitialize(routing_id(),
64 player_id,
65 url,
66 source_type,
67 first_party_for_cookies));
68 }
69
70 void WebMediaPlayerProxyImplAndroid::Start(int player_id) {
71 Send(new MediaPlayerHostMsg_MediaPlayerStart(routing_id(), player_id));
72 }
73
74 void WebMediaPlayerProxyImplAndroid::Pause(int player_id) {
75 Send(new MediaPlayerHostMsg_MediaPlayerPause(routing_id(), player_id));
76 }
77
78 void WebMediaPlayerProxyImplAndroid::Seek(int player_id, base::TimeDelta time) {
79 Send(new MediaPlayerHostMsg_MediaPlayerSeek(routing_id(), player_id, time));
80 }
81
82 void WebMediaPlayerProxyImplAndroid::ReleaseResources(int player_id) {
83 Send(new MediaPlayerHostMsg_MediaPlayerRelease(routing_id(), player_id));
84 }
85
86 void WebMediaPlayerProxyImplAndroid::DestroyPlayer(int player_id) {
87 Send(new MediaPlayerHostMsg_DestroyMediaPlayer(routing_id(), player_id));
88 }
89
90 void WebMediaPlayerProxyImplAndroid::OnMediaMetadataChanged(
91 int player_id,
92 base::TimeDelta duration,
93 int width,
94 int height,
95 bool success) {
96 webkit_media::WebMediaPlayerAndroid* player = GetWebMediaPlayer(player_id);
97 if (player)
98 player->OnMediaMetadataChanged(duration, width, height, success);
99 }
100
101 void WebMediaPlayerProxyImplAndroid::OnMediaPlaybackCompleted(int player_id) {
102 webkit_media::WebMediaPlayerAndroid* player = GetWebMediaPlayer(player_id);
103 if (player)
104 player->OnPlaybackComplete();
105 }
106
107 void WebMediaPlayerProxyImplAndroid::OnMediaBufferingUpdate(int player_id,
108 int percent) {
109 webkit_media::WebMediaPlayerAndroid* player = GetWebMediaPlayer(player_id);
110 if (player)
111 player->OnBufferingUpdate(percent);
112 }
113
114 void WebMediaPlayerProxyImplAndroid::OnMediaSeekCompleted(
115 int player_id, base::TimeDelta current_time) {
116 webkit_media::WebMediaPlayerAndroid* player = GetWebMediaPlayer(player_id);
117 if (player)
118 player->OnSeekComplete(current_time);
119 }
120
121 void WebMediaPlayerProxyImplAndroid::OnMediaError(int player_id, int error) {
122 webkit_media::WebMediaPlayerAndroid* player = GetWebMediaPlayer(player_id);
123 if (player)
124 player->OnMediaError(error);
125 }
126
127 void WebMediaPlayerProxyImplAndroid::OnVideoSizeChanged(
128 int player_id, int width, int height) {
129 webkit_media::WebMediaPlayerAndroid* player = GetWebMediaPlayer(player_id);
130 if (player)
131 player->OnVideoSizeChanged(width, height);
132 }
133
134 void WebMediaPlayerProxyImplAndroid::OnTimeUpdate(
135 int player_id, base::TimeDelta current_time) {
136 webkit_media::WebMediaPlayerAndroid* player = GetWebMediaPlayer(player_id);
137 if (player)
138 player->OnTimeUpdate(current_time);
139 }
140
141 void WebMediaPlayerProxyImplAndroid::OnMediaPlayerReleased(int player_id) {
142 webkit_media::WebMediaPlayerAndroid* player = GetWebMediaPlayer(player_id);
143 if (player)
144 player->OnPlayerReleased();
145 }
146
147 void WebMediaPlayerProxyImplAndroid::OnDidEnterFullscreen(int player_id) {
148 webkit_media::WebMediaPlayerAndroid* player = GetWebMediaPlayer(player_id);
149 if (player)
150 player->OnDidEnterFullscreen();
151 }
152
153 void WebMediaPlayerProxyImplAndroid::OnDidExitFullscreen(int player_id) {
154 webkit_media::WebMediaPlayerAndroid* player = GetWebMediaPlayer(player_id);
155 if (player)
156 player->OnDidExitFullscreen();
157 }
158
159 void WebMediaPlayerProxyImplAndroid::OnPlayerPlay(int player_id) {
160 webkit_media::WebMediaPlayerAndroid* player = GetWebMediaPlayer(player_id);
161 if (player)
162 player->OnMediaPlayerPlay();
163 }
164
165 void WebMediaPlayerProxyImplAndroid::OnPlayerPause(int player_id) {
166 webkit_media::WebMediaPlayerAndroid* player = GetWebMediaPlayer(player_id);
167 if (player)
168 player->OnMediaPlayerPause();
169 }
170
171 void WebMediaPlayerProxyImplAndroid::EnterFullscreen(int player_id) {
172 Send(new MediaPlayerHostMsg_EnterFullscreen(routing_id(), player_id));
173 }
174
175 void WebMediaPlayerProxyImplAndroid::ExitFullscreen(int player_id) {
176 Send(new MediaPlayerHostMsg_ExitFullscreen(routing_id(), player_id));
177 }
178
179 void WebMediaPlayerProxyImplAndroid::ReadFromDemuxerAck(
180 int player_id,
181 const media::MediaPlayerHostMsg_ReadFromDemuxerAck_Params& params) {
182 Send(new MediaPlayerHostMsg_ReadFromDemuxerAck(
183 routing_id(), player_id, params));
184 }
185
186 void WebMediaPlayerProxyImplAndroid::InitializeCDM(
187 int media_keys_id,
188 const std::vector<uint8>& uuid) {
189 Send(new MediaKeysHostMsg_InitializeCDM(routing_id(), media_keys_id, uuid));
190 }
191
192 void WebMediaPlayerProxyImplAndroid::GenerateKeyRequest(
193 int media_keys_id,
194 const std::string& type,
195 const std::vector<uint8>& init_data) {
196 Send(new MediaKeysHostMsg_GenerateKeyRequest(
197 routing_id(), media_keys_id, type, init_data));
198 }
199
200 void WebMediaPlayerProxyImplAndroid::AddKey(int media_keys_id,
201 const std::vector<uint8>& key,
202 const std::vector<uint8>& init_data,
203 const std::string& session_id) {
204 Send(new MediaKeysHostMsg_AddKey(
205 routing_id(), media_keys_id, key, init_data, session_id));
206 }
207
208 void WebMediaPlayerProxyImplAndroid::CancelKeyRequest(
209 int media_keys_id,
210 const std::string& session_id) {
211 Send(new MediaKeysHostMsg_CancelKeyRequest(
212 routing_id(), media_keys_id, session_id));
213 }
214
215 #if defined(GOOGLE_TV)
216 void WebMediaPlayerProxyImplAndroid::RequestExternalSurface(
217 int player_id, const gfx::RectF& geometry) {
218 Send(new MediaPlayerHostMsg_NotifyExternalSurface(
219 routing_id(), player_id, true, geometry));
220 }
221
222 void WebMediaPlayerProxyImplAndroid::DidCommitCompositorFrame() {
223 std::map<int, gfx::RectF> geometry_change;
224 manager_->RetrieveGeometryChanges(&geometry_change);
225 for (std::map<int, gfx::RectF>::iterator it = geometry_change.begin();
226 it != geometry_change.end();
227 ++it) {
228 Send(new MediaPlayerHostMsg_NotifyExternalSurface(
229 routing_id(), it->first, false, it->second));
230 }
231 }
232 #endif
233
234 void WebMediaPlayerProxyImplAndroid::OnReadFromDemuxer(
235 int player_id,
236 media::DemuxerStream::Type type,
237 bool seek_done) {
238 webkit_media::WebMediaPlayerAndroid* player = GetWebMediaPlayer(player_id);
239 if (player)
240 player->OnReadFromDemuxer(type, seek_done);
241 }
242
243 void WebMediaPlayerProxyImplAndroid::DemuxerReady(
244 int player_id,
245 const media::MediaPlayerHostMsg_DemuxerReady_Params& params) {
246 Send(new MediaPlayerHostMsg_DemuxerReady(routing_id(), player_id, params));
247 }
248
249 void WebMediaPlayerProxyImplAndroid::DurationChanged(
250 int player_id, const base::TimeDelta& duration) {
251 Send(new MediaPlayerHostMsg_DurationChanged(
252 routing_id(), player_id, duration));
253 }
254
255 webkit_media::WebMediaPlayerAndroid*
256 WebMediaPlayerProxyImplAndroid::GetWebMediaPlayer(int player_id) {
257 return static_cast<webkit_media::WebMediaPlayerAndroid*>(
258 manager_->GetMediaPlayer(player_id));
259 }
260
261 void WebMediaPlayerProxyImplAndroid::OnMediaSeekRequest(
262 int player_id, base::TimeDelta time_to_seek, unsigned seek_request_id) {
263 webkit_media::WebMediaPlayerAndroid* player = GetWebMediaPlayer(player_id);
264 if (player) {
265 Send(new MediaPlayerHostMsg_MediaSeekRequestAck(routing_id(), player_id,
266 seek_request_id));
267 player->OnMediaSeekRequest(time_to_seek);
268 }
269 }
270
271 void WebMediaPlayerProxyImplAndroid::OnMediaConfigRequest(int player_id) {
272 webkit_media::WebMediaPlayerAndroid* player = GetWebMediaPlayer(player_id);
273 if (player)
274 player->OnMediaConfigRequest();
275 }
276
277 void WebMediaPlayerProxyImplAndroid::OnKeyAdded(int media_keys_id,
278 const std::string& session_id) {
279 webkit_media::WebMediaPlayerAndroid* player =
280 GetWebMediaPlayer(media_keys_id);
281 if (player)
282 player->OnKeyAdded(session_id);
283 }
284
285 void WebMediaPlayerProxyImplAndroid::OnKeyError(
286 int media_keys_id,
287 const std::string& session_id,
288 media::MediaKeys::KeyError error_code,
289 int system_code) {
290 webkit_media::WebMediaPlayerAndroid* player =
291 GetWebMediaPlayer(media_keys_id);
292 if (player)
293 player->OnKeyError(session_id, error_code, system_code);
294 }
295
296 void WebMediaPlayerProxyImplAndroid::OnKeyMessage(
297 int media_keys_id,
298 const std::string& session_id,
299 const std::string& message,
300 const std::string& destination_url) {
301 webkit_media::WebMediaPlayerAndroid* player =
302 GetWebMediaPlayer(media_keys_id);
303 if (player)
304 player->OnKeyMessage(session_id, message, destination_url);
305 }
306
307 } // namespace content
OLDNEW
« no previous file with comments | « content/renderer/media/webmediaplayer_proxy_impl_android.h ('k') | content/renderer/render_view_impl.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698