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

Side by Side Diff: ppapi/cpp/dev/content_decryptor_dev.cc

Issue 10836038: Call CDMWrapper from PpapiDecryptor. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Add PP_DecryptionBuffer_Dev and update Decrypt() PPP call. Created 8 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 | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 "ppapi/cpp/dev/content_decryptor_dev.h" 5 #include "ppapi/cpp/dev/content_decryptor_dev.h"
6 6
7 #include "ppapi/c/dev/ppb_content_decryptor_dev.h" 7 #include "ppapi/c/dev/ppb_content_decryptor_dev.h"
8 #include "ppapi/c/dev/ppp_content_decryptor_dev.h" 8 #include "ppapi/c/dev/ppp_content_decryptor_dev.h"
9 #include "ppapi/cpp/instance.h" 9 #include "ppapi/cpp/instance.h"
10 #include "ppapi/cpp/instance_handle.h" 10 #include "ppapi/cpp/instance_handle.h"
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
45 PP_Bool CancelKeyRequest(PP_Instance instance, 45 PP_Bool CancelKeyRequest(PP_Instance instance,
46 PP_Var session_id) { 46 PP_Var session_id) {
47 void* object = 47 void* object =
48 Instance::GetPerInstanceObject(instance, kPPPContentDecryptorInterface); 48 Instance::GetPerInstanceObject(instance, kPPPContentDecryptorInterface);
49 if (!object) 49 if (!object)
50 return PP_FALSE; 50 return PP_FALSE;
51 return PP_FromBool( 51 return PP_FromBool(
52 static_cast<ContentDecryptor_Dev*>(object)->CancelKeyRequest(session_id)); 52 static_cast<ContentDecryptor_Dev*>(object)->CancelKeyRequest(session_id));
53 } 53 }
54 54
55
56 PP_Bool Decrypt(PP_Instance instance, 55 PP_Bool Decrypt(PP_Instance instance,
57 PP_Resource encrypted_block, 56 const struct PP_DecryptionBuffer_Dev* encrypted_buffer) {
58 PP_CompletionCallback callback) {
59 void* object = 57 void* object =
60 Instance::GetPerInstanceObject(instance, kPPPContentDecryptorInterface); 58 Instance::GetPerInstanceObject(instance, kPPPContentDecryptorInterface);
61 if (!object) 59 if (!object)
62 return PP_FALSE; 60 return PP_FALSE;
61 if (!encrypted_buffer)
62 return PP_FALSE;
63 return PP_FromBool( 63 return PP_FromBool(
64 static_cast<ContentDecryptor_Dev*>(object)->Decrypt(encrypted_block, 64 static_cast<ContentDecryptor_Dev*>(object)->Decrypt(*encrypted_buffer));
65 callback));
66 } 65 }
67 66
68 PP_Bool DecryptAndDecode(PP_Instance instance, 67 PP_Bool DecryptAndDecode(PP_Instance instance,
69 PP_Resource encrypted_block, 68 PP_Resource encrypted_block,
70 PP_CompletionCallback callback) { 69 PP_CompletionCallback callback) {
71 void* object = 70 void* object =
72 Instance::GetPerInstanceObject(instance, kPPPContentDecryptorInterface); 71 Instance::GetPerInstanceObject(instance, kPPPContentDecryptorInterface);
73 if (!object) 72 if (!object)
74 return PP_FALSE; 73 return PP_FALSE;
75 return PP_FromBool( 74 return PP_FromBool(
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after
144 get_interface<PPB_ContentDecryptor_Dev>()->KeyError( 143 get_interface<PPB_ContentDecryptor_Dev>()->KeyError(
145 associated_instance_.pp_instance(), 144 associated_instance_.pp_instance(),
146 key_system, 145 key_system,
147 session_id, 146 session_id,
148 media_error, 147 media_error,
149 system_error); 148 system_error);
150 } 149 }
151 } 150 }
152 151
153 void ContentDecryptor_Dev::DeliverBlock(PP_Resource decrypted_block, 152 void ContentDecryptor_Dev::DeliverBlock(PP_Resource decrypted_block,
154 PP_CompletionCallback callback) { 153 uint32_t id) {
155 if (has_interface<PPB_ContentDecryptor_Dev>()) { 154 if (has_interface<PPB_ContentDecryptor_Dev>()) {
156 get_interface<PPB_ContentDecryptor_Dev>()->DeliverBlock( 155 get_interface<PPB_ContentDecryptor_Dev>()->DeliverBlock(
157 associated_instance_.pp_instance(), 156 associated_instance_.pp_instance(),
158 decrypted_block, 157 decrypted_block,
159 callback); 158 id);
160 } 159 }
161 } 160 }
162 161
163 void ContentDecryptor_Dev::DeliverFrame(PP_Resource decrypted_frame, 162 void ContentDecryptor_Dev::DeliverFrame(PP_Resource decrypted_frame,
164 PP_CompletionCallback callback) { 163 PP_CompletionCallback callback) {
165 if (has_interface<PPB_ContentDecryptor_Dev>()) { 164 if (has_interface<PPB_ContentDecryptor_Dev>()) {
166 get_interface<PPB_ContentDecryptor_Dev>()->DeliverFrame( 165 get_interface<PPB_ContentDecryptor_Dev>()->DeliverFrame(
167 associated_instance_.pp_instance(), 166 associated_instance_.pp_instance(),
168 decrypted_frame, 167 decrypted_frame,
169 callback); 168 callback);
170 } 169 }
171 } 170 }
172 171
173 void ContentDecryptor_Dev::DeliverSamples(PP_Resource decrypted_samples, 172 void ContentDecryptor_Dev::DeliverSamples(PP_Resource decrypted_samples,
174 PP_CompletionCallback callback) { 173 PP_CompletionCallback callback) {
175 if (has_interface<PPB_ContentDecryptor_Dev>()) { 174 if (has_interface<PPB_ContentDecryptor_Dev>()) {
176 get_interface<PPB_ContentDecryptor_Dev>()->DeliverSamples( 175 get_interface<PPB_ContentDecryptor_Dev>()->DeliverSamples(
177 associated_instance_.pp_instance(), 176 associated_instance_.pp_instance(),
178 decrypted_samples, 177 decrypted_samples,
179 callback); 178 callback);
180 } 179 }
181 } 180 }
182 181
183 } // namespace pp 182 } // namespace pp
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698