The document has no MPD root element
The XML parsed, but its root is not <MPD>, so it is not a DASH manifest.
What it means
A DASH manifest has a single <MPD> root element. This document has something else.
Why it matters
It is not a manifest, so there is nothing to play. Most often the URL returned an XML error document from the CDN or an S3-style access-denied response, both of which are valid XML and therefore parse cleanly.
How to fix it
- Open the URL directly and look at the root element.
- An <Error> root usually means the object storage behind your origin denied the request.
- Check the URL points at the manifest rather than a directory listing.
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 "The document has no MPD root element" mean?
- A DASH manifest has a single <MPD> root element. This document has something else.
- Why does it matter?
- It is not a manifest, so there is nothing to play. Most often the URL returned an XML error document from the CDN or an S3-style access-denied response, both of which are valid XML and therefore parse cleanly.
- How do I fix it?
- 1. Open the URL directly and look at the root element. 2. An <Error> root usually means the object storage behind your origin denied the request. 3. Check the URL points at the manifest rather than a directory listing.
- 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.
- 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.
- MPD contains no periodsThere is no <Period>, so the manifest describes no content at all.