Expand description
Hostile-input bounds for MPD parsing and segment expansion.
An MPD is fetched from a server the player does not control, so every
dimension of it that costs memory or CPU has a named ceiling and a typed
error (crate::error::MpdError::TooLarge) instead of an allocation.
Structs§
- Limits
- The bounds applied by
crate::mpd::Mpd::parse_with;Defaultis theMAX_*constants above.
Constants§
- MAX_
ADAPTATION_ SETS_ PER_ PERIOD - Most
AdaptationSetelements accepted in onePeriod. - MAX_
ATTRIBUTES_ PER_ ELEMENT - Most attributes accepted on one element.
- MAX_
ATTRIBUTE_ BYTES - Longest single attribute value accepted, in bytes.
- MAX_
BASE_ CANDIDATES - Most candidate base locations kept when
BaseURLalternates are combined across levels. - MAX_
BASE_ URLS_ PER_ LEVEL - Most
BaseURLalternates accepted on one level. - MAX_
MPD_ BYTES - Largest MPD document accepted, in bytes.
- MAX_
PERIODS - Most
Periodelements accepted. - MAX_
REPRESENTATIONS_ PER_ SET - Most
Representationelements accepted in oneAdaptationSet. - MAX_
SEGMENT_ URLS - Most
SegmentURLentries accepted in oneSegmentList. - MAX_
TIMELINE_ ENTRIES - Most
Sentries accepted in oneSegmentTimeline. - MAX_
TIMELINE_ SEGMENTS - Most Media Segments one
SegmentTimelinemay describe once@ris expanded. The expansion is lazy (run table, never one entry per segment), so this bounds the arithmetic, not the memory. - MAX_
XML_ DEPTH - Deepest element nesting accepted.
- MAX_
XML_ ELEMENTS - Most elements (of any namespace) accepted in one document.