| Index: media/formats/mp2t/es_parser_h264.cc
|
| diff --git a/media/formats/mp2t/es_parser_h264.cc b/media/formats/mp2t/es_parser_h264.cc
|
| index 340153de92990787c2a4682d138ad0eb7ba4e229..1e06d3f5b46d4ca83b307cf87eb54c296b86ca19 100644
|
| --- a/media/formats/mp2t/es_parser_h264.cc
|
| +++ b/media/formats/mp2t/es_parser_h264.cc
|
| @@ -436,9 +436,15 @@ bool EsParserH264::EmitFrame(int64_t access_unit_pos,
|
| CHECK_GE(es_size, access_unit_size);
|
|
|
| #if BUILDFLAG(ENABLE_HLS_SAMPLE_AES)
|
| + const DecryptConfig* base_decrypt_config = nullptr;
|
| + if (use_hls_sample_aes_) {
|
| + DCHECK(!get_decrypt_config_cb_.is_null());
|
| + base_decrypt_config = get_decrypt_config_cb_.Run();
|
| + }
|
| +
|
| std::unique_ptr<uint8_t[]> adjusted_au;
|
| std::vector<SubsampleEntry> subsamples;
|
| - if (use_hls_sample_aes_) {
|
| + if (use_hls_sample_aes_ && base_decrypt_config) {
|
| adjusted_au = AdjustAUForSampleAES(es, &access_unit_size, protected_blocks_,
|
| &subsamples);
|
| protected_blocks_.clear();
|
| @@ -455,10 +461,7 @@ bool EsParserH264::EmitFrame(int64_t access_unit_pos,
|
| stream_parser_buffer->SetDecodeTimestamp(current_timing_desc.dts);
|
| stream_parser_buffer->set_timestamp(current_timing_desc.pts);
|
| #if BUILDFLAG(ENABLE_HLS_SAMPLE_AES)
|
| - if (use_hls_sample_aes_) {
|
| - DCHECK(!get_decrypt_config_cb_.is_null());
|
| - const DecryptConfig* base_decrypt_config = get_decrypt_config_cb_.Run();
|
| - RCHECK(base_decrypt_config);
|
| + if (use_hls_sample_aes_ && base_decrypt_config) {
|
| std::unique_ptr<DecryptConfig> decrypt_config(new DecryptConfig(
|
| base_decrypt_config->key_id(), base_decrypt_config->iv(), subsamples));
|
| stream_parser_buffer->set_decrypt_config(std::move(decrypt_config));
|
|
|