1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #include "media/base/decrypt_config.h"
7 #include "base/logging.h"
11 DecryptConfig::DecryptConfig(const std::string
& key_id
,
12 const std::string
& iv
,
13 const std::vector
<SubsampleEntry
>& subsamples
)
16 subsamples_(subsamples
) {
17 CHECK_GT(key_id
.size(), 0u);
18 CHECK(iv
.size() == static_cast<size_t>(DecryptConfig::kDecryptionKeySize
) ||
22 DecryptConfig::~DecryptConfig() {}
24 bool DecryptConfig::Matches(const DecryptConfig
& config
) const {
25 if (key_id() != config
.key_id() || iv() != config
.iv() ||
26 subsamples().size() != config
.subsamples().size()) {
30 for (size_t i
= 0; i
< subsamples().size(); ++i
) {
31 if ((subsamples()[i
].clear_bytes
!= config
.subsamples()[i
].clear_bytes
) ||
32 (subsamples()[i
].cypher_bytes
!= config
.subsamples()[i
].cypher_bytes
)) {