Skip to content

DASH: Implement Manifest-chaining - #1640

Open
peaBerberian wants to merge 2 commits into
devfrom
feat/chained-manifest
Open

DASH: Implement Manifest-chaining#1640
peaBerberian wants to merge 2 commits into
devfrom
feat/chained-manifest

Conversation

@peaBerberian

@peaBerberian peaBerberian commented Jan 30, 2025

Copy link
Copy Markdown
Collaborator

NOTE: To facilitate tests, I deployed that work on the https://developers.canal-plus.com/rx-player/mpd-chaining demo page

This is a very naive implementation of the DASH Manifest chaining concept which allows to signal a next content to load from the first content's MPD. Use cases we've heard of are mainly pre-roll or post-roll contents (basically ad before and after a content) including for live contents.

I only handle the chaining at the end of the previous content for now. There is a second situation "Fallback Chaining" which is supposed to do so at the "failure" of a content that I do not yet handle as it poses much more questions in terms of RxPlayer API.

Even in that very simple chaining after ENDED, there is still some API question left: should we send an event when chaining? What loadVideo options should we set, should we ask the application? How can an application configure the start time of one of the chained content?

To note also that some other players preload the future content at the end of the previous one with the goal of having a lower transition time, I saw mainly the shaka-player with this. The RxPlayer has no preload concept yet.

@peaBerberian peaBerberian added the DASH Relative to the DASH streaming protocol label Jan 30, 2025
@peaBerberian peaBerberian added the Priority: 3 (Low) This issue or PR has a low priority. label Feb 26, 2025
@peaBerberian
peaBerberian force-pushed the dev branch 2 times, most recently from 00fc806 to b7216b4 Compare April 15, 2025 18:14
@peaBerberian
peaBerberian force-pushed the feat/chained-manifest branch 4 times, most recently from c0a3466 to d66ff3d Compare April 22, 2025 20:03
@peaBerberian
peaBerberian force-pushed the feat/chained-manifest branch from d66ff3d to eb1454b Compare June 30, 2025 10:17
@canalplus canalplus deleted a comment from github-actions Bot Jun 30, 2025
@canalplus canalplus deleted a comment from github-actions Bot Jun 30, 2025
@canalplus canalplus deleted a comment from github-actions Bot Jun 30, 2025
@peaBerberian
peaBerberian force-pushed the feat/chained-manifest branch from eb1454b to ade0ad6 Compare July 8, 2025 10:43
@peaBerberian
peaBerberian force-pushed the feat/chained-manifest branch from ade0ad6 to 67030a2 Compare August 1, 2025 13:23
@peaBerberian
peaBerberian force-pushed the feat/chained-manifest branch 3 times, most recently from 0182497 to bfe3a20 Compare August 29, 2025 18:03
@canalplus canalplus deleted a comment from github-actions Bot Aug 29, 2025
@canalplus canalplus deleted a comment from github-actions Bot Aug 29, 2025
@canalplus canalplus deleted a comment from github-actions Bot Aug 29, 2025
@canalplus canalplus deleted a comment from github-actions Bot Aug 29, 2025
@peaBerberian
peaBerberian force-pushed the dev branch 8 times, most recently from 6d4fed2 to 9b856a5 Compare September 25, 2025 15:56
@peaBerberian
peaBerberian force-pushed the dev branch 3 times, most recently from 0142e34 to 1fd9df3 Compare January 27, 2026 11:59
@github-actions

Copy link
Copy Markdown

✅ Automated performance checks have passed on commit 216c111e2026390360ee01a5f65121973a66990d with the base branch dev.

Details

Performance tests 1st run output

No significative change in performance for tests:

Name Mean Median
loading 24.55ms -> 24.88ms (-0.327ms, z: 0.41297) 34.95ms -> 34.95ms
seeking 422.24ms -> 426.92ms (-4.679ms, z: 0.55685) 1518.30ms -> 1516.35ms
audio-track-reload 31.53ms -> 31.54ms (-0.002ms, z: 0.43421) 47.10ms -> 47.10ms
cold loading multithread 50.48ms -> 49.90ms (0.578ms, z: 10.19429) 74.55ms -> 73.65ms
seeking multithread 56.02ms -> 45.31ms (10.704ms, z: 0.46676) 19.55ms -> 19.50ms
audio-track-reload multithread 30.10ms -> 29.92ms (0.182ms, z: 1.98375) 43.95ms -> 43.95ms
hot loading multithread 19.88ms -> 19.67ms (0.217ms, z: 4.00063) 28.95ms -> 28.80ms

@canalplus canalplus deleted a comment from github-actions Bot Feb 27, 2026
@canalplus canalplus deleted a comment from github-actions Bot Feb 27, 2026
@canalplus canalplus deleted a comment from github-actions Bot Feb 27, 2026
@canalplus canalplus deleted a comment from github-actions Bot Feb 27, 2026
@peaBerberian
peaBerberian force-pushed the dev branch 7 times, most recently from 470c3f8 to 3dde189 Compare June 4, 2026 16:11
@peaBerberian
peaBerberian force-pushed the feat/chained-manifest branch from fbfaaef to 04710f1 Compare August 7, 2026 12:12
@github-actions

github-actions Bot commented Aug 7, 2026

Copy link
Copy Markdown

✅ Automated performance checks have passed on commit 6d437d7c9a4c6bfc9c27ef6abfb9f9561a6b77ce with the base branch dev.

Details

Performance tests 1st run output

No significative change in performance for tests:

Name Mean Median
loading 24.90ms -> 26.05ms (-1.157ms, z: 0.31618) 34.80ms -> 34.80ms
seeking 222.05ms -> 180.80ms (41.251ms, z: 1.72349) 18.00ms -> 18.60ms
audio-track-reload 31.07ms -> 31.14ms (-0.071ms, z: 1.11488) 45.45ms -> 45.60ms
cold loading multithread 53.82ms -> 51.91ms (1.913ms, z: 9.12987) 77.40ms -> 76.20ms
seeking multithread 182.74ms -> 199.29ms (-16.542ms, z: 0.04829) 19.20ms -> 18.90ms
audio-track-reload multithread 30.31ms -> 30.25ms (0.061ms, z: 1.80043) 44.40ms -> 44.25ms
hot loading multithread 20.84ms -> 20.73ms (0.120ms, z: 3.22737) 30.45ms -> 30.15ms

@peaBerberian
peaBerberian force-pushed the feat/chained-manifest branch from 04710f1 to 304e012 Compare August 7, 2026 13:02
@github-actions

github-actions Bot commented Aug 7, 2026

Copy link
Copy Markdown

✅ Automated performance checks have passed on commit e775b5206ff22d00c6cadf7aaa72ae710e201150 with the base branch dev.

Details

Performance tests 1st run output

No significative change in performance for tests:

Name Mean Median
loading 26.27ms -> 26.05ms (0.215ms, z: 0.15838) 35.75ms -> 35.85ms
seeking 166.88ms -> 154.90ms (11.977ms, z: 1.21137) 19.05ms -> 19.05ms
audio-track-reload 32.59ms -> 32.64ms (-0.050ms, z: 1.45086) 48.05ms -> 48.30ms
cold loading multithread 54.39ms -> 54.34ms (0.052ms, z: 9.19315) 79.35ms -> 78.15ms
seeking multithread 96.35ms -> 93.07ms (3.286ms, z: 0.84311) 21.00ms -> 20.85ms
audio-track-reload multithread 31.55ms -> 31.50ms (0.051ms, z: 0.97289) 46.50ms -> 46.35ms
hot loading multithread 20.95ms -> 21.86ms (-0.914ms, z: 0.17415) 30.90ms -> 30.75ms

@peaBerberian
peaBerberian force-pushed the dev branch 2 times, most recently from 01b00b9 to 3a8968e Compare August 7, 2026 15:08
@peaBerberian
peaBerberian force-pushed the feat/chained-manifest branch from 304e012 to f1ab3d7 Compare August 7, 2026 15:11
@github-actions

github-actions Bot commented Aug 7, 2026

Copy link
Copy Markdown

✅ Automated performance checks have passed on commit b8dec96962712b01acd13aa8d8f04a0cf3e0ede6 with the base branch dev.

Details

Performance tests 1st run output

No significative change in performance for tests:

Name Mean Median
loading 26.17ms -> 27.53ms (-1.365ms, z: 0.35017) 36.45ms -> 36.60ms
seeking 172.02ms -> 189.32ms (-17.307ms, z: 0.42941) 19.20ms -> 19.05ms
audio-track-reload 32.73ms -> 32.72ms (0.014ms, z: 0.79392) 48.30ms -> 48.15ms
cold loading multithread 54.09ms -> 53.90ms (0.189ms, z: 7.71651) 79.65ms -> 78.45ms
seeking multithread 117.05ms -> 102.24ms (14.811ms, z: 1.96564) 20.70ms -> 20.70ms
audio-track-reload multithread 31.68ms -> 31.53ms (0.155ms, z: 1.18308) 46.50ms -> 46.50ms
hot loading multithread 21.92ms -> 21.02ms (0.901ms, z: 3.15473) 31.05ms -> 30.65ms

@peaBerberian
peaBerberian force-pushed the feat/chained-manifest branch from f1ab3d7 to d401689 Compare August 10, 2026 12:24
@github-actions

Copy link
Copy Markdown

✅ Automated performance checks have passed on commit 8ca0fe391132a906754324eb93032393e73ab073 with the base branch dev.

Details

Performance tests 1st run output

No significative change in performance for tests:

Name Mean Median
loading 24.90ms -> 25.16ms (-0.257ms, z: 0.15507) 34.80ms -> 34.80ms
seeking 201.23ms -> 207.38ms (-6.145ms, z: 0.77992) 18.90ms -> 18.75ms
audio-track-reload 31.36ms -> 31.43ms (-0.072ms, z: 0.56661) 46.35ms -> 46.50ms
cold loading multithread 52.66ms -> 52.09ms (0.568ms, z: 8.77344) 76.35ms -> 75.30ms
seeking multithread 96.15ms -> 88.09ms (8.057ms, z: 1.99534) 19.65ms -> 19.50ms
audio-track-reload multithread 30.48ms -> 30.53ms (-0.058ms, z: 0.38272) 44.70ms -> 44.70ms
hot loading multithread 20.47ms -> 20.33ms (0.139ms, z: 2.13519) 29.70ms -> 29.70ms

@github-actions

github-actions Bot commented Sep 1, 2026

Copy link
Copy Markdown

✅ Automated performance checks have passed on commit 22106a80f6cedd883cd1b062566bc3b4074c6113 with the base branch dev.

Details

Performance tests 1st run output

No significative change in performance for tests:

Name Mean Median
loading 36.86ms -> 36.11ms (corrected: 0.641ms, A/A bias: 0.108ms, z: 0.22132) 29.70ms -> 29.75ms (corrected: -0.100ms, A/A bias: -0.050ms, z: 0.57735)
seeking 193.95ms -> 176.34ms (corrected: 14.923ms, A/A bias: 2.689ms, z: 0.28868) 11.70ms -> 11.50ms (corrected: 0.550ms, A/A bias: 0.125ms, z: 1.37121)
audio-track-reload 31.38ms -> 31.56ms (corrected: -0.114ms, A/A bias: -0.070ms, z: 0.20207) 29.80ms -> 30.20ms (corrected: -0.275ms, A/A bias: -0.025ms, z: 0.86121)
loading over active content 23.20ms -> 23.03ms (corrected: 0.055ms, A/A bias: 0.115ms, z: 0.03849) 21.50ms -> 21.25ms (corrected: -1.200ms, A/A bias: 1.275ms, z: 0.03849)
large multi-period manifest 94.62ms -> 94.29ms (corrected: -0.375ms, A/A bias: 0.710ms, z: 0.18764) 85.60ms -> 85.55ms (corrected: -2.775ms, A/A bias: -0.375ms, z: 0.18764)
cold loading multithread 52.74ms -> 51.98ms (corrected: 0.563ms, A/A bias: 0.193ms, z: 0.87565) 51.40ms -> 50.55ms (corrected: 0.800ms, A/A bias: 0.025ms, z: 3.48816)
seeking multithread 223.65ms -> 208.50ms (corrected: 40.240ms, A/A bias: -25.089ms, z: 0.91414) 13.80ms -> 13.70ms (corrected: 0.050ms, A/A bias: -0.250ms, z: 0.49075)
audio-track-reload multithread 30.71ms -> 30.48ms (corrected: 0.318ms, A/A bias: -0.087ms, z: 1.04885) 29.60ms -> 29.50ms (corrected: -0.000ms, A/A bias: 0.075ms, z: 0.01925)
hot loading multithread 21.03ms -> 20.89ms (corrected: 0.172ms, A/A bias: -0.031ms, z: 0.57254) 20.20ms -> 20.10ms (corrected: 0.000ms, A/A bias: 0.100ms, z: 0.17802)

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

Labels

DASH Relative to the DASH streaming protocol Priority: 3 (Low) This issue or PR has a low priority. status-unknown

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant