OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 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 | 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/media/webmediaplayer_proxy_impl_android.h" | 5 #include "content/renderer/media/webmediaplayer_proxy_impl_android.h" |
6 | 6 |
7 #include "base/bind.h" | 7 #include "base/bind.h" |
8 #include "base/message_loop.h" | 8 #include "base/message_loop.h" |
9 #include "content/common/media/media_player_messages_android.h" | 9 #include "content/common/media/media_player_messages_android.h" |
10 #include "webkit/renderer/media/android/webmediaplayer_android.h" | 10 #include "content/renderer/media/android/webmediaplayer_android.h" |
11 #include "webkit/renderer/media/android/webmediaplayer_manager_android.h" | 11 #include "content/renderer/media/android/webmediaplayer_manager_android.h" |
12 | 12 |
13 namespace content { | 13 namespace content { |
14 | 14 |
15 WebMediaPlayerProxyImplAndroid::WebMediaPlayerProxyImplAndroid( | 15 WebMediaPlayerProxyImplAndroid::WebMediaPlayerProxyImplAndroid( |
16 RenderView* render_view, | 16 RenderView* render_view, |
17 webkit_media::WebMediaPlayerManagerAndroid* manager) | 17 WebMediaPlayerManagerAndroid* manager) |
18 : RenderViewObserver(render_view), | 18 : RenderViewObserver(render_view), |
19 manager_(manager) { | 19 manager_(manager) { |
20 } | 20 } |
21 | 21 |
22 WebMediaPlayerProxyImplAndroid::~WebMediaPlayerProxyImplAndroid() { | 22 WebMediaPlayerProxyImplAndroid::~WebMediaPlayerProxyImplAndroid() { |
23 Send(new MediaPlayerHostMsg_DestroyAllMediaPlayers(routing_id())); | 23 Send(new MediaPlayerHostMsg_DestroyAllMediaPlayers(routing_id())); |
24 } | 24 } |
25 | 25 |
26 bool WebMediaPlayerProxyImplAndroid::OnMessageReceived( | 26 bool WebMediaPlayerProxyImplAndroid::OnMessageReceived( |
27 const IPC::Message& msg) { | 27 const IPC::Message& msg) { |
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
86 void WebMediaPlayerProxyImplAndroid::DestroyPlayer(int player_id) { | 86 void WebMediaPlayerProxyImplAndroid::DestroyPlayer(int player_id) { |
87 Send(new MediaPlayerHostMsg_DestroyMediaPlayer(routing_id(), player_id)); | 87 Send(new MediaPlayerHostMsg_DestroyMediaPlayer(routing_id(), player_id)); |
88 } | 88 } |
89 | 89 |
90 void WebMediaPlayerProxyImplAndroid::OnMediaMetadataChanged( | 90 void WebMediaPlayerProxyImplAndroid::OnMediaMetadataChanged( |
91 int player_id, | 91 int player_id, |
92 base::TimeDelta duration, | 92 base::TimeDelta duration, |
93 int width, | 93 int width, |
94 int height, | 94 int height, |
95 bool success) { | 95 bool success) { |
96 webkit_media::WebMediaPlayerAndroid* player = GetWebMediaPlayer(player_id); | 96 WebMediaPlayerAndroid* player = GetWebMediaPlayer(player_id); |
97 if (player) | 97 if (player) |
98 player->OnMediaMetadataChanged(duration, width, height, success); | 98 player->OnMediaMetadataChanged(duration, width, height, success); |
99 } | 99 } |
100 | 100 |
101 void WebMediaPlayerProxyImplAndroid::OnMediaPlaybackCompleted(int player_id) { | 101 void WebMediaPlayerProxyImplAndroid::OnMediaPlaybackCompleted(int player_id) { |
102 webkit_media::WebMediaPlayerAndroid* player = GetWebMediaPlayer(player_id); | 102 WebMediaPlayerAndroid* player = GetWebMediaPlayer(player_id); |
103 if (player) | 103 if (player) |
104 player->OnPlaybackComplete(); | 104 player->OnPlaybackComplete(); |
105 } | 105 } |
106 | 106 |
107 void WebMediaPlayerProxyImplAndroid::OnMediaBufferingUpdate(int player_id, | 107 void WebMediaPlayerProxyImplAndroid::OnMediaBufferingUpdate(int player_id, |
108 int percent) { | 108 int percent) { |
109 webkit_media::WebMediaPlayerAndroid* player = GetWebMediaPlayer(player_id); | 109 WebMediaPlayerAndroid* player = GetWebMediaPlayer(player_id); |
110 if (player) | 110 if (player) |
111 player->OnBufferingUpdate(percent); | 111 player->OnBufferingUpdate(percent); |
112 } | 112 } |
113 | 113 |
114 void WebMediaPlayerProxyImplAndroid::OnMediaSeekCompleted( | 114 void WebMediaPlayerProxyImplAndroid::OnMediaSeekCompleted( |
115 int player_id, base::TimeDelta current_time) { | 115 int player_id, base::TimeDelta current_time) { |
116 webkit_media::WebMediaPlayerAndroid* player = GetWebMediaPlayer(player_id); | 116 WebMediaPlayerAndroid* player = GetWebMediaPlayer(player_id); |
117 if (player) | 117 if (player) |
118 player->OnSeekComplete(current_time); | 118 player->OnSeekComplete(current_time); |
119 } | 119 } |
120 | 120 |
121 void WebMediaPlayerProxyImplAndroid::OnMediaError(int player_id, int error) { | 121 void WebMediaPlayerProxyImplAndroid::OnMediaError(int player_id, int error) { |
122 webkit_media::WebMediaPlayerAndroid* player = GetWebMediaPlayer(player_id); | 122 WebMediaPlayerAndroid* player = GetWebMediaPlayer(player_id); |
123 if (player) | 123 if (player) |
124 player->OnMediaError(error); | 124 player->OnMediaError(error); |
125 } | 125 } |
126 | 126 |
127 void WebMediaPlayerProxyImplAndroid::OnVideoSizeChanged( | 127 void WebMediaPlayerProxyImplAndroid::OnVideoSizeChanged( |
128 int player_id, int width, int height) { | 128 int player_id, int width, int height) { |
129 webkit_media::WebMediaPlayerAndroid* player = GetWebMediaPlayer(player_id); | 129 WebMediaPlayerAndroid* player = GetWebMediaPlayer(player_id); |
130 if (player) | 130 if (player) |
131 player->OnVideoSizeChanged(width, height); | 131 player->OnVideoSizeChanged(width, height); |
132 } | 132 } |
133 | 133 |
134 void WebMediaPlayerProxyImplAndroid::OnTimeUpdate( | 134 void WebMediaPlayerProxyImplAndroid::OnTimeUpdate( |
135 int player_id, base::TimeDelta current_time) { | 135 int player_id, base::TimeDelta current_time) { |
136 webkit_media::WebMediaPlayerAndroid* player = GetWebMediaPlayer(player_id); | 136 WebMediaPlayerAndroid* player = GetWebMediaPlayer(player_id); |
137 if (player) | 137 if (player) |
138 player->OnTimeUpdate(current_time); | 138 player->OnTimeUpdate(current_time); |
139 } | 139 } |
140 | 140 |
141 void WebMediaPlayerProxyImplAndroid::OnMediaPlayerReleased(int player_id) { | 141 void WebMediaPlayerProxyImplAndroid::OnMediaPlayerReleased(int player_id) { |
142 webkit_media::WebMediaPlayerAndroid* player = GetWebMediaPlayer(player_id); | 142 WebMediaPlayerAndroid* player = GetWebMediaPlayer(player_id); |
143 if (player) | 143 if (player) |
144 player->OnPlayerReleased(); | 144 player->OnPlayerReleased(); |
145 } | 145 } |
146 | 146 |
147 void WebMediaPlayerProxyImplAndroid::OnDidEnterFullscreen(int player_id) { | 147 void WebMediaPlayerProxyImplAndroid::OnDidEnterFullscreen(int player_id) { |
148 webkit_media::WebMediaPlayerAndroid* player = GetWebMediaPlayer(player_id); | 148 WebMediaPlayerAndroid* player = GetWebMediaPlayer(player_id); |
149 if (player) | 149 if (player) |
150 player->OnDidEnterFullscreen(); | 150 player->OnDidEnterFullscreen(); |
151 } | 151 } |
152 | 152 |
153 void WebMediaPlayerProxyImplAndroid::OnDidExitFullscreen(int player_id) { | 153 void WebMediaPlayerProxyImplAndroid::OnDidExitFullscreen(int player_id) { |
154 webkit_media::WebMediaPlayerAndroid* player = GetWebMediaPlayer(player_id); | 154 WebMediaPlayerAndroid* player = GetWebMediaPlayer(player_id); |
155 if (player) | 155 if (player) |
156 player->OnDidExitFullscreen(); | 156 player->OnDidExitFullscreen(); |
157 } | 157 } |
158 | 158 |
159 void WebMediaPlayerProxyImplAndroid::OnPlayerPlay(int player_id) { | 159 void WebMediaPlayerProxyImplAndroid::OnPlayerPlay(int player_id) { |
160 webkit_media::WebMediaPlayerAndroid* player = GetWebMediaPlayer(player_id); | 160 WebMediaPlayerAndroid* player = GetWebMediaPlayer(player_id); |
161 if (player) | 161 if (player) |
162 player->OnMediaPlayerPlay(); | 162 player->OnMediaPlayerPlay(); |
163 } | 163 } |
164 | 164 |
165 void WebMediaPlayerProxyImplAndroid::OnPlayerPause(int player_id) { | 165 void WebMediaPlayerProxyImplAndroid::OnPlayerPause(int player_id) { |
166 webkit_media::WebMediaPlayerAndroid* player = GetWebMediaPlayer(player_id); | 166 WebMediaPlayerAndroid* player = GetWebMediaPlayer(player_id); |
167 if (player) | 167 if (player) |
168 player->OnMediaPlayerPause(); | 168 player->OnMediaPlayerPause(); |
169 } | 169 } |
170 | 170 |
171 void WebMediaPlayerProxyImplAndroid::EnterFullscreen(int player_id) { | 171 void WebMediaPlayerProxyImplAndroid::EnterFullscreen(int player_id) { |
172 Send(new MediaPlayerHostMsg_EnterFullscreen(routing_id(), player_id)); | 172 Send(new MediaPlayerHostMsg_EnterFullscreen(routing_id(), player_id)); |
173 } | 173 } |
174 | 174 |
175 void WebMediaPlayerProxyImplAndroid::ExitFullscreen(int player_id) { | 175 void WebMediaPlayerProxyImplAndroid::ExitFullscreen(int player_id) { |
176 Send(new MediaPlayerHostMsg_ExitFullscreen(routing_id(), player_id)); | 176 Send(new MediaPlayerHostMsg_ExitFullscreen(routing_id(), player_id)); |
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
222 Send(new MediaPlayerHostMsg_NotifyExternalSurface( | 222 Send(new MediaPlayerHostMsg_NotifyExternalSurface( |
223 routing_id(), it->first, false, it->second)); | 223 routing_id(), it->first, false, it->second)); |
224 } | 224 } |
225 } | 225 } |
226 #endif | 226 #endif |
227 | 227 |
228 void WebMediaPlayerProxyImplAndroid::OnReadFromDemuxer( | 228 void WebMediaPlayerProxyImplAndroid::OnReadFromDemuxer( |
229 int player_id, | 229 int player_id, |
230 media::DemuxerStream::Type type, | 230 media::DemuxerStream::Type type, |
231 bool seek_done) { | 231 bool seek_done) { |
232 webkit_media::WebMediaPlayerAndroid* player = GetWebMediaPlayer(player_id); | 232 WebMediaPlayerAndroid* player = GetWebMediaPlayer(player_id); |
233 if (player) | 233 if (player) |
234 player->OnReadFromDemuxer(type, seek_done); | 234 player->OnReadFromDemuxer(type, seek_done); |
235 } | 235 } |
236 | 236 |
237 void WebMediaPlayerProxyImplAndroid::DemuxerReady( | 237 void WebMediaPlayerProxyImplAndroid::DemuxerReady( |
238 int player_id, | 238 int player_id, |
239 const media::MediaPlayerHostMsg_DemuxerReady_Params& params) { | 239 const media::MediaPlayerHostMsg_DemuxerReady_Params& params) { |
240 Send(new MediaPlayerHostMsg_DemuxerReady(routing_id(), player_id, params)); | 240 Send(new MediaPlayerHostMsg_DemuxerReady(routing_id(), player_id, params)); |
241 } | 241 } |
242 | 242 |
243 void WebMediaPlayerProxyImplAndroid::DurationChanged( | 243 void WebMediaPlayerProxyImplAndroid::DurationChanged( |
244 int player_id, const base::TimeDelta& duration) { | 244 int player_id, const base::TimeDelta& duration) { |
245 Send(new MediaPlayerHostMsg_DurationChanged( | 245 Send(new MediaPlayerHostMsg_DurationChanged( |
246 routing_id(), player_id, duration)); | 246 routing_id(), player_id, duration)); |
247 } | 247 } |
248 | 248 |
249 webkit_media::WebMediaPlayerAndroid* | 249 WebMediaPlayerAndroid* WebMediaPlayerProxyImplAndroid::GetWebMediaPlayer( |
250 WebMediaPlayerProxyImplAndroid::GetWebMediaPlayer(int player_id) { | 250 int player_id) { |
251 return static_cast<webkit_media::WebMediaPlayerAndroid*>( | 251 return static_cast<WebMediaPlayerAndroid*>( |
252 manager_->GetMediaPlayer(player_id)); | 252 manager_->GetMediaPlayer(player_id)); |
253 } | 253 } |
254 | 254 |
255 void WebMediaPlayerProxyImplAndroid::OnMediaSeekRequest( | 255 void WebMediaPlayerProxyImplAndroid::OnMediaSeekRequest( |
256 int player_id, base::TimeDelta time_to_seek, unsigned seek_request_id) { | 256 int player_id, base::TimeDelta time_to_seek, unsigned seek_request_id) { |
257 webkit_media::WebMediaPlayerAndroid* player = GetWebMediaPlayer(player_id); | 257 WebMediaPlayerAndroid* player = GetWebMediaPlayer(player_id); |
258 if (player) { | 258 if (player) { |
259 Send(new MediaPlayerHostMsg_MediaSeekRequestAck(routing_id(), player_id, | 259 Send(new MediaPlayerHostMsg_MediaSeekRequestAck(routing_id(), player_id, |
260 seek_request_id)); | 260 seek_request_id)); |
261 player->OnMediaSeekRequest(time_to_seek); | 261 player->OnMediaSeekRequest(time_to_seek); |
262 } | 262 } |
263 } | 263 } |
264 | 264 |
265 void WebMediaPlayerProxyImplAndroid::OnMediaConfigRequest(int player_id) { | 265 void WebMediaPlayerProxyImplAndroid::OnMediaConfigRequest(int player_id) { |
266 webkit_media::WebMediaPlayerAndroid* player = GetWebMediaPlayer(player_id); | 266 WebMediaPlayerAndroid* player = GetWebMediaPlayer(player_id); |
267 if (player) | 267 if (player) |
268 player->OnMediaConfigRequest(); | 268 player->OnMediaConfigRequest(); |
269 } | 269 } |
270 | 270 |
271 void WebMediaPlayerProxyImplAndroid::OnKeyAdded(int player_id, | 271 void WebMediaPlayerProxyImplAndroid::OnKeyAdded(int player_id, |
272 const std::string& session_id) { | 272 const std::string& session_id) { |
273 webkit_media::WebMediaPlayerAndroid* player = GetWebMediaPlayer(player_id); | 273 WebMediaPlayerAndroid* player = GetWebMediaPlayer(player_id); |
274 if (player) | 274 if (player) |
275 player->OnKeyAdded(session_id); | 275 player->OnKeyAdded(session_id); |
276 } | 276 } |
277 | 277 |
278 void WebMediaPlayerProxyImplAndroid::OnKeyError( | 278 void WebMediaPlayerProxyImplAndroid::OnKeyError( |
279 int player_id, | 279 int player_id, |
280 const std::string& session_id, | 280 const std::string& session_id, |
281 media::MediaKeys::KeyError error_code, | 281 media::MediaKeys::KeyError error_code, |
282 int system_code) { | 282 int system_code) { |
283 webkit_media::WebMediaPlayerAndroid* player = GetWebMediaPlayer(player_id); | 283 WebMediaPlayerAndroid* player = GetWebMediaPlayer(player_id); |
284 if (player) | 284 if (player) |
285 player->OnKeyError(session_id, error_code, system_code); | 285 player->OnKeyError(session_id, error_code, system_code); |
286 } | 286 } |
287 | 287 |
288 void WebMediaPlayerProxyImplAndroid::OnKeyMessage( | 288 void WebMediaPlayerProxyImplAndroid::OnKeyMessage( |
289 int player_id, | 289 int player_id, |
290 const std::string& session_id, | 290 const std::string& session_id, |
291 const std::string& message, | 291 const std::string& message, |
292 const std::string& destination_url) { | 292 const std::string& destination_url) { |
293 webkit_media::WebMediaPlayerAndroid* player = GetWebMediaPlayer(player_id); | 293 WebMediaPlayerAndroid* player = GetWebMediaPlayer(player_id); |
294 if (player) | 294 if (player) |
295 player->OnKeyMessage(session_id, message, destination_url); | 295 player->OnKeyMessage(session_id, message, destination_url); |
296 } | 296 } |
297 | 297 |
298 } // namespace content | 298 } // namespace content |
OLD | NEW |