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..1a8aa37ddaf8415cafb3bc761e3703783dce3c77 |
| --- /dev/null |
| +++ b/media/base/encryption_scheme.cc |
| @@ -0,0 +1,59 @@ |
| +// 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" |
| + |
| +#include "base/logging.h" |
|
ddorwin
2015/12/10 18:36:01
I don't think this is currently used, but it may b
dougsteed
2016/03/02 18:07:52
Done.
|
| + |
| +namespace media { |
| + |
| +EncryptionScheme::EncryptionScheme() |
| + : is_encrypted_(false), mode_(kCipherModeAesCtr), pattern_() {} |
|
ddorwin
2015/12/10 18:36:00
Why not kCipherModeUnknown?
dougsteed
2015/12/14 21:19:01
Up until now, AES-CTR is the default (at least for
|
| + |
| +EncryptionScheme::EncryptionScheme(bool is_encrypted) |
| + : is_encrypted_(is_encrypted), mode_(kCipherModeAesCtr), pattern_() {} |
| + |
| +EncryptionScheme::EncryptionScheme(CipherMode mode) |
| + : is_encrypted_(true), mode_(mode), pattern_() {} |
| + |
| +EncryptionScheme::EncryptionScheme(CipherMode mode, const PatternSpec& pattern) |
| + : is_encrypted_(true), mode_(mode), pattern_(pattern) {} |
| + |
| +EncryptionScheme::EncryptionScheme(bool is_encrypted, |
| + CipherMode mode, |
| + const PatternSpec& pattern) |
| + : is_encrypted_(is_encrypted), mode_(mode), pattern_(pattern) {} |
| + |
| +void EncryptionScheme::Initialize(bool is_encrypted, |
| + CipherMode mode, |
| + const PatternSpec& pattern) { |
| + is_encrypted_ = is_encrypted; |
| + mode_ = mode; |
| + pattern_ = pattern; |
| +} |
| + |
| +bool EncryptionScheme::Matches(const EncryptionScheme& other) const { |
| + return is_encrypted_ == other.is_encrypted_ && mode_ == other.mode_ && |
| + pattern_.Matches(other.pattern_); |
| +} |
| + |
| +EncryptionScheme::PatternSpec::PatternSpec() |
|
ddorwin
2015/12/10 18:36:00
nit: Define in the same order as declared. This in
dougsteed
2015/12/14 21:19:01
Done.
|
| + : 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) {} |
| + |
| +void EncryptionScheme::PatternSpec::Initialize(uint32_t encrypt_blocks, |
| + uint32_t skip_blocks) { |
| + encrypt_blocks_ = encrypt_blocks; |
| + skip_blocks_ = skip_blocks; |
| +} |
| + |
| +bool EncryptionScheme::PatternSpec::Matches(const PatternSpec& other) const { |
| + return encrypt_blocks_ == other.encrypt_blocks() && |
| + skip_blocks_ == other.skip_blocks(); |
| +} |
| + |
| +} // namespace media |