Chromium Code Reviews| Index: media/base/decrypt_config.cc |
| diff --git a/media/base/decrypt_config.cc b/media/base/decrypt_config.cc |
| index 9ae5f195e5d4cfab2be9a45108b23d329d2732e4..9e9a46cd3b5bcdb090649e256cb18acb2ebde52d 100644 |
| --- a/media/base/decrypt_config.cc |
| +++ b/media/base/decrypt_config.cc |
| @@ -8,11 +8,55 @@ |
| namespace media { |
| +// TODO(strobe): Remove along with CBC mode. |
| +static const char kDefaultIV[] = "0000000000000000"; |
|
fgalligan1
2012/06/27 00:28:36
s/kDefaultIV/kDefaultIv/
strobe_
2012/06/27 02:01:21
Done.
|
| +static const int kDefaultIVSize = 16; |
|
fgalligan1
2012/06/27 00:28:36
s/kDefaultIVSize/kDefaultIvSize/
strobe_
2012/06/27 02:01:21
Done.
|
| + |
| DecryptConfig::DecryptConfig(const uint8* key_id, int key_id_size) |
| - : key_id_size_(key_id_size) { |
| + : key_id_size_(key_id_size), |
| + iv_size_(kDefaultIVSize), |
| + subsample_count_(0), |
| + use_cbc_(true) { |
| + CHECK_GT(key_id_size, 0); |
| + key_id_.reset(new uint8[key_id_size]); |
| + memcpy(key_id_.get(), key_id, key_id_size); |
| + iv_.reset(new uint8[iv_size_]); |
| + memcpy(iv_.get(), kDefaultIV, iv_size_); |
| +} |
| + |
| +DecryptConfig::DecryptConfig(const uint8* key_id, int key_id_size, |
| + const uint8* iv, int iv_size) |
| + : key_id_size_(key_id_size), |
| + iv_size_(iv_size), |
| + subsample_count_(0), |
| + use_cbc_(false) { |
| + CHECK_GT(key_id_size, 0); |
| + CHECK_GT(iv_size, 0); |
| + key_id_.reset(new uint8[key_id_size]); |
| + memcpy(key_id_.get(), key_id, key_id_size); |
| + iv_.reset(new uint8[iv_size]); |
| + memcpy(iv_.get(), iv, iv_size); |
| +} |
| + |
| +DecryptConfig::DecryptConfig(const uint8* key_id, int key_id_size, |
| + const uint8* iv, int iv_size, |
| + const SubsampleEntry* subsamples, |
| + int subsample_count) |
| + : key_id_size_(key_id_size), |
| + iv_size_(iv_size), |
| + subsample_count_(subsample_count), |
| + use_cbc_(false) { |
| CHECK_GT(key_id_size, 0); |
| + CHECK_GT(iv_size, 0); |
| key_id_.reset(new uint8[key_id_size]); |
| memcpy(key_id_.get(), key_id, key_id_size); |
| + iv_.reset(new uint8[iv_size]); |
| + memcpy(iv_.get(), iv, iv_size); |
| + if (subsample_count > 0) { |
| + subsamples_.reset(new SubsampleEntry[subsample_count]); |
| + memcpy(subsamples_.get(), subsamples, |
| + subsample_count * sizeof(SubsampleEntry)); |
| + } |
| } |
| DecryptConfig::~DecryptConfig() {} |