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

Side by Side Diff: webkit/media/webmediaplayer_proxy.cc

Issue 10534096: Generalize AesDecryptor to make it more spec compliant. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 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
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 "webkit/media/webmediaplayer_proxy.h" 5 #include "webkit/media/webmediaplayer_proxy.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/logging.h" 8 #include "base/logging.h"
9 #include "base/message_loop_proxy.h" 9 #include "base/message_loop_proxy.h"
10 #include "media/base/pipeline_status.h" 10 #include "media/base/pipeline_status.h"
(...skipping 171 matching lines...) Expand 10 before | Expand all | Expand 10 after
182 render_loop_->PostTask(FROM_HERE, base::Bind( 182 render_loop_->PostTask(FROM_HERE, base::Bind(
183 &WebMediaPlayerProxy::DemuxerOpenedTask, this, 183 &WebMediaPlayerProxy::DemuxerOpenedTask, this,
184 scoped_refptr<media::ChunkDemuxer>(demuxer))); 184 scoped_refptr<media::ChunkDemuxer>(demuxer)));
185 } 185 }
186 186
187 void WebMediaPlayerProxy::DemuxerClosed() { 187 void WebMediaPlayerProxy::DemuxerClosed() {
188 render_loop_->PostTask(FROM_HERE, base::Bind( 188 render_loop_->PostTask(FROM_HERE, base::Bind(
189 &WebMediaPlayerProxy::DemuxerClosedTask, this)); 189 &WebMediaPlayerProxy::DemuxerClosedTask, this));
190 } 190 }
191 191
192 void WebMediaPlayerProxy::KeyNeeded(scoped_array<uint8> init_data, 192 void WebMediaPlayerProxy::DemuxerKeyNeeded(scoped_array<uint8> init_data,
193 int init_data_size) { 193 int init_data_size) {
194 render_loop_->PostTask(FROM_HERE, base::Bind( 194 render_loop_->PostTask(FROM_HERE, base::Bind(
195 &WebMediaPlayerProxy::KeyNeededTask, this, 195 &WebMediaPlayerProxy::KeyNeededTask, this, "", "",
196 base::Passed(&init_data), init_data_size)); 196 base::Passed(&init_data), init_data_size));
197 } 197 }
198 198
199 void WebMediaPlayerProxy::DemuxerStartWaitingForSeek() { 199 void WebMediaPlayerProxy::DemuxerStartWaitingForSeek() {
200 if (chunk_demuxer_.get()) 200 if (chunk_demuxer_.get())
201 chunk_demuxer_->StartWaitingForSeek(); 201 chunk_demuxer_->StartWaitingForSeek();
202 } 202 }
203 203
204 media::ChunkDemuxer::Status WebMediaPlayerProxy::DemuxerAddId( 204 media::ChunkDemuxer::Status WebMediaPlayerProxy::DemuxerAddId(
205 const std::string& id, 205 const std::string& id,
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
242 DCHECK(render_loop_->BelongsToCurrentThread()); 242 DCHECK(render_loop_->BelongsToCurrentThread());
243 chunk_demuxer_ = demuxer; 243 chunk_demuxer_ = demuxer;
244 if (webmediaplayer_) 244 if (webmediaplayer_)
245 webmediaplayer_->OnDemuxerOpened(); 245 webmediaplayer_->OnDemuxerOpened();
246 } 246 }
247 247
248 void WebMediaPlayerProxy::DemuxerClosedTask() { 248 void WebMediaPlayerProxy::DemuxerClosedTask() {
249 chunk_demuxer_ = NULL; 249 chunk_demuxer_ = NULL;
250 } 250 }
251 251
252 void WebMediaPlayerProxy::KeyNeededTask(scoped_array<uint8> init_data, 252 void WebMediaPlayerProxy::KeyAdded(const std::string& key_system,
253 const std::string& session_id) {
254 render_loop_->PostTask(FROM_HERE, base::Bind(
255 &WebMediaPlayerProxy::KeyAddedTask, this, key_system, session_id));
256 }
257
258 void WebMediaPlayerProxy::KeyError(const std::string& key_system,
259 const std::string& session_id,
260 media::AesDecryptor::KeyError error_code,
261 int system_code) {
262 render_loop_->PostTask(FROM_HERE, base::Bind(
263 &WebMediaPlayerProxy::KeyErrorTask, this, key_system, session_id,
264 error_code, system_code));
265 }
266
267 void WebMediaPlayerProxy::KeyMessage(const std::string& key_system,
268 const std::string& session_id,
269 scoped_array<uint8> message,
270 int message_length,
271 const std::string& default_url) {
272 render_loop_->PostTask(FROM_HERE, base::Bind(
273 &WebMediaPlayerProxy::KeyMessageTask, this, key_system, session_id,
274 base::Passed(&message), message_length, default_url));
275 }
276
277 void WebMediaPlayerProxy::KeyNeeded(const std::string& key_system,
278 const std::string& session_id,
279 scoped_array<uint8> init_data,
280 int init_data_size) {
281 render_loop_->PostTask(FROM_HERE, base::Bind(
282 &WebMediaPlayerProxy::KeyNeededTask, this, key_system, session_id,
283 base::Passed(&init_data), init_data_size));
284 }
285
286 void WebMediaPlayerProxy::KeyAddedTask(const std::string& key_system,
287 const std::string& session_id) {
288 DCHECK(render_loop_->BelongsToCurrentThread());
289 if (webmediaplayer_)
290 webmediaplayer_->OnKeyAdded(key_system, session_id);
291 }
292
293 void WebMediaPlayerProxy::KeyErrorTask(const std::string& key_system,
294 const std::string& session_id,
295 media::AesDecryptor::KeyError error_code,
296 int system_code) {
297 DCHECK(render_loop_->BelongsToCurrentThread());
298 if (webmediaplayer_)
299 webmediaplayer_->OnKeyError(key_system, session_id,
300 error_code, system_code);
301 }
302
303 void WebMediaPlayerProxy::KeyMessageTask(const std::string& key_system,
304 const std::string& session_id,
305 scoped_array<uint8> message,
306 int message_length,
307 const std::string& default_url) {
308 DCHECK(render_loop_->BelongsToCurrentThread());
309 if (webmediaplayer_)
310 webmediaplayer_->OnKeyMessage(key_system, session_id,
311 message.Pass(), message_length, default_url);
312 }
313
314 void WebMediaPlayerProxy::KeyNeededTask(const std::string& key_system,
315 const std::string& session_id,
316 scoped_array<uint8> init_data,
253 int init_data_size) { 317 int init_data_size) {
254 DCHECK(render_loop_->BelongsToCurrentThread()); 318 DCHECK(render_loop_->BelongsToCurrentThread());
255 if (webmediaplayer_) 319 if (webmediaplayer_)
256 webmediaplayer_->OnKeyNeeded(init_data.Pass(), init_data_size); 320 webmediaplayer_->OnKeyNeeded(key_system, session_id,
321 init_data.Pass(), init_data_size);
257 } 322 }
258 323
259 } // namespace webkit_media 324 } // namespace webkit_media
OLDNEW
« webkit/media/webmediaplayer_proxy.h ('K') | « webkit/media/webmediaplayer_proxy.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698