| Index: media/formats/mp2t/mp2t_stream_parser.h
|
| diff --git a/media/formats/mp2t/mp2t_stream_parser.h b/media/formats/mp2t/mp2t_stream_parser.h
|
| index 65577564b94872db46d049691e0a8802ee16c4e8..548270be764b76a4a31ec3ba3ba91b255a107ddd 100644
|
| --- a/media/formats/mp2t/mp2t_stream_parser.h
|
| +++ b/media/formats/mp2t/mp2t_stream_parser.h
|
| @@ -16,6 +16,7 @@
|
| #include "media/base/audio_decoder_config.h"
|
| #include "media/base/byte_queue.h"
|
| #include "media/base/decrypt_config.h"
|
| +#include "media/base/encryption_scheme.h"
|
| #include "media/base/media_export.h"
|
| #include "media/base/stream_parser.h"
|
| #include "media/base/video_decoder_config.h"
|
| @@ -30,6 +31,7 @@ class StreamParserBuffer;
|
| namespace mp2t {
|
|
|
| class Descriptors;
|
| +class EsParser;
|
| class PidState;
|
|
|
| class MEDIA_EXPORT Mp2tStreamParser : public StreamParser {
|
| @@ -71,10 +73,9 @@ class MEDIA_EXPORT Mp2tStreamParser : public StreamParser {
|
| // Callback invoked to register a PES pid.
|
| // Possible values for |stream_type| are defined in:
|
| // ISO-13818.1 / ITU H.222 Table 2.34 "Stream type assignments".
|
| - // |pes_pid| is part of the Program Map Table refered by |pmt_pid|.
|
| + // |pes_pid| is part of the Program Map Table.
|
| // Some stream types are qualified by additional |descriptors|.
|
| - void RegisterPes(int pmt_pid,
|
| - int pes_pid,
|
| + void RegisterPes(int pes_pid,
|
| int stream_type,
|
| const Descriptors& descriptors);
|
|
|
| @@ -103,7 +104,15 @@ class MEDIA_EXPORT Mp2tStreamParser : public StreamParser {
|
| scoped_refptr<StreamParserBuffer> stream_parser_buffer);
|
| bool EmitRemainingBuffers();
|
|
|
| + std::unique_ptr<EsParser> CreateH264Parser(int pes_pid);
|
| + std::unique_ptr<EsParser> CreateAacParser(int pes_pid);
|
| + std::unique_ptr<EsParser> CreateMpeg1AudioParser(int pes_pid);
|
| +
|
| #if BUILDFLAG(ENABLE_HLS_SAMPLE_AES)
|
| + bool ShouldForceEncryptedParser();
|
| + std::unique_ptr<EsParser> CreateEncryptedH264Parser(int pes_pid);
|
| + std::unique_ptr<EsParser> CreateEncryptedAacParser(int pes_pid);
|
| +
|
| std::unique_ptr<PidState> MakeCatPidState();
|
| void UnregisterCat();
|
|
|
| @@ -111,6 +120,11 @@ class MEDIA_EXPORT Mp2tStreamParser : public StreamParser {
|
| void RegisterCencPids(int ca_pid, int pssh_pid);
|
| void UnregisterCencPids();
|
|
|
| + // Register a default encryption scheme to be used for decoder configs. This
|
| + // value is only used in the absence of explicit encryption metadata, as might
|
| + // be the case during an unencrypted portion of a live stream.
|
| + void RegisterEncryptionScheme(const EncryptionScheme& scheme);
|
| +
|
| // Register the DecryptConfig (parsed from CENC-ECM).
|
| void RegisterDecryptConfig(const DecryptConfig& config);
|
|
|
| @@ -158,6 +172,7 @@ class MEDIA_EXPORT Mp2tStreamParser : public StreamParser {
|
| TimestampUnroller timestamp_unroller_;
|
|
|
| #if BUILDFLAG(ENABLE_HLS_SAMPLE_AES)
|
| + EncryptionScheme initial_scheme_;
|
| std::unique_ptr<DecryptConfig> decrypt_config_;
|
| #endif
|
|
|
|
|