| Index: ppapi/cpp/dev/content_decryptor_dev.h
|
| diff --git a/ppapi/cpp/dev/content_decryptor_dev.h b/ppapi/cpp/dev/content_decryptor_dev.h
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..d6d606d4e08e6ec9b95d4c8436af8597340a399e
|
| --- /dev/null
|
| +++ b/ppapi/cpp/dev/content_decryptor_dev.h
|
| @@ -0,0 +1,73 @@
|
| +// Copyright (c) 2012 The Chromium Authors. All rights reserved.
|
| +// Use of this source code is governed by a BSD-style license that can be
|
| +// found in the LICENSE file.
|
| +
|
| +#ifndef PPAPI_CPP_DEV_CONTENT_DECRYPTOR_DEV_H_
|
| +#define PPAPI_CPP_DEV_CONTENT_DECRYPTOR_DEV_H_
|
| +
|
| +#include "ppapi/c/dev/ppb_content_decryptor_dev.h"
|
| +#include "ppapi/c/dev/ppp_content_decryptor_dev.h"
|
| +#include "ppapi/cpp/instance_handle.h"
|
| +#include "ppapi/cpp/var.h"
|
| +#include "ppapi/cpp/dev/buffer_dev.h"
|
| +
|
| +namespace pp {
|
| +
|
| +class Instance;
|
| +
|
| +class ContentDecryptor_Dev {
|
| + public:
|
| + explicit ContentDecryptor_Dev(Instance* instance);
|
| + virtual ~ContentDecryptor_Dev();
|
| +
|
| + // PPP_ContentDecryptor_Dev functions exposed as virtual functions
|
| + // for you to override.
|
| + virtual bool GenerateKeyRequest(PP_Var key_system, // String.
|
| + PP_Var init_data) = 0; // ArrayBuffer.
|
| +
|
| + virtual bool AddKey(PP_Var session_id, // String.
|
| + PP_Var key) = 0; // ArrayBuffer.
|
| +
|
| + virtual bool CancelKeyRequest(PP_Var session_id) = 0; // String.
|
| +
|
| + virtual bool Decrypt(PP_Resource encrypted_block,
|
| + PP_CompletionCallback callback) = 0;
|
| +
|
| + virtual bool DecryptAndDecode(PP_Resource encrypted_block,
|
| + PP_CompletionCallback callback) = 0;
|
| +
|
| + // PPB_ContentDecryptor_Dev methods for passing data from the decryptor to the
|
| + // browser.
|
| + void NeedKey(PP_Var key_system, // String.
|
| + PP_Var session_id, // String.
|
| + PP_Var init_data); // ArrayBuffer.
|
| +
|
| + void KeyAdded(PP_Var key_system, // String.
|
| + PP_Var session_id); // String.
|
| +
|
| + void KeyMessage(PP_Var key_system, // String.
|
| + PP_Var session_id, // String.
|
| + PP_Resource message,
|
| + PP_Var default_url); // String.
|
| +
|
| + void KeyError(PP_Var key_system, // String.
|
| + PP_Var session_id, // String.
|
| + int32_t media_error,
|
| + int32_t system_error);
|
| +
|
| + void DeliverBlock(PP_Resource decrypted_block, // PPB_Buffer.
|
| + PP_CompletionCallback callback);
|
| +
|
| + void DeliverFrame(PP_Resource decrypted_frame, // PPB_Buffer.
|
| + PP_CompletionCallback callback);
|
| +
|
| + void DeliverSamples(PP_Resource decrypted_samples, // PPB_Buffer.
|
| + PP_CompletionCallback callback);
|
| +
|
| + private:
|
| + InstanceHandle associated_instance_;
|
| +};
|
| +
|
| +} // namespace pp
|
| +
|
| +#endif // PPAPI_CPP_DEV_CONTENT_DECRYPTOR_DEV_H_
|
|
|