Skip to content

dash: Begin DASH Annex I handling - #1882

Open
peaBerberian wants to merge 1 commit into
better-location-handlingfrom
dash-annex-i-parser
Open

dash: Begin DASH Annex I handling#1882
peaBerberian wants to merge 1 commit into
better-location-handlingfrom
dash-annex-i-parser

Conversation

@peaBerberian

@peaBerberian peaBerberian commented Aug 18, 2026

Copy link
Copy Markdown
Collaborator

Based on #1880

I'm currently implementing supplementary DASH features (mostly the last revision of ContentSteering).
While doing that, I saw a feature of both DASH and DASH-IF IOPs that the RxPlayer is not properly handling yet: DASH Annex I: Flexible Insertion of URL Parameters.

It mainly allows to construct query strings when requesting resources like the segments and MPD by e.g. taking a value from the original MPD HTTP request's query string or header.
This can for example allow to forward a token in subsequent requests, without having it explicitly defined in the MPD.

Note that this PR does not implement any of the logic yet. It just properly parses those when in EssentialProperty / SupplementalProperty descriptors in the MPD but does not handle them yet.

The actual implementation will come in a future PR. Splitting it in two is done to facilitate reviewing.

Also note that the recent (2026) DASH v6 specification (but not yet in DASH-IF IOP) seems to favor a new element, <RequestParam>, for the same use case.
Ultimately we may also do it (shaka does it, but not yet dash.js, yet both do Annex I) but for now I'll focus on what actually is present in the DASH-IF IOP and most DASH players.

@peaBerberian peaBerberian added Priority: 3 (Low) This issue or PR has a low priority. waiting-for-review labels Aug 18, 2026
@github-actions

Copy link
Copy Markdown

✅ Automated performance checks have passed on commit 8bff78072a1fc20c58080fb1f47f017c10928660 with the base branch better-location-handling.

Details

Performance tests 1st run output

No significative change in performance for tests:

Name Mean Median
loading 24.98ms -> 24.99ms (-0.012ms, z: 0.91478) 34.65ms -> 34.50ms
seeking 200.05ms -> 194.02ms (6.030ms, z: 0.68937) 18.15ms -> 18.30ms
audio-track-reload 30.99ms -> 30.76ms (0.235ms, z: 1.32058) 45.15ms -> 45.15ms
cold loading multithread 53.05ms -> 52.23ms (0.816ms, z: 8.49396) 77.25ms -> 76.20ms
seeking multithread 165.97ms -> 170.62ms (-4.651ms, z: 0.87073) 19.05ms -> 19.20ms
audio-track-reload multithread 30.21ms -> 30.01ms (0.201ms, z: 1.37087) 44.25ms -> 44.10ms
hot loading multithread 20.99ms -> 20.84ms (0.146ms, z: 1.05339) 30.60ms -> 30.60ms

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Priority: 3 (Low) This issue or PR has a low priority. waiting-for-review

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant