Chromium Code Reviews| 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..36d8676da75e45ca9a2be4ba798b905609199333 |
| --- /dev/null |
| +++ b/media/base/encryption_scheme.cc |
| @@ -0,0 +1,57 @@ |
| +// 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) |
|
ddorwin
2016/03/01 02:17:41
This one does not initialize pattern_() like the o
dougsteed
2016/03/02 18:07:52
Done.
|
| + : mode_(is_encrypted ? kCipherModeAesCtr : kCipherModeNone) {} |
|
ddorwin
2016/03/01 02:17:41
The caller can do this.
|
| + |
| +EncryptionScheme::EncryptionScheme(CipherMode mode) : mode_(mode), pattern_() {} |
| + |
| +EncryptionScheme::EncryptionScheme(CipherMode mode, const PatternSpec& pattern) |
| + : mode_(mode), pattern_(pattern) {} |
| + |
| +EncryptionScheme::~EncryptionScheme() {} |
| + |
| +// static |
| +EncryptionScheme EncryptionScheme::unencrypted() { |
| + return EncryptionScheme(kCipherModeNone); |
| +} |
| + |
| +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 |