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

Unified Diff: chromecast/public/media/decoder_config.h

Issue 1786733004: Revert of media config: expand is_encrypted to a struct. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 9 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
« no previous file with comments | « chromecast/media/media.gyp ('k') | content/common/gpu/media/video_encode_accelerator_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chromecast/public/media/decoder_config.h
diff --git a/chromecast/public/media/decoder_config.h b/chromecast/public/media/decoder_config.h
index b82c5c1a1ef424685d8c54333e68d2f35fda8d3d..261b3f1fa575667196ef681dedec74f7bacdb49b 100644
--- a/chromecast/public/media/decoder_config.h
+++ b/chromecast/public/media/decoder_config.h
@@ -93,77 +93,12 @@
kVideoProfileMax = kDolbyVisionNonCompatible_BL_EL_MD,
};
-// Specification of whether and how the stream is encrypted (in whole or part).
-struct EncryptionScheme {
- // Algorithm and mode that was used to encrypt the stream.
- enum CipherMode {
- CIPHER_MODE_UNENCRYPTED,
- CIPHER_MODE_AES_CTR,
- CIPHER_MODE_AES_CBC
- };
-
- // CENC 3rd Edition adds pattern encryption, through two new protection
- // schemes: 'cens' (with AES-CTR) and 'cbcs' (with AES-CBC).
- // The pattern applies independently to each 'encrypted' part of the frame (as
- // defined by the relevant subsample entries), and reduces further the
- // actual encryption applied through a repeating pattern of (encrypt:skip)
- // 16 byte blocks. For example, in a (1:9) pattern, the first block is
- // encrypted, and the next nine are skipped. This pattern is applied
- // repeatedly until the end of the last 16-byte block in the subsample.
- // Any remaining bytes are left clear.
- // If either of encrypt_blocks or skip_blocks is 0, pattern encryption is
- // disabled.
- struct Pattern {
- Pattern() {}
- Pattern(uint32_t encrypt_blocks, uint32_t skip_blocks);
- ~Pattern() {}
- bool IsInEffect() const;
-
- uint32_t encrypt_blocks = 0;
- uint32_t skip_blocks = 0;
- };
-
- EncryptionScheme() {}
- EncryptionScheme(CipherMode mode, const Pattern& pattern);
- ~EncryptionScheme() {}
- bool is_encrypted() const { return mode != CIPHER_MODE_UNENCRYPTED; }
-
- CipherMode mode = CIPHER_MODE_UNENCRYPTED;
- Pattern pattern;
-};
-
-inline EncryptionScheme::Pattern::Pattern(uint32_t encrypt_blocks,
- uint32_t skip_blocks)
- : encrypt_blocks(encrypt_blocks), skip_blocks(skip_blocks) {
-}
-
-inline bool EncryptionScheme::Pattern::IsInEffect() const {
- return encrypt_blocks != 0 && skip_blocks != 0;
-}
-
-inline EncryptionScheme::EncryptionScheme(CipherMode mode,
- const Pattern& pattern)
- : mode(mode), pattern(pattern) {
-}
-
-inline EncryptionScheme Unencrypted() {
- return EncryptionScheme();
-}
-
-inline EncryptionScheme AesCtrEncryptionScheme() {
- return EncryptionScheme(EncryptionScheme::CIPHER_MODE_AES_CTR,
- EncryptionScheme::Pattern());
-}
-
-
-// TODO(erickung): Remove constructor once CMA backend implementation doesn't
+// TODO(erickung): Remove constructor once CMA backend implementation does't
// create a new object to reset the configuration and use IsValidConfig() to
// determine if the configuration is still valid or not.
struct AudioConfig {
AudioConfig();
~AudioConfig();
-
- bool is_encrypted() const { return encryption_scheme.is_encrypted(); }
// Stream id.
StreamId id;
@@ -179,8 +114,8 @@
int samples_per_second;
// Extra data buffer for certain codec initialization.
std::vector<uint8_t> extra_data;
- // Encryption scheme (if any) used for the content.
- EncryptionScheme encryption_scheme;
+ // content is encrypted or not.
+ bool is_encrypted;
};
inline AudioConfig::AudioConfig()
@@ -189,7 +124,8 @@
sample_format(kUnknownSampleFormat),
bytes_per_channel(0),
channel_number(0),
- samples_per_second(0) {
+ samples_per_second(0),
+ is_encrypted(false) {
}
inline AudioConfig::~AudioConfig() {
@@ -201,8 +137,6 @@
struct VideoConfig {
VideoConfig();
~VideoConfig();
-
- bool is_encrypted() const { return encryption_scheme.is_encrypted(); }
// Stream Id.
StreamId id;
@@ -216,15 +150,16 @@
VideoConfig* additional_config;
// Extra data buffer for certain codec initialization.
std::vector<uint8_t> extra_data;
- // Encryption scheme (if any) used for the content.
- EncryptionScheme encryption_scheme;
+ // content is encrypted or not.
+ bool is_encrypted;
};
inline VideoConfig::VideoConfig()
: id(kPrimary),
codec(kVideoCodecUnknown),
profile(kVideoProfileUnknown),
- additional_config(nullptr) {
+ additional_config(nullptr),
+ is_encrypted(false) {
}
inline VideoConfig::~VideoConfig() {
« no previous file with comments | « chromecast/media/media.gyp ('k') | content/common/gpu/media/video_encode_accelerator_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698