OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 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 | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "media/base/decrypt_config.h" | 5 #include "media/base/decrypt_config.h" |
6 | 6 |
7 #include "base/logging.h" | 7 #include "base/logging.h" |
8 | 8 |
9 namespace media { | 9 namespace media { |
10 | 10 |
| 11 // TODO(strobe): Remove along with CBC mode. |
| 12 static const char kDefaultIv[] = "0000000000000000"; |
| 13 static const int kDefaultIvSize = 16; |
| 14 |
11 DecryptConfig::DecryptConfig(const uint8* key_id, int key_id_size) | 15 DecryptConfig::DecryptConfig(const uint8* key_id, int key_id_size) |
12 : key_id_size_(key_id_size) { | 16 : key_id_size_(key_id_size), |
| 17 iv_size_(kDefaultIvSize), |
| 18 use_cbc_(true) { |
13 CHECK_GT(key_id_size, 0); | 19 CHECK_GT(key_id_size, 0); |
14 key_id_.reset(new uint8[key_id_size]); | 20 key_id_.reset(new uint8[key_id_size]); |
15 memcpy(key_id_.get(), key_id, key_id_size); | 21 memcpy(key_id_.get(), key_id, key_id_size); |
| 22 iv_.reset(new uint8[iv_size_]); |
| 23 memcpy(iv_.get(), kDefaultIv, iv_size_); |
| 24 } |
| 25 |
| 26 DecryptConfig::DecryptConfig(const uint8* key_id, int key_id_size, |
| 27 const uint8* iv, int iv_size, |
| 28 const SubsampleEntry* subsamples, |
| 29 int subsample_count) |
| 30 : key_id_size_(key_id_size), |
| 31 iv_size_(iv_size), |
| 32 use_cbc_(false) { |
| 33 CHECK_GT(key_id_size, 0); |
| 34 CHECK_GT(iv_size, 0); |
| 35 key_id_.reset(new uint8[key_id_size]); |
| 36 memcpy(key_id_.get(), key_id, key_id_size); |
| 37 iv_.reset(new uint8[iv_size]); |
| 38 memcpy(iv_.get(), iv, iv_size); |
| 39 if (subsample_count > 0) { |
| 40 subsamples_.insert(subsamples_.begin(), |
| 41 subsamples, subsamples + subsample_count); |
| 42 } |
16 } | 43 } |
17 | 44 |
18 DecryptConfig::~DecryptConfig() {} | 45 DecryptConfig::~DecryptConfig() {} |
19 | 46 |
20 } // namespace media | 47 } // namespace media |
OLD | NEW |