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

Side by Side Diff: content/renderer/media/crypto/ppapi_decryptor.cc

Issue 1407933010: media: Make MediaKeys ref-counted. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebase only Created 5 years, 1 month 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 2013 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/crypto/ppapi_decryptor.h" 5 #include "content/renderer/media/crypto/ppapi_decryptor.h"
6 6
7 #include <string> 7 #include <string>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/location.h" 10 #include "base/location.h"
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
48 48
49 if (!pepper_cdm_wrapper) { 49 if (!pepper_cdm_wrapper) {
50 std::string message = 50 std::string message =
51 "Unable to create the CDM for the key system " + key_system + "."; 51 "Unable to create the CDM for the key system " + key_system + ".";
52 DLOG(ERROR) << message; 52 DLOG(ERROR) << message;
53 base::ThreadTaskRunnerHandle::Get()->PostTask( 53 base::ThreadTaskRunnerHandle::Get()->PostTask(
54 FROM_HERE, base::Bind(cdm_created_cb, nullptr, message)); 54 FROM_HERE, base::Bind(cdm_created_cb, nullptr, message));
55 return; 55 return;
56 } 56 }
57 57
58 scoped_ptr<PpapiDecryptor> ppapi_decryptor( 58 scoped_refptr<PpapiDecryptor> ppapi_decryptor(
59 new PpapiDecryptor(pepper_cdm_wrapper.Pass(), session_message_cb, 59 new PpapiDecryptor(pepper_cdm_wrapper.Pass(), session_message_cb,
60 session_closed_cb, legacy_session_error_cb, 60 session_closed_cb, legacy_session_error_cb,
61 session_keys_change_cb, session_expiration_update_cb)); 61 session_keys_change_cb, session_expiration_update_cb));
62 62
63 // PpapiDecryptor ownership passed to the promise, but keep a copy in order 63 // |ppapi_decryptor| ownership is passed to the promise.
64 // to call InitializeCdm().
65 PpapiDecryptor* ppapi_decryptor_copy = ppapi_decryptor.get();
66 scoped_ptr<media::CdmInitializedPromise> promise( 64 scoped_ptr<media::CdmInitializedPromise> promise(
67 new media::CdmInitializedPromise(cdm_created_cb, ppapi_decryptor.Pass())); 65 new media::CdmInitializedPromise(cdm_created_cb, ppapi_decryptor));
68 ppapi_decryptor_copy->InitializeCdm(key_system, allow_distinctive_identifier, 66
69 allow_persistent_state, promise.Pass()); 67 ppapi_decryptor->InitializeCdm(key_system, allow_distinctive_identifier,
68 allow_persistent_state, promise.Pass());
70 } 69 }
71 70
72 PpapiDecryptor::PpapiDecryptor( 71 PpapiDecryptor::PpapiDecryptor(
73 scoped_ptr<PepperCdmWrapper> pepper_cdm_wrapper, 72 scoped_ptr<PepperCdmWrapper> pepper_cdm_wrapper,
74 const media::SessionMessageCB& session_message_cb, 73 const media::SessionMessageCB& session_message_cb,
75 const media::SessionClosedCB& session_closed_cb, 74 const media::SessionClosedCB& session_closed_cb,
76 const media::LegacySessionErrorCB& legacy_session_error_cb, 75 const media::LegacySessionErrorCB& legacy_session_error_cb,
77 const media::SessionKeysChangeCB& session_keys_change_cb, 76 const media::SessionKeysChangeCB& session_keys_change_cb,
78 const media::SessionExpirationUpdateCB& session_expiration_update_cb) 77 const media::SessionExpirationUpdateCB& session_expiration_update_cb)
79 : pepper_cdm_wrapper_(pepper_cdm_wrapper.Pass()), 78 : pepper_cdm_wrapper_(pepper_cdm_wrapper.Pass()),
(...skipping 369 matching lines...) Expand 10 before | Expand all | Expand 10 after
449 DCHECK(render_task_runner_->BelongsToCurrentThread()); 448 DCHECK(render_task_runner_->BelongsToCurrentThread());
450 pepper_cdm_wrapper_.reset(); 449 pepper_cdm_wrapper_.reset();
451 } 450 }
452 451
453 ContentDecryptorDelegate* PpapiDecryptor::CdmDelegate() { 452 ContentDecryptorDelegate* PpapiDecryptor::CdmDelegate() {
454 DCHECK(render_task_runner_->BelongsToCurrentThread()); 453 DCHECK(render_task_runner_->BelongsToCurrentThread());
455 return (pepper_cdm_wrapper_) ? pepper_cdm_wrapper_->GetCdmDelegate() : NULL; 454 return (pepper_cdm_wrapper_) ? pepper_cdm_wrapper_->GetCdmDelegate() : NULL;
456 } 455 }
457 456
458 } // namespace content 457 } // namespace content
OLDNEW
« no previous file with comments | « content/renderer/media/crypto/ppapi_decryptor.h ('k') | content/renderer/media/crypto/proxy_media_keys.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698