OLD | NEW |
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 /* From private/ppb_content_decryptor_private.idl, | 6 /* From private/ppb_content_decryptor_private.idl, |
7 * modified Mon Oct 01 20:33:45 2012. | 7 * modified Mon Oct 8 13:44:40 2012. |
8 */ | 8 */ |
9 | 9 |
10 #ifndef PPAPI_C_PRIVATE_PPB_CONTENT_DECRYPTOR_PRIVATE_H_ | 10 #ifndef PPAPI_C_PRIVATE_PPB_CONTENT_DECRYPTOR_PRIVATE_H_ |
11 #define PPAPI_C_PRIVATE_PPB_CONTENT_DECRYPTOR_PRIVATE_H_ | 11 #define PPAPI_C_PRIVATE_PPB_CONTENT_DECRYPTOR_PRIVATE_H_ |
12 | 12 |
13 #include "ppapi/c/pp_bool.h" | 13 #include "ppapi/c/pp_bool.h" |
14 #include "ppapi/c/pp_instance.h" | 14 #include "ppapi/c/pp_instance.h" |
15 #include "ppapi/c/pp_macros.h" | 15 #include "ppapi/c/pp_macros.h" |
16 #include "ppapi/c/pp_resource.h" | 16 #include "ppapi/c/pp_resource.h" |
17 #include "ppapi/c/pp_stdint.h" | 17 #include "ppapi/c/pp_stdint.h" |
18 #include "ppapi/c/pp_var.h" | 18 #include "ppapi/c/pp_var.h" |
19 #include "ppapi/c/private/pp_content_decryptor.h" | 19 #include "ppapi/c/private/pp_content_decryptor.h" |
20 | 20 |
21 #define PPB_CONTENTDECRYPTOR_PRIVATE_INTERFACE_0_2 \ | 21 #define PPB_CONTENTDECRYPTOR_PRIVATE_INTERFACE_0_3 \ |
22 "PPB_ContentDecryptor_Private;0.2" | 22 "PPB_ContentDecryptor_Private;0.3" |
23 #define PPB_CONTENTDECRYPTOR_PRIVATE_INTERFACE \ | 23 #define PPB_CONTENTDECRYPTOR_PRIVATE_INTERFACE \ |
24 PPB_CONTENTDECRYPTOR_PRIVATE_INTERFACE_0_2 | 24 PPB_CONTENTDECRYPTOR_PRIVATE_INTERFACE_0_3 |
25 | 25 |
26 /** | 26 /** |
27 * @file | 27 * @file |
28 * This file defines the <code>PPB_ContentDecryptor_Private</code> | 28 * This file defines the <code>PPB_ContentDecryptor_Private</code> |
29 * interface. Note: This is a special interface, only to be used for Content | 29 * interface. Note: This is a special interface, only to be used for Content |
30 * Decryption Modules, not normal plugins. | 30 * Decryption Modules, not normal plugins. |
31 */ | 31 */ |
32 | 32 |
33 | 33 |
34 /** | 34 /** |
35 * @addtogroup Interfaces | 35 * @addtogroup Interfaces |
36 * @{ | 36 * @{ |
37 */ | 37 */ |
38 /** | 38 /** |
39 * <code>PPB_ContentDecryptor_Private</code> structure contains the function | 39 * <code>PPB_ContentDecryptor_Private</code> structure contains the function |
40 * pointers the browser must implement to support plugins implementing the | 40 * pointers the browser must implement to support plugins implementing the |
41 * <code>PPP_ContentDecryptor_Private</code> interface. This interface provides | 41 * <code>PPP_ContentDecryptor_Private</code> interface. This interface provides |
42 * browser side support for the Content Decryption Module (CDM) for v0.1 of the | 42 * browser side support for the Content Decryption Module (CDM) for v0.1 of the |
43 * proposed Encrypted Media Extensions: http://goo.gl/rbdnR | 43 * proposed Encrypted Media Extensions: http://goo.gl/rbdnR |
44 */ | 44 */ |
45 struct PPB_ContentDecryptor_Private_0_2 { | 45 struct PPB_ContentDecryptor_Private_0_3 { |
46 /** | 46 /** |
47 * The decryptor requires a key that has not been provided. | 47 * The decryptor requires a key that has not been provided. |
48 * | 48 * |
49 * Sent when the decryptor encounters encrypted content, but it does not have | 49 * Sent when the decryptor encounters encrypted content, but it does not have |
50 * the key required to decrypt the data. The plugin will call this method in | 50 * the key required to decrypt the data. The plugin will call this method in |
51 * response to a call to the <code>Decrypt()</code> method on the | 51 * response to a call to the <code>Decrypt()</code> method on the |
52 * <code>PPP_ContentDecryptor_Private<code> interface. | 52 * <code>PPP_ContentDecryptor_Private<code> interface. |
53 * | 53 * |
54 * The browser must notify the application that a key is needed, and, in | 54 * The browser must notify the application that a key is needed, and, in |
55 * response, the web application must direct the browser to call | 55 * response, the web application must direct the browser to call |
(...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
153 * | 153 * |
154 * @param[in] decrypted_block_info A <code>PP_DecryptedBlockInfo</code> that | 154 * @param[in] decrypted_block_info A <code>PP_DecryptedBlockInfo</code> that |
155 * contains the result code and tracking info associated with the | 155 * contains the result code and tracking info associated with the |
156 * <code>decrypted_block</code>. | 156 * <code>decrypted_block</code>. |
157 */ | 157 */ |
158 void (*DeliverBlock)( | 158 void (*DeliverBlock)( |
159 PP_Instance instance, | 159 PP_Instance instance, |
160 PP_Resource decrypted_block, | 160 PP_Resource decrypted_block, |
161 const struct PP_DecryptedBlockInfo* decrypted_block_info); | 161 const struct PP_DecryptedBlockInfo* decrypted_block_info); |
162 /** | 162 /** |
| 163 * Called after the <code>ResetAudioDecoder()</code> or |
| 164 * <code>ResetVideoDecoder()</code> method on the |
| 165 * <code>PPP_ContentDecryptor_Private</code> interface completes to report |
| 166 * decoder reset completion to the browser. |
| 167 * |
| 168 * @param[in] request_id The <code>request_id</code> value passed to |
| 169 * <code>ResetAudioDecoder</code> or <code>ResetVideoDecoder</code>. |
| 170 */ |
| 171 void (*DecoderReset)(PP_Instance instance, uint32_t request_id); |
| 172 /** |
| 173 * Called after the <code>StopAudioDecoder()</code> or |
| 174 * <code>StopVideoDecoder()</code> method on the |
| 175 * <code>PPP_ContentDecryptor_Private</code> interface completes to report |
| 176 * decoder stop completion to the browser. |
| 177 * |
| 178 * @param[in] request_id The <code>request_id</code> value passed to |
| 179 * <code>StopAudioDecoder</code> or <code>StopVideoDecoder</code>. |
| 180 */ |
| 181 void (*DecoderStopped)(PP_Instance instance, uint32_t request_id); |
| 182 /** |
163 * Called after the <code>DecryptAndDecode()</code> method on the | 183 * Called after the <code>DecryptAndDecode()</code> method on the |
164 * <code>PPP_ContentDecryptor_Private</code> interface completes to deliver | 184 * <code>PPP_ContentDecryptor_Private</code> interface completes to deliver |
165 * a decrypted and decoded video frame to the browser for rendering. | 185 * a decrypted and decoded video frame to the browser for rendering. |
166 * | 186 * |
167 * @param[in] decrypted_frame A <code>PP_Resource</code> corresponding to a | 187 * @param[in] decrypted_frame A <code>PP_Resource</code> corresponding to a |
168 * <code>PPB_Buffer_Dev</code> resource that contains a video frame. | 188 * <code>PPB_Buffer_Dev</code> resource that contains a video frame. |
169 * | 189 * |
170 * @param[in] decrypted_frame_info A <code>PP_DecryptedFrameInfo</code> that | 190 * @param[in] decrypted_frame_info A <code>PP_DecryptedFrameInfo</code> that |
171 * contains the result code, tracking info, and buffer format associated with | 191 * contains the result code, tracking info, and buffer format associated with |
172 * <code>decrypted_frame</code>. | 192 * <code>decrypted_frame</code>. |
(...skipping 15 matching lines...) Expand all Loading... |
188 * @param[in] decrypted_block_info A <code>PP_DecryptedBlockInfo</code> that | 208 * @param[in] decrypted_block_info A <code>PP_DecryptedBlockInfo</code> that |
189 * contains the tracking info and result code associated with the | 209 * contains the tracking info and result code associated with the |
190 * <code>decrypted_block</code>. | 210 * <code>decrypted_block</code>. |
191 */ | 211 */ |
192 void (*DeliverSamples)( | 212 void (*DeliverSamples)( |
193 PP_Instance instance, | 213 PP_Instance instance, |
194 PP_Resource decrypted_samples, | 214 PP_Resource decrypted_samples, |
195 const struct PP_DecryptedBlockInfo* decrypted_block_info); | 215 const struct PP_DecryptedBlockInfo* decrypted_block_info); |
196 }; | 216 }; |
197 | 217 |
198 typedef struct PPB_ContentDecryptor_Private_0_2 PPB_ContentDecryptor_Private; | 218 typedef struct PPB_ContentDecryptor_Private_0_3 PPB_ContentDecryptor_Private; |
199 /** | 219 /** |
200 * @} | 220 * @} |
201 */ | 221 */ |
202 | 222 |
203 #endif /* PPAPI_C_PRIVATE_PPB_CONTENT_DECRYPTOR_PRIVATE_H_ */ | 223 #endif /* PPAPI_C_PRIVATE_PPB_CONTENT_DECRYPTOR_PRIVATE_H_ */ |
204 | 224 |
OLD | NEW |