Live MPD declares no timeShiftBufferDepth
Players cannot tell how far back the DVR window reaches, so they may seek to segments that no longer exist.
What it means
@timeShiftBufferDepth states how much history remains available behind the live edge. It is missing.
Why it matters
It defines the seekable range. Without it a player either offers no DVR at all or offers one and lets viewers seek into content the origin has already deleted, which returns 404s and stalls playback.
How to fix it
- Add timeShiftBufferDepth to <MPD> as an ISO 8601 duration, for example PT1H.
- It must not exceed how long you actually retain segments on the origin — promising more history than you keep is worse than promising none.
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 "Live MPD declares no timeShiftBufferDepth" mean?
- @timeShiftBufferDepth states how much history remains available behind the live edge. It is missing.
- Why does it matter?
- It defines the seekable range. Without it a player either offers no DVR at all or offers one and lets viewers seek into content the origin has already deleted, which returns 404s and stalls playback.
- How do I fix it?
- 1. Add timeShiftBufferDepth to <MPD> as an ISO 8601 duration, for example PT1H. 2. It must not exceed how long you actually retain segments on the origin — promising more history than you keep is worse than promising none.
- 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.