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 |