Chromium Code Reviews| Index: media/formats/mp4/mp4_stream_parser.cc |
| diff --git a/media/formats/mp4/mp4_stream_parser.cc b/media/formats/mp4/mp4_stream_parser.cc |
| index 7becdf941019ffca0378baf9e08a9702957f35cc..854bbf2f3411c0f8450e3ddb87d318dd9ae6f4d1 100644 |
| --- a/media/formats/mp4/mp4_stream_parser.cc |
| +++ b/media/formats/mp4/mp4_stream_parser.cc |
| @@ -14,6 +14,7 @@ |
| #include "base/time/time.h" |
| #include "build/build_config.h" |
| #include "media/base/audio_decoder_config.h" |
| +#include "media/base/encryption_scheme.h" |
| #include "media/base/stream_parser_buffer.h" |
| #include "media/base/text_track_config.h" |
| #include "media/base/timestamp_constants.h" |
| @@ -301,9 +302,12 @@ bool MP4StreamParser::ParseMoov(BoxReader* reader) { |
| is_audio_track_encrypted_ = entry.sinf.info.track_encryption.is_encrypted; |
| DVLOG(1) << "is_audio_track_encrypted_: " << is_audio_track_encrypted_; |
| + EncryptionScheme encryption_scheme( |
| + is_audio_track_encrypted_ ? EncryptionScheme::kCipherModeAesCtr |
| + : EncryptionScheme::kCipherModeUnencrypted); |
| audio_config.Initialize(codec, sample_format, channel_layout, |
| - sample_per_second, extra_data, |
| - is_audio_track_encrypted_, base::TimeDelta(), 0); |
| + sample_per_second, extra_data, encryption_scheme, |
| + base::TimeDelta(), 0); |
| has_audio_ = true; |
| audio_track_id_ = track->header.track_id; |
| } |
| @@ -339,12 +343,15 @@ bool MP4StreamParser::ParseMoov(BoxReader* reader) { |
| is_video_track_encrypted_ = entry.sinf.info.track_encryption.is_encrypted; |
| DVLOG(1) << "is_video_track_encrypted_: " << is_video_track_encrypted_; |
| - video_config.Initialize( |
| - entry.video_codec, entry.video_codec_profile, PIXEL_FORMAT_YV12, |
| - COLOR_SPACE_HD_REC709, coded_size, visible_rect, natural_size, |
| - // No decoder-specific buffer needed for AVC; |
| - // SPS/PPS are embedded in the video stream |
| - std::vector<uint8_t>(), is_video_track_encrypted_); |
| + EncryptionScheme encryption_scheme( |
| + is_video_track_encrypted_ ? EncryptionScheme::kCipherModeAesCtr |
| + : EncryptionScheme::kCipherModeUnencrypted); |
| + video_config.Initialize(entry.video_codec, entry.video_codec_profile, |
| + PIXEL_FORMAT_YV12, COLOR_SPACE_HD_REC709, |
| + coded_size, visible_rect, natural_size, |
| + // No decoder-specific buffer needed for AVC; |
| + // SPS/PPS are embedded in the video stream |
| + std::vector<uint8_t>(), encryption_scheme); |
|
xhwang
2016/03/03 22:33:01
ditto about EmptyExtraData()
dougsteed
2016/03/04 19:07:30
Done.
|
| has_video_ = true; |
| video_track_id_ = track->header.track_id; |
| } |