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

Side by Side Diff: media/remoting/remoting_cdm.cc

Issue 2406483002: WIP - Add EME (Closed)
Patch Set: Add EME. Created 4 years, 2 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
(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
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698