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

Side by Side Diff: ppapi/api/private/ppp_content_decryptor_private.idl

Issue 24192004: Changes to the EME Pepper API (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 7 years, 3 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 (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 5
6 /** 6 /**
7 * This file defines the <code>PPP_ContentDecryptor_Private</code> 7 * This file defines the <code>PPP_ContentDecryptor_Private</code>
8 * interface. Note: This is a special interface, only to be used for Content 8 * interface. Note: This is a special interface, only to be used for Content
9 * Decryption Modules, not normal plugins. 9 * Decryption Modules, not normal plugins.
10 */ 10 */
11 label Chrome { 11 label Chrome {
12 M24 = 0.6 12 M31 = 0.7
13 }; 13 };
14 14
15 /** 15 /**
16 * <code>PPP_ContentDecryptor_Private</code> structure contains the function 16 * <code>PPP_ContentDecryptor_Private</code> structure contains the function
17 * pointers the decryption plugin must implement to provide services needed by 17 * pointers the decryption plugin must implement to provide services needed by
18 * the browser. This interface provides the plugin side support for the Content 18 * the browser. This interface provides the plugin side support for the Content
19 * Decryption Module (CDM) for v0.1 of the proposed Encrypted Media Extensions: 19 * Decryption Module (CDM) for v0.1 of the proposed Encrypted Media Extensions:
20 * http://goo.gl/rbdnR 20 * http://goo.gl/rbdnR
21 */ 21 */
22 interface PPP_ContentDecryptor_Private { 22 interface PPP_ContentDecryptor_Private {
23 /** 23 /**
24 * Initialize for the specified key system.
25 *
26 * @param[in] key_system A <code>PP_Var</code> of type
27 * <code>PP_VARTYPE_STRING</code> containing the name of the key system.
28 */
29 void Initialize(
30 [in] PP_Instance instance,
31 [in] PP_Var key_system);
ddorwin 2013/09/17 23:15:42 What about the other values we discussed? Should w
jrummell 2013/09/18 21:01:15 Added PP_KeySystemFlags.
32
33 /**
24 * Generates a key request. key_system specifies the key or licensing system 34 * Generates a key request. key_system specifies the key or licensing system
25 * to use. type contains the MIME type of init_data. init_data is a data 35 * to use. type contains the MIME type of init_data. init_data is a data
26 * buffer containing data for use in generating the request. 36 * buffer containing data for use in generating the request.
27 * 37 *
28 * Note: <code>GenerateKeyRequest()</code> must create the session ID used in 38 * Note: <code>GenerateKeyRequest()</code> must create the session ID used in
29 * other methods on this interface. The session ID must be provided to the 39 * other methods on this interface. The session ID must be provided to the
30 * browser by the CDM via <code>KeyMessage()</code> on the 40 * browser by the CDM via <code>KeyMessage()</code> on the
31 * <code>PPB_ContentDecryptor_Private</code> interface. 41 * <code>PPB_ContentDecryptor_Private</code> interface.
32 * 42 *
33 * @param[in] key_system A <code>PP_Var</code> of type
34 * <code>PP_VARTYPE_STRING</code> containing the name of the key system.
35 *
36 * @param[in] type A <code>PP_Var</code> of type 43 * @param[in] type A <code>PP_Var</code> of type
37 * <code>PP_VARTYPE_STRING</code> containing the MIME type for init_data. 44 * <code>PP_VARTYPE_STRING</code> containing the MIME type for init_data.
38 * 45 *
39 * @param[in] init_data A <code>PP_Var</code> of type 46 * @param[in] init_data A <code>PP_Var</code> of type
40 * <code>PP_VARTYPE_ARRAYBUFFER</code> containing container specific 47 * <code>PP_VARTYPE_ARRAYBUFFER</code> containing container specific
41 * initialization data. 48 * initialization data.
42 */ 49 */
43 void GenerateKeyRequest( 50 void GenerateKeyRequest(
44 [in] PP_Instance instance, 51 [in] PP_Instance instance,
45 [in] PP_Var key_system,
46 [in] PP_Var type, 52 [in] PP_Var type,
47 [in] PP_Var init_data); 53 [in] PP_Var init_data);
48 54
49 /** 55 /**
50 * Provides a key or license to the decryptor for decrypting media data. 56 * Provides a key or license to the decryptor for decrypting media data.
51 * 57 *
52 * When the CDM needs more information to complete addition of the key it 58 * When the CDM needs more information to complete addition of the key it
53 * will call <code>KeyMessage()</code> on the 59 * will call <code>KeyMessage()</code> on the
54 * <code>PPB_ContentDecryptor_Private</code> interface, which the browser 60 * <code>PPB_ContentDecryptor_Private</code> interface, which the browser
55 * passes to the application. When the key is ready to use, the CDM 61 * passes to the application. When the key is ready to use, the CDM
(...skipping 153 matching lines...) Expand 10 before | Expand all | Expand 10 after
209 * @param[in] encrypted_block_info A <code>PP_EncryptedBlockInfo</code> that 215 * @param[in] encrypted_block_info A <code>PP_EncryptedBlockInfo</code> that
210 * contains all auxiliary information needed for decryption of the 216 * contains all auxiliary information needed for decryption of the
211 * <code>encrypted_block</code>. 217 * <code>encrypted_block</code>.
212 */ 218 */
213 void DecryptAndDecode( 219 void DecryptAndDecode(
214 [in] PP_Instance instance, 220 [in] PP_Instance instance,
215 [in] PP_DecryptorStreamType decoder_type, 221 [in] PP_DecryptorStreamType decoder_type,
216 [in] PP_Resource encrypted_buffer, 222 [in] PP_Resource encrypted_buffer,
217 [in] PP_EncryptedBlockInfo encrypted_block_info); 223 [in] PP_EncryptedBlockInfo encrypted_block_info);
218 }; 224 };
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698