Skip to content
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

Typed linter #329

Closed
wants to merge 253 commits into from
Closed

Typed linter #329

wants to merge 253 commits into from

Conversation

mrlika
Copy link
Member

@mrlika mrlika commented Feb 19, 2024

No description provided.

i-zolotarenko and others added 30 commits June 7, 2023 18:24
* Create simple hls.js plugin using default loader.

* Create hls.js plugin react demo.

* Move fragment loader fetch logic to core.

* Config eslint no-console rule.

* Store video playlist urls in object.

* Fix issue with shaka type check fail.

* Use type of const array item instead of enum.

* Move hls instance creation logic to custom hsl section.

* Clear core package.

* Use default loader in fLoader too.

* Add optional methods to pLoader.
* Install m3u8-parser package.

* Declare m3u8-parser package types.

* Add segment manager.

* Parse playlists.

* Parse playlist and identify playlist by loaded segment.

* Separate video, audio playlists to single class.

* Add byte range segments.

* Use only common map instead of playlist container.

* Handle master manifest load after playlist.

* Add ids to playlists.

* Fix issue with wrong playlist indexes.

* Handle single playlist only if manifest is not loaded.

* Install and use debug.

* Move playlist and segment classes to separate module.

* Use triple slash directive to include m3u8-parser types.

* Add is playlist manifest type guard.

* Move debug package to workspace root.

* Enable curly eslint rule. Fix eslint warnings.

* Rename segment id to localId. Remove parameters from urls.

* Fix issue with request response urls.

* Remove parameters from urls.

* Remove unnecessary url parameters trimming.

* Get segment request url based on playlist response.

---------

Co-authored-by: Igor Zolotarenko <[email protected]>
* Install m3u8-parser package.

* Declare m3u8-parser package types.

* Add segment manager.

* Parse playlists.

* Parse playlist and identify playlist by loaded segment.

* Separate video, audio playlists to single class.

* Add byte range segments.

* Use only common map instead of playlist container.

* Handle master manifest load after playlist.

* Add ids to playlists.

* Fix issue with wrong playlist indexes.

* Handle single playlist only if manifest is not loaded.

* Install and use debug.

* Move playlist and segment classes to separate module.

* Use triple slash directive to include m3u8-parser types.

* Add is playlist manifest type guard.

* Move debug package to workspace root.

* Enable curly eslint rule. Fix eslint warnings.

* Rename segment id to localId. Remove parameters from urls.

* Fix issue with request response urls.

* Remove parameters from urls.

* Add sequence number to segments.

* Remove unnecessary url parameters trimming.

* Get segment request url based on playlist response.

---------

Co-authored-by: Igor Zolotarenko <[email protected]>
* Install all necessary dependencies.

* Add shaka player demo.

* Parse and store segments. Identify playlist by segment.

* Use debug instead of console.log

* Add stream ids.

* Stream info.

* Parse hls master manifest with m3u8-parser to identify playlist media type.

* Add segments ids (startTime/mediaSequence).

* Trying retrieving media sequences.

* Retrieve mediaSequenceTime and playlist urls from hls parser.

* Remove m3u8-parser.

* Remove nesting.

* Process hls segmentIndex after playlist loading.

* Compute last media sequence from map length.

* Start media sequence from 1 when VOD. Implement common byte range format (start, end).

* Fix issue with byte ranges. Remove console logs.

* Fix lint warnings.

* Add media sequence retrieving logic for 4.2 shaka version.

* Fix lint warnings.

* Remove unnecessary eslint rule.

* Move loading handler to separate module.

* Use simply setTimeout instead of Promise. Add spaced-comment rule.

* Add ability to use shaka as module.

* Fix lint warnings

* Test hls on destroying.

* Add shaka player to demo.

* Disable react-hooks/exhaustive-deps eslint rule.

* Use typeof window.shaka instead of custom type.

---------

Co-authored-by: Igor Zolotarenko <[email protected]>
* Install all necessary dependencies.

* Add shaka player demo.

* Parse and store segments. Identify playlist by segment.

* Use debug instead of console.log

* Add stream ids.

* Stream info.

* Parse hls master manifest with m3u8-parser to identify playlist media type.

* Add segments ids (startTime/mediaSequence).

* Trying retrieving media sequences.

* Retrieve mediaSequenceTime and playlist urls from hls parser.

* Remove m3u8-parser.

* Remove nesting.

* Process hls segmentIndex after playlist loading.

* Compute last media sequence from map length.

* Start media sequence from 1 when VOD. Implement common byte range format (start, end).

* Fix issue with byte ranges. Remove console logs.

* Fix lint warnings.

* Add media sequence retrieving logic for 4.2 shaka version.

* Fix lint warnings.

* Remove unnecessary eslint rule.

* Move loading handler to separate module.

* Use simply setTimeout instead of Promise. Add spaced-comment rule.

* Add ability to use shaka as module.

* Fix lint warnings

* Rewrite hls.js using manifest and levels events.

* Remove m3u8-parser.

* Use segment indexes from 0 in the case of VOD.

* Test hls on destroying.

* Add shaka player to demo.

* Add only stream level url.

* Disable react-hooks/exhaustive-deps eslint rule.

---------

Co-authored-by: Igor Zolotarenko <[email protected]>
* Add decorateMethod util function.

* Add shaka destroy and loading handlers.

* Handle hls destroying, media attaching, manifest loading events to release resources.

* Add ability load video with existing hls/shaka instance.

---------

Co-authored-by: Igor Zolotarenko <[email protected]>
* Add hls stream level control.

* Add abort controller to loader.

* Add loader destroy logic.

* Add error handling.

* Remove comments. Fix lint warnings

* Create a default loader only if necessary

* Set loading first stat earlier.

* Issue with audio tracks update.

* Hls bandwidth control.

* Use audio track loaded event to update audio playlist.

* Delete unnecessary playlist loader.

* Fix issue with byte range audio stream loading fail.

* Prevent hls.js on progress loading monitoring.

* Change loading stats calculating order.

* Fix issue with type in "bites".

* Rewrite fragment loader error handler.

---------

Co-authored-by: Igor Zolotarenko <[email protected]>
* Rewrite shaka loader plugin to class. Use fetch API instead of default loader.

* Add the ability to control the level of streaming playback.

* Update engine.ts

* Add ability to abort fetch request.

---------

Co-authored-by: Igor Zolotarenko <[email protected]>
Co-authored-by: Andriy Lysnevych <[email protected]>
i-zolotarenko and others added 29 commits December 29, 2023 14:22
* Rename file.

* Add bandwidth calculator.

* Add bandwidth calculator.

* Git use another approach. Suppress loading intervals together.

* Use time shift instead of loading intervals.

---------

Co-authored-by: Igor Zolotarenko <[email protected]>
* Fix issue with not loading requested by engine segment.

* Fix types error.
* Add ability to get bandwidth for last N not spliced seconds.

* Get from engines additional stream info (is live, active stream bandwidth)

* Pass multiple bandwidth calculators of different types to hybrid loader and requests.

* Return generator from generateQueue function.

* Add shaka segment index reading optimisation.

* Revise queue generation algorithm.

* Fix issue with load stalling after abrupt position changing.

* Fix issue with engine request has been already settled.

* Enhance bandwidth algorithm.

* Fix lint errors.

* Make CLEAR_THRESHOLD_MS a class field

* Rename methods

* Remove LinkedMap class

* Remove redundant comment

* Rename downloadProgressRatio

* Rename to queueDownloadRatio

* Move demo to shorter folder

* Open browser on demo start

* Update dependencies

* Fix GitHub Actions

---------

Co-authored-by: Igor Zolotarenko <[email protected]>
Co-authored-by: Andriy Lysnevych <[email protected]>
* peerId generation

* improvements

* vite-env

* pnpm-lock

* vite-env in demo

* improvements
@mrlika mrlika closed this Feb 19, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants