Chromium Code Reviews| OLD | NEW |
|---|---|
| (Empty) | |
| 1 // Copyright 2016 The Chromium Authors. All rights reserved. | |
| 2 // Use of this source code is governed by a BSD-style license that can be | |
| 3 // found in the LICENSE file. | |
| 4 | |
| 5 #include "media/remoting/remoting_cdm.h" | |
| 6 | |
| 7 #include "base/logging.h" | |
| 8 #include "media/base/cdm_config.h" | |
| 9 #include "media/base/cdm_promise.h" | |
| 10 | |
| 11 namespace media { | |
| 12 | |
| 13 namespace { | |
| 14 // Used as an identifier for RemotingCdm::From(). | |
| 15 void* const kClassIdentifier = const_cast<void**>(&kClassIdentifier); | |
| 16 } // namespace | |
| 17 | |
| 18 void RemotingCdm::Create( | |
|
miu
2016/10/08 01:06:16
This function is not necessary. Clients can just i
xjz
2016/10/20 21:25:27
Done.
| |
| 19 const std::string& key_system, | |
| 20 const GURL& security_origin, | |
| 21 const CdmConfig& cdm_config, | |
| 22 const SessionMessageCB& session_message_cb, | |
| 23 const SessionClosedCB& session_closed_cb, | |
| 24 const SessionKeysChangeCB& session_keys_change_cb, | |
| 25 const SessionExpirationUpdateCB& session_expiration_update_cb, | |
| 26 const CdmCreatedCB& cdm_created_cb, | |
| 27 std::unique_ptr<RemotingController> remoting_controller) { | |
| 28 // TODO(xjz): Merge with Eric's implementation to create remoting CDM. | |
| 29 new RemotingCdm(key_system, security_origin, cdm_config, session_message_cb, | |
| 30 session_closed_cb, session_keys_change_cb, | |
| 31 session_expiration_update_cb, cdm_created_cb, | |
| 32 std::move(remoting_controller)); | |
| 33 } | |
| 34 | |
| 35 RemotingCdm::RemotingCdm( | |
| 36 const std::string& key_system, | |
| 37 const GURL& security_origin, | |
| 38 const CdmConfig& cdm_config, | |
| 39 const SessionMessageCB& session_message_cb, | |
| 40 const SessionClosedCB& session_closed_cb, | |
| 41 const SessionKeysChangeCB& session_keys_change_cb, | |
| 42 const SessionExpirationUpdateCB& session_expiration_update_cb, | |
| 43 const CdmCreatedCB& cdm_created_cb, | |
| 44 std::unique_ptr<RemotingController> remoting_controller) { | |
| 45 // TODO(xjz): Merge with Eric's implementation. | |
| 46 NOTIMPLEMENTED(); | |
| 47 } | |
| 48 | |
| 49 RemotingCdm::~RemotingCdm() {} | |
| 50 | |
| 51 RemotingCdm* RemotingCdm::From(CdmContext* cdm) { | |
| 52 if (cdm && cdm->GetClassIdentifier() == kClassIdentifier) | |
| 53 return static_cast<RemotingCdm*>(cdm); | |
| 54 return nullptr; | |
| 55 } | |
| 56 | |
| 57 void RemotingCdm::SetServerCertificate( | |
| 58 const std::vector<uint8_t>& certificate, | |
| 59 std::unique_ptr<SimpleCdmPromise> promise) { | |
| 60 // TODO(xjz): Merge with Eric's implementation. | |
| 61 NOTIMPLEMENTED(); | |
| 62 } | |
| 63 | |
| 64 void RemotingCdm::CreateSessionAndGenerateRequest( | |
| 65 SessionType session_type, | |
| 66 EmeInitDataType init_data_type, | |
| 67 const std::vector<uint8_t>& init_data, | |
| 68 std::unique_ptr<NewSessionCdmPromise> promise) { | |
| 69 // TODO(xjz): Merge with Eric's implementation. | |
| 70 NOTIMPLEMENTED(); | |
| 71 } | |
| 72 | |
| 73 void RemotingCdm::LoadSession(SessionType session_type, | |
| 74 const std::string& session_id, | |
| 75 std::unique_ptr<NewSessionCdmPromise> promise) { | |
| 76 // TODO(xjz): Merge with Eric's implementation. | |
| 77 NOTIMPLEMENTED(); | |
| 78 } | |
| 79 | |
| 80 void RemotingCdm::UpdateSession(const std::string& session_id, | |
| 81 const std::vector<uint8_t>& response, | |
| 82 std::unique_ptr<SimpleCdmPromise> promise) { | |
| 83 // TODO(xjz): Merge with Eric's implementation. | |
| 84 NOTIMPLEMENTED(); | |
| 85 } | |
| 86 | |
| 87 void RemotingCdm::CloseSession(const std::string& session_id, | |
| 88 std::unique_ptr<SimpleCdmPromise> promise) { | |
| 89 // TODO(xjz): Merge with Eric's implementation. | |
| 90 NOTIMPLEMENTED(); | |
| 91 } | |
| 92 | |
| 93 void RemotingCdm::RemoveSession(const std::string& session_id, | |
| 94 std::unique_ptr<SimpleCdmPromise> promise) { | |
| 95 // TODO(xjz): Merge with Eric's implementation. | |
| 96 NOTIMPLEMENTED(); | |
| 97 } | |
| 98 | |
| 99 CdmContext* RemotingCdm::GetCdmContext() { | |
| 100 return this; | |
| 101 } | |
| 102 | |
| 103 Decryptor* RemotingCdm::GetDecryptor() { | |
| 104 // TODO(xjz): Merge with Eric's implementation. | |
| 105 return nullptr; | |
| 106 } | |
| 107 | |
| 108 int RemotingCdm::GetCdmId() const { | |
| 109 // TODO(xjz): Merge with Eric's implementation. | |
| 110 return CdmContext::kInvalidCdmId; | |
| 111 } | |
| 112 | |
| 113 void* RemotingCdm::GetClassIdentifier() const { | |
| 114 return kClassIdentifier; | |
| 115 } | |
| 116 | |
| 117 } // namespace media | |
| OLD | NEW |