49 KeySource* decryption_key_source)
override;
50 [[nodiscard]]
bool Flush()
override;
51 [[nodiscard]]
bool Parse(
const uint8_t* buf,
int size)
override;
57 void RegisterPmt(
int program_number,
int pmt_pid);
65 void RegisterPes(
int pmt_pid,
67 TsStreamType media_type,
69 const std::string& lang,
70 TsAudioType audio_type,
71 const uint8_t* descriptor,
72 size_t descriptor_length);
76 void OnNewStreamInfo(uint32_t pes_pid,
77 std::shared_ptr<StreamInfo> new_stream_info);
81 void OnEmitMediaSample(uint32_t pes_pid,
82 std::shared_ptr<MediaSample> new_sample);
83 void OnEmitTextSample(uint32_t pes_pid,
84 std::shared_ptr<TextSample> new_sample);
87 bool FinishInitializationIfNeeded();
89 bool EmitRemainingSamples();
93 void set_sbr_in_mime_type(
bool sbr_in_mimetype) {
94 sbr_in_mimetype_ = sbr_in_mimetype;
102 bool sbr_in_mimetype_;
109 std::map<int, std::unique_ptr<PidState>> pids_;
112 std::map<int, PesMetadata> pes_metadata_;
115 bool is_initialized_;
119 std::bitset<256> stream_type_logged_once_;