| 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 |