Stream Probe introduces DASH streaming support in this update, adding MPD manifest parsing alongside existing HLS handling.
TL;DR
Stream Probe now supports both HLS and DASH streams. The SDK parses MPD manifests, exposes a new DashManifestInfo model, and surfaces DASH stream data through the same debug overlay you already use for HLS.
What's New
DashManifestInfomodel: New data model for parsed MPD manifest data, mirrors the structure of the existing HLS manifest info- MPD parsing:
PlayerInterceptorandSessionStorenow detect and process DASH manifests in addition to HLS playlists - Unified manifest handling: Manifest routing is generalized internally, so both formats flow through the same pipeline without separate configuration
- Sample app updated: The sample app includes a DASH stream example so you can see it working out of the box
- README updated: Documentation covers DASH setup and usage alongside the existing HLS docs
How to Use
No API changes required for existing HLS setups. To inspect a DASH stream, point your player at an MPD URL as you normally would. Stream Probe will automatically detect the manifest type and populate DashManifestInfo:
// DASH streams are detected automatically
// Access manifest info from your session as usual
if let dashInfo = session.manifestInfo as? DashManifestInfo {
print(dashInfo.representations)
}
FAQ
Do I need to change anything in my existing HLS setup?
No. HLS support is unchanged. DASH detection happens automatically based on the manifest URL and content type.
What DASH manifest features are parsed?
The initial release covers core MPD structure including representations and adaptation sets. More granular MPD fields will be added in follow-up releases.
Does the debug overlay show DASH info the same way it shows HLS info?
Yes. DASH manifest data surfaces in the same debug overlay UI. The display adapts based on which format is detected for the active stream.
Is this available for both the sample app and SDK integration?
Yes. The sample app demonstrates DASH usage end to end, and the SDK integration works the same way for your own player setup.