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

Unified Diff: media/formats/mp4/box_definitions.h

Issue 1998333002: MP4 support for Common Encryption 'cbcs' scheme. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: ddorwin more detailed comments Created 4 years, 2 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/formats/mp4/box_definitions.h
diff --git a/media/formats/mp4/box_definitions.h b/media/formats/mp4/box_definitions.h
index 1493edc8dbf8bdcca89349b5e7a2a9c05686bf18..da610e2f6df93944e191acde354c9604a07dd026 100644
--- a/media/formats/mp4/box_definitions.h
+++ b/media/formats/mp4/box_definitions.h
@@ -20,6 +20,7 @@
#include "media/formats/mp4/avc.h"
#include "media/formats/mp4/box_reader.h"
#include "media/formats/mp4/fourccs.h"
+#include "media/media_features.h"
namespace media {
namespace mp4 {
@@ -129,6 +130,12 @@ struct MEDIA_EXPORT TrackEncryption : Box {
bool is_encrypted;
uint8_t default_iv_size;
std::vector<uint8_t> default_kid;
+#if BUILDFLAG(ENABLE_CBCS_ENCRYPTION_SCHEME)
+ uint8_t default_crypt_byte_block;
+ uint8_t default_skip_byte_block;
+ uint8_t default_constant_iv_size;
+ uint8_t default_constant_iv[16];
+#endif
};
struct MEDIA_EXPORT SchemeInfo : Box {
@@ -143,6 +150,8 @@ struct MEDIA_EXPORT ProtectionSchemeInfo : Box {
OriginalFormat format;
SchemeType type;
SchemeInfo info;
+
+ bool HasSupportedScheme() const;
};
struct MEDIA_EXPORT MovieHeader : Box {
@@ -289,10 +298,17 @@ struct MEDIA_EXPORT CencSampleEncryptionInfoEntry {
CencSampleEncryptionInfoEntry();
CencSampleEncryptionInfoEntry(const CencSampleEncryptionInfoEntry& other);
~CencSampleEncryptionInfoEntry();
+ bool Parse(BoxReader* reader);
bool is_encrypted;
uint8_t iv_size;
std::vector<uint8_t> key_id;
+#if BUILDFLAG(ENABLE_CBCS_ENCRYPTION_SCHEME)
+ uint8_t crypt_byte_block;
+ uint8_t skip_byte_block;
+ uint8_t constant_iv_size;
+ uint8_t constant_iv[16];
+#endif
};
struct MEDIA_EXPORT SampleGroupDescription : Box { // 'sgpd'.

Powered by Google App Engine
This is Rietveld 408576698