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

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

Issue 496143002: Update Pepper interface for EME (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: remove vector.data() Created 6 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>PPB_ContentDecryptor_Private</code> 7 * This file defines the <code>PPB_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 */
(...skipping 15 matching lines...) Expand all
26 /** 26 /**
27 * A promise has been resolved by the CDM. 27 * A promise has been resolved by the CDM.
28 * 28 *
29 * @param[in] promise_id Identifies the promise that the CDM resolved. 29 * @param[in] promise_id Identifies the promise that the CDM resolved.
30 */ 30 */
31 void PromiseResolved( 31 void PromiseResolved(
32 [in] PP_Instance instance, 32 [in] PP_Instance instance,
33 [in] uint32_t promise_id); 33 [in] uint32_t promise_id);
34 34
35 /** 35 /**
36 * A promise has been resolved by the CDM. 36 * A promise that resulted in a new session has been resolved by the CDM.
37 * 37 *
38 * @param[in] promise_id Identifies the promise that the CDM resolved. 38 * @param[in] promise_id Identifies the promise that the CDM resolved.
39 * 39 *
40 * @param[in] web_session_id A <code>PP_Var</code> of type 40 * @param[in] web_session_id A <code>PP_Var</code> of type
41 * <code>PP_VARTYPE_STRING</code> containing the session's ID attribute. 41 * <code>PP_VARTYPE_STRING</code> containing the session's ID attribute.
42 */ 42 */
43 void PromiseResolvedWithSession( 43 void PromiseResolvedWithSession(
44 [in] PP_Instance instance, 44 [in] PP_Instance instance,
45 [in] uint32_t promise_id, 45 [in] uint32_t promise_id,
46 [in] PP_Var web_session_id); 46 [in] PP_Var web_session_id);
47 47
48 /** 48 /**
49 * A promise that returns a set of key IDs has been resolved by the CDM.
50 *
51 * @param[in] promise_id Identifies the promise that the CDM resolved.
52 *
53 * @param[in] key_ids A <code>PP_Var</code> of type
54 * <code>PP_VARTYPE_ARRAY</code> containing elements of type
55 * <code>PP_VARTYPE_ARRAYBUFFER</code> that are the session's usable key IDs.
56 */
57 void PromiseResolvedWithKeyIds(
58 [in] PP_Instance instance,
59 [in] uint32_t promise_id,
60 [in] PP_Var key_ids_array);
61
62 /**
49 * A promise has been rejected by the CDM due to an error. 63 * A promise has been rejected by the CDM due to an error.
50 * 64 *
51 * @param[in] promise_id Identifies the promise that the CDM rejected. 65 * @param[in] promise_id Identifies the promise that the CDM rejected.
52 * 66 *
53 * @param[in] exception_code A <code>PP_CdmExceptionCode</code> containing 67 * @param[in] exception_code A <code>PP_CdmExceptionCode</code> containing
54 * the exception code. 68 * the exception code.
55 * 69 *
56 * @param[in] system_code A system error code. 70 * @param[in] system_code A system error code.
57 * 71 *
58 * @param[in] error_description A <code>PP_Var</code> of type 72 * @param[in] error_description A <code>PP_Var</code> of type
(...skipping 14 matching lines...) Expand all
73 * on the <code>PPP_ContentDecryptor_Private</code> interface, the plugin 87 * on the <code>PPP_ContentDecryptor_Private</code> interface, the plugin
74 * must send a message containing the license request. 88 * must send a message containing the license request.
75 * 89 *
76 * Note that <code>SessionMessage()</code> can be used for purposes other than 90 * Note that <code>SessionMessage()</code> can be used for purposes other than
77 * responses to <code>CreateSession()</code> calls. See also the text 91 * responses to <code>CreateSession()</code> calls. See also the text
78 * in the comment for <code>SessionReady()</code>, which describes a sequence 92 * in the comment for <code>SessionReady()</code>, which describes a sequence
79 * of <code>UpdateSession()</code> and <code>SessionMessage()</code> calls 93 * of <code>UpdateSession()</code> and <code>SessionMessage()</code> calls
80 * required to prepare for decryption. 94 * required to prepare for decryption.
81 * 95 *
82 * @param[in] web_session_id A <code>PP_Var</code> of type 96 * @param[in] web_session_id A <code>PP_Var</code> of type
83 * <code>PP_VARTYPE_STRING</code> containing the session's ID attribute for 97 * <code>PP_VARTYPE_STRING</code> containing the ID of a session for
84 * which the message is intended. 98 * which this message is intended.
85 * 99 *
86 * @param[in] message A <code>PP_Var</code> of type 100 * @param[in] message A <code>PP_Var</code> of type
87 * <code>PP_VARTYPE_ARRAY_BUFFER</code> that contains the message. 101 * <code>PP_VARTYPE_ARRAY_BUFFER</code> that contains the message.
88 * 102 *
89 * @param[in] destination_url A <code>PP_Var</code> of type 103 * @param[in] destination_url A <code>PP_Var</code> of type
90 * <code>PP_VARTYPE_STRING</code> containing the destination URL for the 104 * <code>PP_VARTYPE_STRING</code> containing the destination URL for the
91 * message. 105 * message.
92 */ 106 */
93 void SessionMessage( 107 void SessionMessage(
94 [in] PP_Instance instance, 108 [in] PP_Instance instance,
95 [in] PP_Var web_session_id, 109 [in] PP_Var web_session_id,
96 [in] PP_Var message, 110 [in] PP_Var message,
97 [in] PP_Var destination_url); 111 [in] PP_Var destination_url);
98 112
99 /** 113 /**
114 * The keys for a session have changed.
115 *
116 * @param[in] web_session_id A <code>PP_Var</code> of type
117 * <code>PP_VARTYPE_STRING</code> containing the ID of the session that has
118 * a change in keys.
119 *
120 * @param[in] has_additional_usable_key A <code>PP_Bool</code> indicating if
121 * a new usable key has been added.
122 */
123 void SessionKeysChange(
124 [in] PP_Instance instance,
125 [in] PP_Var web_session_id,
126 [in] PP_Bool has_additional_usable_key);
127
128 /**
129 * The expiration time for a session has changed.
130 *
131 * @param[in] web_session_id A <code>PP_Var</code> of type
132 * <code>PP_VARTYPE_STRING</code> containing the ID of the session that has
133 * a new expiration time.
134 *
135 * @param[in] new_expiry_time A <code>PP_Time</code> indicating the new
136 * expiry time of the session. The value is defined as the number of seconds
137 * since the Epoch (00:00:00 UTC, January 1, 1970).
138 */
139 void SessionExpirationChange(
140 [in] PP_Instance instance,
141 [in] PP_Var web_session_id,
142 [in] PP_Time new_expiry_time);
143
144 /**
100 * The session is now ready to decrypt the media stream. 145 * The session is now ready to decrypt the media stream.
101 * 146 *
102 * Note: The above describes the most simple case. Depending on the key 147 * Note: The above describes the most simple case. Depending on the key
103 * system, a series of <code>SessionMessage()</code> calls from the CDM will 148 * system, a series of <code>SessionMessage()</code> calls from the CDM will
104 * be sent to the browser, and then on to the web application. The web 149 * be sent to the browser, and then on to the web application. The web
105 * application must then provide more data to the CDM by directing the browser 150 * application must then provide more data to the CDM by directing the browser
106 * to pass the data to the CDM via calls to <code>UpdateSession()</code> on 151 * to pass the data to the CDM via calls to <code>UpdateSession()</code> on
107 * the <code>PPP_ContentDecryptor_Private</code> interface. 152 * the <code>PPP_ContentDecryptor_Private</code> interface.
108 * The CDM must call <code>SessionReady()</code> when the sequence is 153 * The CDM must call <code>SessionReady()</code> when the sequence is
109 * completed, and, in response, the browser must notify the web application. 154 * completed, and, in response, the browser must notify the web application.
(...skipping 172 matching lines...) Expand 10 before | Expand all | Expand 10 after
282 * 327 *
283 * @param[in] decrypted_sample_info A <code>PP_DecryptedSampleInfo</code> that 328 * @param[in] decrypted_sample_info A <code>PP_DecryptedSampleInfo</code> that
284 * contains the tracking info and result code associated with the decrypted 329 * contains the tracking info and result code associated with the decrypted
285 * samples. 330 * samples.
286 */ 331 */
287 void DeliverSamples( 332 void DeliverSamples(
288 [in] PP_Instance instance, 333 [in] PP_Instance instance,
289 [in] PP_Resource audio_frames, 334 [in] PP_Resource audio_frames,
290 [in] PP_DecryptedSampleInfo decrypted_sample_info); 335 [in] PP_DecryptedSampleInfo decrypted_sample_info);
291 }; 336 };
OLDNEW
« no previous file with comments | « mojo/examples/pepper_container_app/plugin_instance.cc ('k') | ppapi/api/private/ppp_content_decryptor_private.idl » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698