On-demand MPD declares no mediaPresentationDuration
A static manifest must say how long it is, or players cannot build a seek bar.
What it means
The manifest is type="static" but omits @mediaPresentationDuration, so it describes on-demand content without saying how long that content runs. The attribute is required for static manifests.
Why it matters
For on-demand content the duration is how the player knows the total length. Without it the seek bar cannot be drawn correctly, seeking to a percentage is impossible, and some players fall back to treating the content as live.
How to fix it
- Add mediaPresentationDuration to <MPD> as an ISO 8601 duration, for example PT1H2M3S.
- It must cover every period; if periods declare their own durations, the total should match their sum.
Check your own stream
The free DASH validator runs this check on every analysis and links each finding straight back here.
Open the DASH validator →Frequently asked questions
- What does "On-demand MPD declares no mediaPresentationDuration" mean?
- The manifest is type="static" but omits @mediaPresentationDuration, so it describes on-demand content without saying how long that content runs. The attribute is required for static manifests.
- Why does it matter?
- For on-demand content the duration is how the player knows the total length. Without it the seek bar cannot be drawn correctly, seeking to a percentage is impossible, and some players fall back to treating the content as live.
- How do I fix it?
- 1. Add mediaPresentationDuration to <MPD> as an ISO 8601 duration, for example PT1H2M3S. 2. It must cover every period; if periods declare their own durations, the total should match their sum.
- How can I detect this automatically?
- Paste your MPEG-DASH streaming URL into StreamTest's free DASH validator. It runs this check on every analysis, flags the finding, and links straight back to this page — no sign-up required.
Related DASH checks
- DASH manifest has no UTCTiming elementA live MPD without UTCTiming forces players to trust the device clock, so any skew on the viewer’s machine becomes stalls or missing segments.
- DASH availabilityStartTime is in the futureThe manifest claims the presentation starts later than the current time, so no segment is available yet and playback cannot begin.
- The DASH manifest is not well-formed XMLThe document could not be parsed as XML, so nothing else could be checked.
- The document has no MPD root elementThe XML parsed, but its root is not <MPD>, so it is not a DASH manifest.
- MPD declares no profileWithout @profiles a player cannot tell which DASH feature set the manifest expects.
- MPD declares no minBufferTimePlayers use this required attribute to size the initial buffer before starting playback.