Skip to content

[WIP] [Proposal] Rename stream submodules to improve readability#1795

Open
peaBerberian wants to merge 1 commit intodevfrom
refacto
Open

[WIP] [Proposal] Rename stream submodules to improve readability#1795
peaBerberian wants to merge 1 commit intodevfrom
refacto

Conversation

@peaBerberian
Copy link
Copy Markdown
Collaborator

@peaBerberian peaBerberian commented Feb 9, 2026

While working on the Stream (the module and submodules determining which segments need to be loaded), I thought that the current architecture was relatively difficult to follow. For example, the submodules inside it are hierarchical and follow a StreamOrchestrator > PeriodStream > AdaptationStream > RepresentationStream path.

It makes relative sense when you know DASH and think a little about it, but I feel that it could be improved on.

For now, I'm not set on what we could name it, I just searched-and-replaced and tried different things.
Notably, directories inside src/core/stream are now numbered and indicates what job they have:

1-Period_selection/
2-Track_selection/   
3-Representation_selection/
4-Segment_selection/

(instead of orchestrator/, period/, adaptation/ and representation/ respectively)

And the modules themselves have also been renamed for what they do (e.g. TrackSelector) instead of the DASH abstraction level they're at like before (like PeriodStream). But I'm still not 100% happy with that.

This is background work not important for the other work I was doing (which is implementing more resilience on decoding errors) but it is something I saw so I thought I would open a PR so we can think about how we could improve on this.

@peaBerberian peaBerberian changed the base branch from unit-tests to dev February 10, 2026 15:19
@peaBerberian peaBerberian force-pushed the refacto branch 2 times, most recently from e79e23d to 8111734 Compare February 27, 2026 15:28
@github-actions
Copy link
Copy Markdown

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

Details

Performance tests 1st run output

No significative change in performance for tests:

Name Mean Median
loading 25.74ms -> 25.92ms (-0.180ms, z: 0.06787) 36.45ms -> 36.45ms
seeking 319.92ms -> 319.27ms (0.653ms, z: 0.04397) 17.70ms -> 17.85ms
audio-track-reload 32.75ms -> 32.91ms (-0.165ms, z: 1.22615) 48.90ms -> 49.05ms
cold loading multithread 52.43ms -> 52.18ms (0.252ms, z: 8.47979) 77.25ms -> 76.20ms
seeking multithread 61.48ms -> 58.84ms (2.643ms, z: 0.14409) 20.70ms -> 20.70ms
audio-track-reload multithread 31.14ms -> 30.95ms (0.189ms, z: 2.51713) 45.90ms -> 45.60ms
hot loading multithread 20.78ms -> 20.70ms (0.082ms, z: 2.41988) 30.45ms -> 30.30ms

@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 added the Priority: 2 (Medium) This issue or PR has a medium priority. label Apr 2, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Priority: 2 (Medium) This issue or PR has a medium priority.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant