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