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 "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 Loading... |
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 Loading... |
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 |
OLD | NEW |