#[non_exhaustive]pub struct DashConfig {Show 13 fields
pub clock_policy: DashClockPolicy,
pub utc_timeout_us: u64,
pub utc_wait_us: u64,
pub utc_max_rtt_us: u64,
pub utc_resync_us: u64,
pub host_clock_uncertainty_us: u64,
pub live_delay_us: Option<u64>,
pub availability_margin_us: u64,
pub early_retry_us: u64,
pub early_grace_us: u64,
pub min_mpd_refresh_us: u64,
pub use_availability_time_offset: bool,
pub cross_origin_urls: bool,
}Expand description
DASH-specific configuration. The knobs shared with every segment-pull source (redirects, headers, cookies, backoff, in-flight window, body caps, playout, timeline-jump detection) stay on the session’s own config.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.clock_policy: DashClockPolicyClock ladder order, see DashClockPolicy.
utc_timeout_us: u64Time one UTCTiming request may take, microseconds; must be non-zero.
utc_wait_us: u64Total wait for a UTCTiming sample before the ladder falls through,
microseconds; must be non-zero and not shorter than
DashConfig::utc_timeout_us (a wait that ends before one request can
time out would never let the first request finish).
utc_max_rtt_us: u64Longest round trip a UTCTiming sample may have, microseconds; a
slower exchange is discarded. Must be non-zero.
utc_resync_us: u64Age after which a same-source clock anchor is replaced by any new
sample of that source, microseconds; must be non-zero. u64::MAX
never re-syncs on age.
host_clock_uncertainty_us: u64Error bar reported with a clock taken from the host, microseconds.
0 claims an exact host clock.
live_delay_us: Option<u64>Override of the presentation delay a live join keeps behind the live
edge, microseconds. None derives it from the MPD. Some(0) joins at
the edge.
availability_margin_us: u64Added to a segment’s availability start before it is requested,
microseconds. 0 requests at the availability start.
early_retry_us: u64First retry delay for a segment requested before it exists, microseconds; must be non-zero. The delay doubles up to one second.
early_grace_us: u64Window after a segment’s availability start in which a 404, 410 or
425 still means “too early”, microseconds. 0 treats every such
response after the start as a missing segment.
min_mpd_refresh_us: u64Floor under the MPD refresh interval, microseconds; must be non-zero
so minimumUpdatePeriod="PT0S" cannot become a request storm.
use_availability_time_offset: boolRequest low-latency segments at availabilityTimeOffset earlier than
their complete-segment time. Delivery stays whole-segment.
cross_origin_urls: boolfalse fails any MPD-derived URL (BaseURL, segment, UTCTiming)
whose origin differs from the MPD’s, for server-side pulls.