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

Side by Side Diff: media/mojo/clients/mojo_cdm.cc

Issue 2255943002: EME: Remove obsolete legacy APIs related to versions of prefixed EME (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix build and add bug reference for obsoletes Created 4 years, 4 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
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 "media/mojo/clients/mojo_cdm.h" 5 #include "media/mojo/clients/mojo_cdm.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 8
9 #include <utility> 9 #include <utility>
10 10
(...skipping 22 matching lines...) Expand all
33 } 33 }
34 34
35 // static 35 // static
36 void MojoCdm::Create( 36 void MojoCdm::Create(
37 const std::string& key_system, 37 const std::string& key_system,
38 const GURL& security_origin, 38 const GURL& security_origin,
39 const media::CdmConfig& cdm_config, 39 const media::CdmConfig& cdm_config,
40 mojom::ContentDecryptionModulePtr remote_cdm, 40 mojom::ContentDecryptionModulePtr remote_cdm,
41 const media::SessionMessageCB& session_message_cb, 41 const media::SessionMessageCB& session_message_cb,
42 const media::SessionClosedCB& session_closed_cb, 42 const media::SessionClosedCB& session_closed_cb,
43 const media::LegacySessionErrorCB& legacy_session_error_cb,
44 const media::SessionKeysChangeCB& session_keys_change_cb, 43 const media::SessionKeysChangeCB& session_keys_change_cb,
45 const media::SessionExpirationUpdateCB& session_expiration_update_cb, 44 const media::SessionExpirationUpdateCB& session_expiration_update_cb,
46 const media::CdmCreatedCB& cdm_created_cb) { 45 const media::CdmCreatedCB& cdm_created_cb) {
47 scoped_refptr<MojoCdm> mojo_cdm( 46 scoped_refptr<MojoCdm> mojo_cdm(
48 new MojoCdm(std::move(remote_cdm), session_message_cb, session_closed_cb, 47 new MojoCdm(std::move(remote_cdm), session_message_cb, session_closed_cb,
49 legacy_session_error_cb, session_keys_change_cb, 48 session_keys_change_cb, session_expiration_update_cb));
50 session_expiration_update_cb));
51 49
52 // |mojo_cdm| ownership is passed to the promise. 50 // |mojo_cdm| ownership is passed to the promise.
53 std::unique_ptr<CdmInitializedPromise> promise( 51 std::unique_ptr<CdmInitializedPromise> promise(
54 new CdmInitializedPromise(cdm_created_cb, mojo_cdm)); 52 new CdmInitializedPromise(cdm_created_cb, mojo_cdm));
55 53
56 mojo_cdm->InitializeCdm(key_system, security_origin, cdm_config, 54 mojo_cdm->InitializeCdm(key_system, security_origin, cdm_config,
57 std::move(promise)); 55 std::move(promise));
58 } 56 }
59 57
60 MojoCdm::MojoCdm(mojom::ContentDecryptionModulePtr remote_cdm, 58 MojoCdm::MojoCdm(mojom::ContentDecryptionModulePtr remote_cdm,
61 const SessionMessageCB& session_message_cb, 59 const SessionMessageCB& session_message_cb,
62 const SessionClosedCB& session_closed_cb, 60 const SessionClosedCB& session_closed_cb,
63 const LegacySessionErrorCB& legacy_session_error_cb,
64 const SessionKeysChangeCB& session_keys_change_cb, 61 const SessionKeysChangeCB& session_keys_change_cb,
65 const SessionExpirationUpdateCB& session_expiration_update_cb) 62 const SessionExpirationUpdateCB& session_expiration_update_cb)
66 : remote_cdm_(std::move(remote_cdm)), 63 : remote_cdm_(std::move(remote_cdm)),
67 binding_(this), 64 binding_(this),
68 cdm_id_(CdmContext::kInvalidCdmId), 65 cdm_id_(CdmContext::kInvalidCdmId),
69 session_message_cb_(session_message_cb), 66 session_message_cb_(session_message_cb),
70 session_closed_cb_(session_closed_cb), 67 session_closed_cb_(session_closed_cb),
71 legacy_session_error_cb_(legacy_session_error_cb),
72 session_keys_change_cb_(session_keys_change_cb), 68 session_keys_change_cb_(session_keys_change_cb),
73 session_expiration_update_cb_(session_expiration_update_cb), 69 session_expiration_update_cb_(session_expiration_update_cb),
74 weak_factory_(this) { 70 weak_factory_(this) {
75 DVLOG(1) << __FUNCTION__; 71 DVLOG(1) << __FUNCTION__;
76 DCHECK(!session_message_cb_.is_null()); 72 DCHECK(!session_message_cb_.is_null());
77 DCHECK(!session_closed_cb_.is_null()); 73 DCHECK(!session_closed_cb_.is_null());
78 DCHECK(!legacy_session_error_cb_.is_null());
79 DCHECK(!session_keys_change_cb_.is_null()); 74 DCHECK(!session_keys_change_cb_.is_null());
80 DCHECK(!session_expiration_update_cb_.is_null()); 75 DCHECK(!session_expiration_update_cb_.is_null());
81 76
82 remote_cdm_->SetClient(binding_.CreateInterfacePtrAndBind()); 77 remote_cdm_->SetClient(binding_.CreateInterfacePtrAndBind());
83 } 78 }
84 79
85 MojoCdm::~MojoCdm() { 80 MojoCdm::~MojoCdm() {
86 DVLOG(1) << __FUNCTION__; 81 DVLOG(1) << __FUNCTION__;
87 DCHECK(thread_checker_.CalledOnValidThread()); 82 DCHECK(thread_checker_.CalledOnValidThread());
88 83
(...skipping 145 matching lines...) Expand 10 before | Expand all | Expand 10 after
234 229
235 int MojoCdm::GetCdmId() const { 230 int MojoCdm::GetCdmId() const {
236 base::AutoLock auto_lock(lock_); 231 base::AutoLock auto_lock(lock_);
237 // Can be called on a different thread. 232 // Can be called on a different thread.
238 DCHECK_NE(CdmContext::kInvalidCdmId, cdm_id_); 233 DCHECK_NE(CdmContext::kInvalidCdmId, cdm_id_);
239 return cdm_id_; 234 return cdm_id_;
240 } 235 }
241 236
242 void MojoCdm::OnSessionMessage(const mojo::String& session_id, 237 void MojoCdm::OnSessionMessage(const mojo::String& session_id,
243 mojom::CdmMessageType message_type, 238 mojom::CdmMessageType message_type,
244 mojo::Array<uint8_t> message, 239 mojo::Array<uint8_t> message) {
245 const GURL& legacy_destination_url) {
246 DVLOG(2) << __FUNCTION__; 240 DVLOG(2) << __FUNCTION__;
247 DCHECK(thread_checker_.CalledOnValidThread()); 241 DCHECK(thread_checker_.CalledOnValidThread());
248 242
249 session_message_cb_.Run(session_id, 243 session_message_cb_.Run(session_id,
250 static_cast<MediaKeys::MessageType>(message_type), 244 static_cast<MediaKeys::MessageType>(message_type),
251 message.storage(), legacy_destination_url); 245 message.storage());
252 } 246 }
253 247
254 void MojoCdm::OnSessionClosed(const mojo::String& session_id) { 248 void MojoCdm::OnSessionClosed(const mojo::String& session_id) {
255 DVLOG(2) << __FUNCTION__; 249 DVLOG(2) << __FUNCTION__;
256 DCHECK(thread_checker_.CalledOnValidThread()); 250 DCHECK(thread_checker_.CalledOnValidThread());
257 251
258 session_closed_cb_.Run(session_id); 252 session_closed_cb_.Run(session_id);
259 } 253 }
260 254
261 void MojoCdm::OnLegacySessionError(const mojo::String& session_id,
262 mojom::CdmException exception,
263 uint32_t system_code,
264 const mojo::String& error_message) {
265 DVLOG(2) << __FUNCTION__;
266 DCHECK(thread_checker_.CalledOnValidThread());
267
268 legacy_session_error_cb_.Run(session_id,
269 static_cast<MediaKeys::Exception>(exception),
270 system_code, error_message);
271 }
272
273 void MojoCdm::OnSessionKeysChange( 255 void MojoCdm::OnSessionKeysChange(
274 const mojo::String& session_id, 256 const mojo::String& session_id,
275 bool has_additional_usable_key, 257 bool has_additional_usable_key,
276 mojo::Array<mojom::CdmKeyInformationPtr> keys_info) { 258 mojo::Array<mojom::CdmKeyInformationPtr> keys_info) {
277 DVLOG(2) << __FUNCTION__; 259 DVLOG(2) << __FUNCTION__;
278 DCHECK(thread_checker_.CalledOnValidThread()); 260 DCHECK(thread_checker_.CalledOnValidThread());
279 261
280 // TODO(jrummell): Handling resume playback should be done in the media 262 // TODO(jrummell): Handling resume playback should be done in the media
281 // player, not in the Decryptors. http://crbug.com/413413. 263 // player, not in the Decryptors. http://crbug.com/413413.
282 if (has_additional_usable_key) { 264 if (has_additional_usable_key) {
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after
335 base::AutoLock auto_lock(lock_); 317 base::AutoLock auto_lock(lock_);
336 318
337 DCHECK(decryptor_task_runner_); 319 DCHECK(decryptor_task_runner_);
338 DCHECK(decryptor_task_runner_->BelongsToCurrentThread()); 320 DCHECK(decryptor_task_runner_->BelongsToCurrentThread());
339 DCHECK(decryptor_); 321 DCHECK(decryptor_);
340 322
341 decryptor_->OnKeyAdded(); 323 decryptor_->OnKeyAdded();
342 } 324 }
343 325
344 } // namespace media 326 } // namespace media
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698