| Index: media/base/encryption_scheme.cc
|
| diff --git a/media/base/encryption_scheme.cc b/media/base/encryption_scheme.cc
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..f334dcb1ac7dbd27c28c4643c9db7a73f6f8c8df
|
| --- /dev/null
|
| +++ b/media/base/encryption_scheme.cc
|
| @@ -0,0 +1,52 @@
|
| +// Copyright 2015 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.
|
| +
|
| +#include "media/base/encryption_scheme.h"
|
| +
|
| +namespace media {
|
| +
|
| +EncryptionScheme::PatternSpec::PatternSpec()
|
| + : encrypt_blocks_(0), skip_blocks_(0) {}
|
| +
|
| +EncryptionScheme::PatternSpec::PatternSpec(uint32_t encrypt_blocks,
|
| + uint32_t skip_blocks)
|
| + : encrypt_blocks_(encrypt_blocks), skip_blocks_(skip_blocks) {}
|
| +
|
| +EncryptionScheme::PatternSpec::~PatternSpec() {}
|
| +
|
| +bool EncryptionScheme::PatternSpec::Matches(const PatternSpec& other) const {
|
| + return encrypt_blocks_ == other.encrypt_blocks() &&
|
| + skip_blocks_ == other.skip_blocks();
|
| +}
|
| +
|
| +bool EncryptionScheme::PatternSpec::IsInEffect() const {
|
| + return encrypt_blocks_ != 0 || skip_blocks_ != 0;
|
| +}
|
| +
|
| +EncryptionScheme::EncryptionScheme() : mode_(kCipherModeNone), pattern_() {}
|
| +
|
| +EncryptionScheme::EncryptionScheme(bool is_encrypted)
|
| + : mode_(is_encrypted ? kCipherModeAesCtr : kCipherModeNone) {}
|
| +
|
| +EncryptionScheme::EncryptionScheme(CipherMode mode) : mode_(mode), pattern_() {}
|
| +
|
| +EncryptionScheme::EncryptionScheme(CipherMode mode, const PatternSpec& pattern)
|
| + : mode_(mode), pattern_(pattern) {}
|
| +
|
| +EncryptionScheme::~EncryptionScheme() {}
|
| +
|
| +void EncryptionScheme::Initialize(CipherMode mode, const PatternSpec& pattern) {
|
| + mode_ = mode;
|
| + pattern_ = pattern;
|
| +}
|
| +
|
| +bool EncryptionScheme::Matches(const EncryptionScheme& other) const {
|
| + return mode_ == other.mode_ && pattern_.Matches(other.pattern_);
|
| +}
|
| +
|
| +bool EncryptionScheme::is_encrypted() const {
|
| + return mode_ != kCipherModeNone;
|
| +}
|
| +
|
| +} // namespace media
|
|
|