blob: 1f13261a6af46fa6df17b86798fd162e48dab4f0 [file] [log] [blame]
// 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