Skip to content

Collect & Provide enhanced packets through the API#475

Open
TheDaChicken wants to merge 2 commits into
theori-io:masterfrom
TheDaChicken:enhanced-stream
Open

Collect & Provide enhanced packets through the API#475
TheDaChicken wants to merge 2 commits into
theori-io:masterfrom
TheDaChicken:enhanced-stream

Conversation

@TheDaChicken
Copy link
Copy Markdown
Contributor

@TheDaChicken TheDaChicken commented Jan 3, 2026

libnrsc5 used to report HDC enhanced packets before elastic-buffer changes. The enhacned packets weren't aligned together because the elastic-buffer didn't exist. This is meant to align them via elastic buffer and collects the enhanced packets to bring them together with the HDC core stream.

100% looking for feedback. I am not sure if enhanced packets should be part of bitrate calculation etc. I do print another log message for mismatches in for enhanced packets.

This is where maybe an flag needs to be added to say the enhanced stream isn't being decoded? That way, clients can ignore this for bitrate?

@TheDaChicken
Copy link
Copy Markdown
Contributor Author

TheDaChicken commented Apr 12, 2026

Another idea for this PR is to instead:

deprecate the old data field and switch to single array of structs that can point to data, size and flags. This could be helpful when more streams get added because it wouldn't require much changes.

The downside is deprecating another field. The HD spec does reserve another two streams. In my opinion, the possibility of those two other streams to be used is small.

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants