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

Unified Diff: media/formats/mp2t/es_parser_adts.h

Issue 1517473002: Support HLS MPEG2 TS with SAMPLE-AES encryption. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@encryption_scheme
Patch Set: ddorwin comments Created 4 years, 7 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
Index: media/formats/mp2t/es_parser_adts.h
diff --git a/media/formats/mp2t/es_parser_adts.h b/media/formats/mp2t/es_parser_adts.h
index bd7759d99104a7515684e4de8ea5e251f41178b9..ed68d8e61423f47c7403a0e074163ef5b06b1d77 100644
--- a/media/formats/mp2t/es_parser_adts.h
+++ b/media/formats/mp2t/es_parser_adts.h
@@ -16,8 +16,10 @@
#include "base/macros.h"
#include "base/time/time.h"
#include "media/base/audio_decoder_config.h"
+#include "media/base/decrypt_config.h"
#include "media/base/media_export.h"
#include "media/formats/mp2t/es_parser.h"
+#include "media/media_features.h"
namespace media {
class AudioTimestampHelper;
@@ -36,6 +38,14 @@ class MEDIA_EXPORT EsParserAdts : public EsParser {
EsParserAdts(const NewAudioConfigCB& new_audio_config_cb,
const EmitBufferCB& emit_buffer_cb,
bool sbr_in_mimetype);
+#if BUILDFLAG(ENABLE_HLS_SAMPLE_AES)
+ EsParserAdts(const NewAudioConfigCB& new_audio_config_cb,
+ const EmitBufferCB& emit_buffer_cb,
+ bool sbr_in_mimetype,
+ bool use_hls_sample_aes,
+ const GetDecryptConfigCB& get_decrypt_config_cb);
+#endif
+
~EsParserAdts() override;
// EsParser implementation.
@@ -63,11 +73,21 @@ class MEDIA_EXPORT EsParserAdts : public EsParser {
// a supported ADTS audio config.
bool UpdateAudioConfiguration(const uint8_t* adts_header);
+#if BUILDFLAG(ENABLE_HLS_SAMPLE_AES)
+ void CalculateSubsamplesForAdtsFrame(const AdtsFrame& adts_frame,
+ std::vector<SubsampleEntry>* subsamples);
+#endif
+
// Callbacks:
// - to signal a new audio configuration,
// - to send ES buffers.
NewAudioConfigCB new_audio_config_cb_;
EmitBufferCB emit_buffer_cb_;
+#if BUILDFLAG(ENABLE_HLS_SAMPLE_AES)
+ bool use_hls_sample_aes_;
+ // - to obtain the current decrypt_config. Only called if use_hls_sample_aes_.
+ GetDecryptConfigCB get_decrypt_config_cb_;
+#endif
// True when AAC SBR extension is signalled in the mimetype
// (mp4a.40.5 in the codecs parameter).

Powered by Google App Engine
This is Rietveld 408576698