Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(174)

Unified Diff: media/base/decrypt_config.cc

Issue 10651006: Add Common Encryption support to BMFF, including subsample decryption. (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Fix another case issue Created 8 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: media/base/decrypt_config.cc
diff --git a/media/base/decrypt_config.cc b/media/base/decrypt_config.cc
index 9ae5f195e5d4cfab2be9a45108b23d329d2732e4..13ab1144d190cfb77b2f4ea817d5f48892dee8ad 100644
--- a/media/base/decrypt_config.cc
+++ b/media/base/decrypt_config.cc
@@ -8,11 +8,38 @@
namespace media {
+// TODO(strobe): Remove along with CBC mode.
+static const char kDefaultIv[] = "0000000000000000";
+static const int kDefaultIvSize = 16;
+
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),
+ 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,
+ const SubsampleEntry* subsamples,
+ int subsample_count)
+ : key_id_size_(key_id_size),
+ iv_size_(iv_size),
+ 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_.insert(subsamples_.begin(),
+ subsamples, subsamples + subsample_count);
+ }
}
DecryptConfig::~DecryptConfig() {}

Powered by Google App Engine
This is Rietveld 408576698