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

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

Issue 1160983002: Allows support for persistent session types in BrowserCdm. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: changes MediaDrmBridge logs to NOTIMPLEMENTED Created 5 years, 6 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 "content/renderer/media/crypto/renderer_cdm_manager.h" 5 #include "content/renderer/media/crypto/renderer_cdm_manager.h"
6 6
7 #include "base/stl_util.h" 7 #include "base/stl_util.h"
8 #include "content/common/media/cdm_messages.h" 8 #include "content/common/media/cdm_messages.h"
9 #include "content/renderer/media/crypto/proxy_media_keys.h" 9 #include "content/renderer/media/crypto/proxy_media_keys.h"
10 #include "media/base/cdm_context.h" 10 #include "media/base/cdm_context.h"
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
67 uint32_t promise_id, 67 uint32_t promise_id,
68 const std::vector<uint8_t>& certificate) { 68 const std::vector<uint8_t>& certificate) {
69 DCHECK(GetMediaKeys(cdm_id)) << "|cdm_id| not registered."; 69 DCHECK(GetMediaKeys(cdm_id)) << "|cdm_id| not registered.";
70 Send(new CdmHostMsg_SetServerCertificate(routing_id(), cdm_id, promise_id, 70 Send(new CdmHostMsg_SetServerCertificate(routing_id(), cdm_id, promise_id,
71 certificate)); 71 certificate));
72 } 72 }
73 73
74 void RendererCdmManager::CreateSessionAndGenerateRequest( 74 void RendererCdmManager::CreateSessionAndGenerateRequest(
75 int cdm_id, 75 int cdm_id,
76 uint32_t promise_id, 76 uint32_t promise_id,
77 media::MediaKeys::SessionType session_type,
77 CdmHostMsg_CreateSession_InitDataType init_data_type, 78 CdmHostMsg_CreateSession_InitDataType init_data_type,
78 const std::vector<uint8_t>& init_data) { 79 const std::vector<uint8_t>& init_data) {
79 DCHECK(GetMediaKeys(cdm_id)) << "|cdm_id| not registered."; 80 DCHECK(GetMediaKeys(cdm_id)) << "|cdm_id| not registered.";
80 Send(new CdmHostMsg_CreateSessionAndGenerateRequest( 81 CdmHostMsg_CreateSessionAndGenerateRequest_Params params;
81 routing_id(), cdm_id, promise_id, init_data_type, init_data)); 82 params.render_frame_id = routing_id();
83 params.cdm_id = cdm_id;
84 params.promise_id = promise_id;
85 params.session_type = session_type;
86 params.init_data_type = init_data_type;
87 params.init_data = init_data;
88 Send(new CdmHostMsg_CreateSessionAndGenerateRequest(params));
89 }
90
91 void RendererCdmManager::LoadSession(
92 int cdm_id,
93 uint32_t promise_id,
94 media::MediaKeys::SessionType session_type,
95 const std::string& session_id) {
96 DCHECK(GetMediaKeys(cdm_id)) << "|cdm_id| not registered.";
97 Send(new CdmHostMsg_LoadSession(routing_id(), cdm_id, promise_id,
98 session_type, session_id));
82 } 99 }
83 100
84 void RendererCdmManager::UpdateSession(int cdm_id, 101 void RendererCdmManager::UpdateSession(int cdm_id,
85 uint32_t promise_id, 102 uint32_t promise_id,
86 const std::string& session_id, 103 const std::string& session_id,
87 const std::vector<uint8_t>& response) { 104 const std::vector<uint8_t>& response) {
88 DCHECK(GetMediaKeys(cdm_id)) << "|cdm_id| not registered."; 105 DCHECK(GetMediaKeys(cdm_id)) << "|cdm_id| not registered.";
89 Send(new CdmHostMsg_UpdateSession(routing_id(), cdm_id, promise_id, 106 Send(new CdmHostMsg_UpdateSession(routing_id(), cdm_id, promise_id,
90 session_id, response)); 107 session_id, response));
91 } 108 }
92 109
93 void RendererCdmManager::CloseSession(int cdm_id, 110 void RendererCdmManager::CloseSession(int cdm_id,
94 uint32_t promise_id, 111 uint32_t promise_id,
95 const std::string& session_id) { 112 const std::string& session_id) {
96 DCHECK(GetMediaKeys(cdm_id)) << "|cdm_id| not registered."; 113 DCHECK(GetMediaKeys(cdm_id)) << "|cdm_id| not registered.";
97 Send(new CdmHostMsg_CloseSession(routing_id(), cdm_id, promise_id, 114 Send(new CdmHostMsg_CloseSession(routing_id(), cdm_id, promise_id,
98 session_id)); 115 session_id));
99 } 116 }
100 117
118 void RendererCdmManager::RemoveSession(int cdm_id,
119 uint32_t promise_id,
120 const std::string& session_id) {
121 DCHECK(GetMediaKeys(cdm_id)) << "|cdm_id| not registered.";
122 Send(new CdmHostMsg_RemoveSession(routing_id(), cdm_id, promise_id,
123 session_id));
124 }
125
101 void RendererCdmManager::DestroyCdm(int cdm_id) { 126 void RendererCdmManager::DestroyCdm(int cdm_id) {
102 DCHECK(GetMediaKeys(cdm_id)) << "|cdm_id| not registered."; 127 DCHECK(GetMediaKeys(cdm_id)) << "|cdm_id| not registered.";
103 Send(new CdmHostMsg_DestroyCdm(routing_id(), cdm_id)); 128 Send(new CdmHostMsg_DestroyCdm(routing_id(), cdm_id));
104 } 129 }
105 130
106 void RendererCdmManager::OnSessionMessage( 131 void RendererCdmManager::OnSessionMessage(
107 int cdm_id, 132 int cdm_id,
108 const std::string& session_id, 133 const std::string& session_id,
109 media::MediaKeys::MessageType message_type, 134 media::MediaKeys::MessageType message_type,
110 const std::vector<uint8>& message, 135 const std::vector<uint8>& message,
(...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after
213 proxy_media_keys_map_.erase(cdm_id); 238 proxy_media_keys_map_.erase(cdm_id);
214 } 239 }
215 240
216 ProxyMediaKeys* RendererCdmManager::GetMediaKeys(int cdm_id) { 241 ProxyMediaKeys* RendererCdmManager::GetMediaKeys(int cdm_id) {
217 std::map<int, ProxyMediaKeys*>::iterator iter = 242 std::map<int, ProxyMediaKeys*>::iterator iter =
218 proxy_media_keys_map_.find(cdm_id); 243 proxy_media_keys_map_.find(cdm_id);
219 return (iter != proxy_media_keys_map_.end()) ? iter->second : NULL; 244 return (iter != proxy_media_keys_map_.end()) ? iter->second : NULL;
220 } 245 }
221 246
222 } // namespace content 247 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698