| // 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 "cobalt/media/base/encryption_scheme.h" |
| |
| namespace cobalt { |
| namespace media { |
| |
| EncryptionScheme::Pattern::Pattern() : encrypt_blocks_(0), skip_blocks_(0) {} |
| |
| EncryptionScheme::Pattern::Pattern(uint32_t encrypt_blocks, |
| uint32_t skip_blocks) |
| : encrypt_blocks_(encrypt_blocks), skip_blocks_(skip_blocks) {} |
| |
| EncryptionScheme::Pattern::~Pattern() {} |
| |
| bool EncryptionScheme::Pattern::Matches(const Pattern& other) const { |
| return encrypt_blocks_ == other.encrypt_blocks() && |
| skip_blocks_ == other.skip_blocks(); |
| } |
| |
| bool EncryptionScheme::Pattern::IsInEffect() const { |
| return encrypt_blocks_ != 0 && skip_blocks_ != 0; |
| } |
| |
| EncryptionScheme::EncryptionScheme() : mode_(CIPHER_MODE_UNENCRYPTED) {} |
| |
| EncryptionScheme::EncryptionScheme(CipherMode mode, const Pattern& pattern) |
| : mode_(mode), pattern_(pattern) {} |
| |
| EncryptionScheme::~EncryptionScheme() {} |
| |
| bool EncryptionScheme::Matches(const EncryptionScheme& other) const { |
| return mode_ == other.mode_ && pattern_.Matches(other.pattern_); |
| } |
| |
| } // namespace media |
| } // namespace cobalt |