| Index: chromecast/media/cma/base/decoder_config_adapter.cc
|
| diff --git a/chromecast/media/cma/base/decoder_config_adapter.cc b/chromecast/media/cma/base/decoder_config_adapter.cc
|
| index fa8ac20e742dcfa1eb17c8eca6309b054e3eaaa1..17125c134ba18b65e1d332fe61f6cae0a57f6471 100644
|
| --- a/chromecast/media/cma/base/decoder_config_adapter.cc
|
| +++ b/chromecast/media/cma/base/decoder_config_adapter.cc
|
| @@ -175,6 +175,58 @@ VideoProfile ToVideoProfile(const ::media::VideoCodecProfile codec_profile) {
|
| }
|
| }
|
|
|
| +::media::CipherMode ToMediaCipherMode(CipherMode mode) {
|
| + switch(mode) {
|
| + case kCipherModeAesCtr:
|
| + return ::media::kCipherModeAesCtr;
|
| + case kCipherModeAesCbc:
|
| + return ::media::kCipherModeAesCbc;
|
| + default:
|
| + return ::media::kCipherModeUnknown;
|
| + }
|
| +}
|
| +
|
| +CipherMode ToCipherMode(::media::CipherMode mode) {
|
| + switch(mode) {
|
| + case ::media::kCipherModeAesCtr:
|
| + return kCipherModeAesCtr;
|
| + case ::media::kCipherModeAesCbc:
|
| + return kCipherModeAesCbc;
|
| + default:
|
| + return kCipherModeUnknown;
|
| + }
|
| +}
|
| +
|
| +EncryptionScheme::PatternSpec ToPatternSpec(
|
| + const ::media::EncryptionScheme::PatternSpec& pattern) {
|
| + return EncryptionScheme::PatternSpec(
|
| + pattern.encrypt_blocks(), pattern.skip_blocks());
|
| +}
|
| +
|
| +::media::EncryptionScheme::PatternSpec ToMediaPatternSpec(
|
| + const EncryptionScheme::PatternSpec& pattern) {
|
| + return ::media::EncryptionScheme::PatternSpec(
|
| + pattern.encrypt_blocks, pattern.skip_blocks);
|
| +}
|
| +
|
| +// static
|
| +EncryptionScheme ToEncryptionScheme(
|
| + const ::media::EncryptionScheme& scheme) {
|
| + return EncryptionScheme(
|
| + scheme.is_encrypted(),
|
| + ToCipherMode(scheme.mode()),
|
| + ToPatternSpec(scheme.pattern()));
|
| +}
|
| +
|
| +// static
|
| +::media::EncryptionScheme ToMediaEncryptionScheme(
|
| + const EncryptionScheme& scheme) {
|
| + return new ::media::EncryptionScheme(
|
| + scheme.is_encrypted,
|
| + ToMediaCipherMode(scheme.mode),
|
| + ToMediaPatternSpec(scheme.pattern));
|
| +}
|
| +
|
| } // namespace
|
|
|
| // static
|
| @@ -193,7 +245,8 @@ AudioConfig DecoderConfigAdapter::ToCastAudioConfig(
|
| ::media::ChannelLayoutToChannelCount(config.channel_layout()),
|
| audio_config.samples_per_second = config.samples_per_second();
|
| audio_config.extra_data = config.extra_data();
|
| - audio_config.is_encrypted = config.is_encrypted();
|
| + audio_config.encryption_scheme = ToEncryptionScheme(
|
| + config.encryption_scheme());
|
| return audio_config;
|
| }
|
|
|
| @@ -204,7 +257,8 @@ AudioConfig DecoderConfigAdapter::ToCastAudioConfig(
|
| ToMediaAudioCodec(config.codec),
|
| ToMediaSampleFormat(config.sample_format),
|
| ToMediaChannelLayout(config.channel_number), config.samples_per_second,
|
| - config.extra_data, config.is_encrypted);
|
| + config.extra_data,
|
| + ToMediaEncryptionScheme(config.encryption_scheme));
|
| }
|
|
|
| // static
|
| @@ -220,7 +274,8 @@ VideoConfig DecoderConfigAdapter::ToCastVideoConfig(
|
| video_config.codec = ToVideoCodec(config.codec());
|
| video_config.profile = ToVideoProfile(config.profile());
|
| video_config.extra_data = config.extra_data();
|
| - video_config.is_encrypted = config.is_encrypted();
|
| + video_config.encryption_scheme = ToEncryptionScheme(
|
| + config.encryption_scheme());
|
| return video_config;
|
| }
|
|
|
|
|