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 /** | 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 */ |
(...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
115 * <code>PPB_Buffer_Dev</code> resource containing codec setup data required | 115 * <code>PPB_Buffer_Dev</code> resource containing codec setup data required |
116 * by some codecs. It should be set to 0 when the codec being initialized | 116 * by some codecs. It should be set to 0 when the codec being initialized |
117 * does not require it. | 117 * does not require it. |
118 */ | 118 */ |
119 void InitializeVideoDecoder( | 119 void InitializeVideoDecoder( |
120 [in] PP_Instance instance, | 120 [in] PP_Instance instance, |
121 [in] PP_VideoDecoderConfig decoder_config, | 121 [in] PP_VideoDecoderConfig decoder_config, |
122 [in] PP_Resource codec_extra_data); | 122 [in] PP_Resource codec_extra_data); |
123 | 123 |
124 /** | 124 /** |
| 125 * De-initializes the decoder for the <code>PP_DecryptorStreamType</code> |
| 126 * specified by <code>decoder_type</code> and sets it to an uninitialized |
| 127 * state. The decoder can be re-initialized after de-initialization completes |
| 128 * by calling <code>InitializeAudioDecoder</code> or |
| 129 * <code>InitializeVideoDecoder</code>. |
| 130 * |
| 131 * De-initialization completion is reported to the browser using the |
| 132 * <code>DecoderDeinitializeDone()</code> method on the |
| 133 * <code>PPB_ContentDecryptor_Private</code> interface. |
| 134 * |
| 135 * @param[in] decoder_type A <code>PP_DecryptorStreamType</code> that |
| 136 * specifies the decoder to de-initialize. |
| 137 * |
| 138 * @param[in] request_id A request ID that allows the browser to associate a |
| 139 * request to de-initialize a decoder with the corresponding call to the |
| 140 * <code>DecoderDeinitializeDone()</code> method on the |
| 141 * <code>PPB_ContentDecryptor_Private</code> interface. |
| 142 */ |
| 143 void DeinitializeDecoder( |
| 144 [in] PP_Instance instance, |
| 145 [in] PP_DecryptorStreamType decoder_type, |
| 146 [in] uint32_t request_id); |
| 147 |
| 148 /** |
| 149 * Resets the decoder for the <code>PP_DecryptorStreamType</code> specified |
| 150 * by <code>decoder_type</code> to an initialized clean state. Reset |
| 151 * completion is reported to the browser using the |
| 152 * <code>DecoderResetDone()</code> method on the |
| 153 * <code>PPB_ContentDecryptor_Private</code> interface. This method can be |
| 154 * used to signal a discontinuity in the encoded data stream, and is safe to |
| 155 * call multiple times. |
| 156 * |
| 157 * @param[in] decoder_type A <code>PP_DecryptorStreamType</code> that |
| 158 * specifies the decoder to reset. |
| 159 * |
| 160 * @param[in] request_id A request ID that allows the browser to associate a |
| 161 * request to reset the decoder with a corresponding call to the |
| 162 * <code>DecoderResetDone()</code> method on the |
| 163 * <code>PPB_ContentDecryptor_Private</code> interface. |
| 164 */ |
| 165 void ResetDecoder( |
| 166 [in] PP_Instance instance, |
| 167 [in] PP_DecryptorStreamType decoder_type, |
| 168 [in] uint32_t request_id); |
| 169 |
| 170 /** |
125 * Decrypts encrypted_video_frame, decodes it, and returns the unencrypted | 171 * Decrypts encrypted_video_frame, decodes it, and returns the unencrypted |
126 * uncompressed (decoded) video frame to the browser via the | 172 * uncompressed (decoded) video frame to the browser via the |
127 * <code>DeliverFrame()</code> method on the | 173 * <code>DeliverFrame()</code> method on the |
128 * <code>PPB_ContentDecryptor_Private</code> interface. | 174 * <code>PPB_ContentDecryptor_Private</code> interface. |
129 * | 175 * |
130 * @param[in] encrypted_video_frame A <code>PP_Resource</code> corresponding | 176 * @param[in] encrypted_video_frame A <code>PP_Resource</code> corresponding |
131 * to a <code>PPB_Buffer_Dev</code> resource that contains an encrypted video | 177 * to a <code>PPB_Buffer_Dev</code> resource that contains an encrypted video |
132 * frame. | 178 * frame. |
133 * | 179 * |
134 * @param[in] encrypted_video_frame_info A | 180 * @param[in] encrypted_video_frame_info A |
135 * <code>PP_EncryptedVideoFrameInfo</code> that contains all information | 181 * <code>PP_EncryptedVideoFrameInfo</code> that contains all information |
136 * needed to decrypt and decode <code>encrypted_video_frame</code>. | 182 * needed to decrypt and decode <code>encrypted_video_frame</code>. |
137 */ | 183 */ |
138 void DecryptAndDecodeFrame( | 184 void DecryptAndDecodeFrame( |
139 [in] PP_Instance instance, | 185 [in] PP_Instance instance, |
140 [in] PP_Resource encrypted_video_frame, | 186 [in] PP_Resource encrypted_video_frame, |
141 [in] PP_EncryptedVideoFrameInfo encrypted_video_frame_info); | 187 [in] PP_EncryptedVideoFrameInfo encrypted_video_frame_info); |
142 }; | 188 }; |
OLD | NEW |