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 |