Skip to main content

Module session

Module session 

Source
Expand description

DASH-IF Live Media Ingest (Interface-1) — sans-IO ingest session (increment P2a).

Mirrors multimux’s DASH pull ingest session for per-Representation init bytes + the local_to_global track-id remap in fixed MPD order, but driven by pushed objects (IngestObject) instead of a pull plan. One Manifest announces the presentation; Headers register tracks; Segments demux against header ++ segment and emit SessionEvent::Samples.

Cited against private/specs-md/dashif_live_media_ingest_v1.3.md §6.2 items 1-3, 10, 11, 18, 19 and §5.3 items 2-3.

§Buffering rule (segments arriving before NewProgram)

A segment whose Representation already has a header but whose presentation has not yet announced NewProgram (some other Representation is still missing its header) is not dropped and not emitted: its samples are buffered per-Representation (bounded at 64 samples per Representation; an overflow is an error) and flushed in MPD order immediately after NewProgram is queued. A segment for a Representation with no header at all returns IngestError::SegmentWithoutHeader (412) regardless of the presentation state. Nothing is buffered when the presentation is already live.

Structs§

DashifIngestConfig
The limits a DASH-IF ingest host enforces on what a publisher sends. The session carries them so the host reads one policy from one place.
DashifIngestSession
Sans-IO ingest session for one DASH-IF Interface-1 publishing point.
IngestObject
One pushed ingest object: its classified kind (from crate::ingest::classify) plus the raw body bytes. The session never re-parses paths.
SegmentHandle
Handle for a streaming (chunked) segment being fed via DashifIngestSession::begin_segment / push_segment_bytes / finish_segment.

Enums§

SessionError
Error returned by DashifIngestSession’s Stage implementation.

Constants§

DEFAULT_BUFFERED_BUDGET_BYTES
Default for DashifIngestConfig::buffered_budget_bytes: 64 MiB.
DEFAULT_MAX_BUFFERED_OBJECT_BYTES
Default for DashifIngestConfig::max_buffered_object_bytes: 8 MiB.
DEFAULT_MAX_OBJECT_BYTES
Default for DashifIngestConfig::max_object_bytes: 64 MiB.