-
Notifications
You must be signed in to change notification settings - Fork 10
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat(dash): Enable Stateful Mode and rsq Corruptions for DASH #66
Conversation
- Imported STATEFUL and newState utilities for DASH (segment.ts, dashManifestUtils.ts and dashManifestUtils.test.ts) to support stateful mode. - Ensured rsq corruptions are possible for DASH when the proxy is running in stateful mode, similar to how rsq corruptions are enabled for HLS. This update allows for the use of relative sequence numbers in DASH manifests, aligning the functionality with HLS. The DASH proxy now properly handles stateful operations and rsq parameters, enabling more flexible stream corruptions.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It looks good. The feature is indeed implemented and behaves as expected 👍
Only a few thing I'd need before approving.
.history
can be included in.gitignore
as well. No need to include it in the main branch.- Now sure in what update it got missing but add back
import { URLSearchParams } from 'url';
in utils.ts,
just to be consistent in the project as it is now currently using the globalURLSearchParams
in that script when without the import. - I like the handling of the case when a relative sequence corruption is attempted but the proxy is not in a stateful mode in
config.ts
.
And although it is originally outside of the scope of the original issue Support for relative corruptions (rsq) for DASH live streams #63 , it would be much appreciated if
a unit test could be added for that case inconfig.test.ts
methodgetAllManifestConfigs
.
It needs to test if isDash AND !STATEFUL, and also case if !isDash AND !STATEFUL. This would be super nice to have in place :) - Lastly, after all other points are completed. One final task is to update the READme file with the new feature and an example url. Just follow other examples. :)
Hi Nicholas! I did not quite understand the first sentence of point 3, since the code I added in config.ts was inspired from the similar if statement above, giving an error message if !STATEFUL and !isDash, so I added a similar error message for !STATEFUL and isDash. This is also what the new unit test in config.test.ts is checking for, those error messages. In other words: I added code in config.test.ts now, but did not understand if I also need to make some change in config.ts. Thanks again for the feedback and please get back if I need to make additional changes. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This looks good to me.
This should solve the issue #63: Support for relative corruptions (rsq) for DASH live streams.