| 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..b53802d3ce7d5892232c15fe752e63be100b729e 100644
|
| --- a/media/formats/mp4/mp4_stream_parser.cc
|
| +++ b/media/formats/mp4/mp4_stream_parser.cc
|
| @@ -14,6 +14,8 @@
|
| #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/media_util.h"
|
| #include "media/base/stream_parser_buffer.h"
|
| #include "media/base/text_track_config.h"
|
| #include "media/base/timestamp_constants.h"
|
| @@ -301,9 +303,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 +344,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 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
|
| + EmptyExtraData(), scheme);
|
| has_video_ = true;
|
| video_track_id_ = track->header.track_id;
|
| }
|
|
|