51 kRoleEnhancedAudioIntelligibility,
101 const std::string& pssh);
108 const std::string& value);
114 virtual void AddRole(Role role);
120 std::optional<xml::XmlNode>
GetXml();
145 bool has_id()
const {
return static_cast<bool>(id_); }
149 return index_.has_value() ? index_ : id_;
153 uint32_t id()
const {
return id_.value(); }
187 int32_t frame_duration,
195 const std::list<Representation*> GetRepresentations()
const;
201 const std::string&
codec()
const {
return codec_; }
227 return transfer_characteristics_;
238 return protected_content_;
252 bool content_protection_in_adaptation_set);
268 uint32_t* representation_counter);
275 friend class AdaptationSetTest;
284 enum SegmentAligmentStatus {
285 kSegmentAlignmentUnknown,
286 kSegmentAlignmentTrue,
287 kSegmentAlignmentFalse
296 typedef std::map<uint32_t, std::list<int64_t>> RepresentationTimeline;
299 void UpdateFromMediaInfo(
const MediaInfo& media_info);
309 void CheckDynamicSegmentAlignment(uint32_t representation_id,
315 void CheckStaticSegmentAlignment();
318 void RecordFrameRate(int32_t frame_duration, int32_t timescale);
320 std::list<ContentProtectionElement> content_protection_elements_;
323 std::map<uint32_t, std::unique_ptr<Representation>> representation_map_;
325 uint32_t*
const representation_counter_;
327 std::optional<uint32_t> id_;
328 const std::string language_;
329 const MpdOptions& mpd_options_;
332 std::vector<const AdaptationSet*> switchable_adaptation_sets_;
337 std::set<uint32_t> video_widths_;
338 std::set<uint32_t> video_heights_;
346 std::map<double, std::string> video_frame_rates_;
350 std::string content_type_;
363 std::set<std::string> picture_aspect_ratio_;
366 struct Accessibility {
370 std::vector<Accessibility> accessibilities_;
373 std::set<Role> roles_;
376 SegmentAligmentStatus segments_aligned_ = kSegmentAlignmentUnknown;
377 bool force_set_segment_alignment_ =
false;
380 uint8_t subsegment_start_with_sap_ = 0;
383 uint8_t start_with_sap_ = 0;
392 RepresentationTimeline representation_segment_start_times_;
398 std::vector<const AdaptationSet*> trick_play_references_;
401 uint32_t matrix_coefficients_ = 0;
403 uint32_t color_primaries_ = 0;
406 uint32_t transfer_characteristics_ = 0;
409 std::optional<uint32_t> index_;
415 MediaInfo::ProtectedContent* protected_content_;