Represents a Media Presentation Description (MPD) object for DASH (Dynamic Adaptive Streaming over HTTP). This object contains information about the multimedia content, such as its availability, duration, and structure.

interface MPDtype {
    BaseURL?: readonly BaseURLType[];
    EssentialProperty?: readonly DescriptorType[];
    Location?: readonly UriType[];
    Metrics?: readonly MetricsType[];
    Period: readonly PeriodType[];
    ProgramInformation?: readonly ProgramInformationType[];
    SupplementalProperty?: readonly DescriptorType[];
    UTCTiming?: readonly DescriptorType[];
    availabilityEndTime?: Readonly<Omit<Date,
        | "setDate"
        | "setFullYear"
        | "setHours"
        | "setMilliseconds"
        | "setMinutes"
        | "setMonth"
        | "setSeconds"
        | "setTime"
        | "setUTCDate"
        | "setUTCFullYear"
        | "setUTCHours"
        | "setUTCMilliseconds"
        | "setUTCMinutes"
        | "setUTCMonth"
        | "setUTCSeconds">>;
    availabilityStartTime?: Readonly<Omit<Date,
        | "setDate"
        | "setFullYear"
        | "setHours"
        | "setMilliseconds"
        | "setMinutes"
        | "setMonth"
        | "setSeconds"
        | "setTime"
        | "setUTCDate"
        | "setUTCFullYear"
        | "setUTCHours"
        | "setUTCMilliseconds"
        | "setUTCMinutes"
        | "setUTCMonth"
        | "setUTCSeconds">>;
    id?: string;
    maxSegmentDuration?: number;
    maxSubsegmentDuration?: number;
    mediaPresentationDuration?: number;
    minBufferTime: number;
    minimumUpdatePeriod?: number;
    profiles: readonly string[];
    publishTime?: Readonly<Omit<Date,
        | "setDate"
        | "setFullYear"
        | "setHours"
        | "setMilliseconds"
        | "setMinutes"
        | "setMonth"
        | "setSeconds"
        | "setTime"
        | "setUTCDate"
        | "setUTCFullYear"
        | "setUTCHours"
        | "setUTCMilliseconds"
        | "setUTCMinutes"
        | "setUTCMonth"
        | "setUTCSeconds">>;
    suggestedPresentationDelay?: number;
    timeShiftBufferDepth?: number;
    type?: PresentationType;
}

Properties

BaseURL?: readonly BaseURLType[]

The base URL(s) that can be used to construct the URLs for the segments.

EssentialProperty?: readonly DescriptorType[]

Properties that are considered essential for the presentation. If not understood, the presentation should not be played.

Location?: readonly UriType[]

The location(s) of more information or alternate MPD files.

Metrics?: readonly MetricsType[]

Metrics about the presentation or its usage for reporting.

Period: readonly PeriodType[]

The periods of the presentation, representing a sequence of playable segments.

ProgramInformation?: readonly ProgramInformationType[]

Information about the program, such as title, language, and more.

SupplementalProperty?: readonly DescriptorType[]

Supplemental properties that provide additional information about the presentation.

UTCTiming?: readonly DescriptorType[]

Information for synchronizing the presentation's timeline to real-world time.

availabilityEndTime?: Readonly<Omit<Date,
    | "setDate"
    | "setFullYear"
    | "setHours"
    | "setMilliseconds"
    | "setMinutes"
    | "setMonth"
    | "setSeconds"
    | "setTime"
    | "setUTCDate"
    | "setUTCFullYear"
    | "setUTCHours"
    | "setUTCMilliseconds"
    | "setUTCMinutes"
    | "setUTCMonth"
    | "setUTCSeconds">>

The end time after which the media presentation is no longer available for consumption.

availabilityStartTime?: Readonly<Omit<Date,
    | "setDate"
    | "setFullYear"
    | "setHours"
    | "setMilliseconds"
    | "setMinutes"
    | "setMonth"
    | "setSeconds"
    | "setTime"
    | "setUTCDate"
    | "setUTCFullYear"
    | "setUTCHours"
    | "setUTCMilliseconds"
    | "setUTCMinutes"
    | "setUTCMonth"
    | "setUTCSeconds">>

The start time from which the media presentation is available for consumption.

id?: string

A unique identifier for the media presentation.

maxSegmentDuration?: number

The maximum duration of any media segment in the presentation.

maxSubsegmentDuration?: number

The maximum duration of any sub-segment in the presentation.

mediaPresentationDuration?: number

The total duration of the media presentation.

minBufferTime: number

The minimum duration of the buffer that a client should maintain for uninterrupted playback.

minimumUpdatePeriod?: number

The minimum period between potential updates to the MPD.

profiles: readonly string[]

The DASH profiles to which this presentation conforms.

publishTime?: Readonly<Omit<Date,
    | "setDate"
    | "setFullYear"
    | "setHours"
    | "setMilliseconds"
    | "setMinutes"
    | "setMonth"
    | "setSeconds"
    | "setTime"
    | "setUTCDate"
    | "setUTCFullYear"
    | "setUTCHours"
    | "setUTCMilliseconds"
    | "setUTCMinutes"
    | "setUTCMonth"
    | "setUTCSeconds">>

The time at which the MPD was last published or updated.

suggestedPresentationDelay?: number

The suggested delay of the presentation time from the live edge for live presentations.

timeShiftBufferDepth?: number

The depth of the time-shift buffer for live presentations, allowing clients to access past segments.

The type of presentation, either 'static' or 'dynamic' (live).