summaryrefslogtreecommitdiff
path: root/media/gmp-clearkey/0.1/ClearKeyDecryptionManager.h
diff options
context:
space:
mode:
Diffstat (limited to 'media/gmp-clearkey/0.1/ClearKeyDecryptionManager.h')
-rw-r--r--media/gmp-clearkey/0.1/ClearKeyDecryptionManager.h101
1 files changed, 0 insertions, 101 deletions
diff --git a/media/gmp-clearkey/0.1/ClearKeyDecryptionManager.h b/media/gmp-clearkey/0.1/ClearKeyDecryptionManager.h
deleted file mode 100644
index 7a6c9a5607..0000000000
--- a/media/gmp-clearkey/0.1/ClearKeyDecryptionManager.h
+++ /dev/null
@@ -1,101 +0,0 @@
-/*
- * Copyright 2015, Mozilla Foundation and contributors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef __ClearKeyDecryptionManager_h__
-#define __ClearKeyDecryptionManager_h__
-
-#include <map>
-
-#include "ClearKeyUtils.h"
-#include "RefCounted.h"
-
-class ClearKeyDecryptor;
-
-class CryptoMetaData {
-public:
- CryptoMetaData() {}
-
- explicit CryptoMetaData(const GMPEncryptedBufferMetadata* aCrypto)
- {
- Init(aCrypto);
- }
-
- void Init(const GMPEncryptedBufferMetadata* aCrypto)
- {
- if (!aCrypto) {
- assert(!IsValid());
- return;
- }
- Assign(mKeyId, aCrypto->KeyId(), aCrypto->KeyIdSize());
- Assign(mIV, aCrypto->IV(), aCrypto->IVSize());
- Assign(mClearBytes, aCrypto->ClearBytes(), aCrypto->NumSubsamples());
- Assign(mCipherBytes, aCrypto->CipherBytes(), aCrypto->NumSubsamples());
- }
-
- bool IsValid() const {
- return !mKeyId.empty() &&
- !mIV.empty() &&
- !mCipherBytes.empty() &&
- !mClearBytes.empty();
- }
-
- size_t NumSubsamples() const {
- assert(mClearBytes.size() == mCipherBytes.size());
- return mClearBytes.size();
- }
-
- std::vector<uint8_t> mKeyId;
- std::vector<uint8_t> mIV;
- std::vector<uint16_t> mClearBytes;
- std::vector<uint32_t> mCipherBytes;
-};
-
-class ClearKeyDecryptionManager : public RefCounted
-{
-private:
- ClearKeyDecryptionManager();
- ~ClearKeyDecryptionManager();
-
- static ClearKeyDecryptionManager* sInstance;
-
-public:
- static ClearKeyDecryptionManager* Get();
-
- bool HasSeenKeyId(const KeyId& aKeyId) const;
- bool HasKeyForKeyId(const KeyId& aKeyId) const;
-
- const Key& GetDecryptionKey(const KeyId& aKeyId);
-
- // Create a decryptor for the given KeyId if one does not already exist.
- void InitKey(KeyId aKeyId, Key aKey);
- void ExpectKeyId(KeyId aKeyId);
- void ReleaseKeyId(KeyId aKeyId);
-
- // Decrypts buffer *in place*.
- GMPErr Decrypt(uint8_t* aBuffer, uint32_t aBufferSize,
- const CryptoMetaData& aMetadata);
- GMPErr Decrypt(std::vector<uint8_t>& aBuffer,
- const CryptoMetaData& aMetadata);
-
- void Shutdown();
-
-private:
- bool IsExpectingKeyForKeyId(const KeyId& aKeyId) const;
-
- std::map<KeyId, ClearKeyDecryptor*> mDecryptors;
-};
-
-#endif // __ClearKeyDecryptionManager_h__