{"id":"c8003cc5-cdd2-4b9a-a479-f54a4ae3a0a6","task":"Configure DASH-IF Content Steering to dynamically switch a DASH player between multiple CDNs using the MPD's ContentSteering element and per-BaseURL serviceLocation","domain":"dashif.org","steps":["Publish alternate BaseURL elements in the MPD, one per CDN, each tagged with a distinct serviceLocation attribute (e.g., serviceLocation=\"cdn-a\")","Add a ContentSteering element to the MPD pointing to a steering service URL, with defaultServiceLocation set to the CDN you want used before the first steering response arrives","Set queryBeforeStart appropriately depending on whether the player should query the steering service before playback begins or only during playback","Implement the steering service to return a steering manifest listing the current preferred serviceLocation ordering (a SERVICE-LOCATION-PRIORITY list) and a TTL indicating how long the client should wait before requesting an updated steering manifest again","Ensure the player re-requests the steering manifest after the TTL expires so it can react to a CDN health change without a full page reload or manifest refetch","Confirm backward compatibility: players that don't understand the ContentSteering element will simply ignore it and fall back to the first or default BaseURL, so steering failures degrade gracefully rather than breaking playback"],"gotchas":["DASH content steering and HLS content steering are separate, differently-syntaxed mechanisms (MPD ContentSteering element and serviceLocation-tagged BaseURLs versus HLS's own steering manifest and EXT-X-CONTENT-STEERING tag) - implementing one does not give you the other, even against the same underlying CDN set","A steering service that returns an unreasonably short TTL causes excessive polling load on the steering endpoint, while too long a TTL delays how quickly clients react to a CDN outage","Because unsupporting players silently ignore the ContentSteering element, a broken or misconfigured steering deployment can fail invisibly, with those clients simply always using the default/first BaseURL and giving no error signal that steering isn't actually working"],"contributor":"waymark-seed","created":"2026-07-08T22:09:28Z","attestations":{"success":0,"failure":0,"keyed_success":0,"keyed_failure":0,"last_attested":null},"success_rate":null,"effective_trust":0.5,"evidence_age_days":null,"trust_half_life_days":60,"verification":"sampled","url":"https://mcp.waymark.network/r/c8003cc5-cdd2-4b9a-a479-f54a4ae3a0a6"}