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

Feat/doris 1508 upgrade to v4.5 #35

Merged
merged 414 commits into from
Nov 8, 2022

Conversation

grabofus
Copy link

@grabofus grabofus commented Nov 7, 2022

Upgrade to dash.js 4.5.0

dsilhavy and others added 30 commits August 27, 2021 13:17
* Remove last comma in the CMCD string

* Remove quotes from CMCD token fields

* Only show values in CMCD demo page that have been reported
* Refactor PlaybackController.js

* Refactor BufferController.js

* Refactor SourceBufferSink.js

* Reset MSE after MEDIA_ERROR_DECODE and blacklist the segment that caused the error

* Fix unit test

* Account for SegmentBase content when blacklisting segments
* Add unit tests for Utils.js

* Use relative url for CMCD nor attribute

* URI encode the CMCD nor url
…d. Otherwise we stop buffering to early after a transition from dynamic to static manifests (Dash-Industry-Forum#3748)
…ash-Industry-Forum#3672)

* Move ESLint check to prod config

* Added function that allows using a custom initial track selection mode, added unit test for said function.

* Removed leftover console.log

* Add setCustomInitialTrackSelectionFunction to MediaPlayer.js

* Add sample for custom initial track selection

* Fix JSDoc

Co-authored-by: dsilhavy <daniel.silhavy@fokus.fraunhofer.de>
…ndustry-Forum#3751)

* Add track selection mode based on selectionPriority attribute in the manifest. Make this the default mode and fallback to TRACK_SELECTION_MODE_HIGHEST_BITRATE and TRACK_SELECTION_MODE_WIDEST_RANGE in case no selectionPriority is given.
…ustry-Forum#3759)

* Fix wrong timing calculation for client/server clock drift.
…onTime and use it in getClientReferenceTime() instead before requesting a segment.
…Forum#3754)

* Fix live playback on WebOS (Dash-Industry-Forum#3750)

Reverts some of the changes made in:
a66913f (Timeline and multiperiod optimizations (Dash-Industry-Forum#3413), 2021-04-23)

* [Settings] Add enableSeekDecorrelationFix

Allows disabling the workaround for live playback start (Dash-Industry-Forum#3750)
Enable low latency streaming automatically if availabilityTimeComplete is set to false
…e request (Dash-Industry-Forum#3770)

* Update onload response status

* Fix failing license response on 2xx HTTP codes

Co-authored-by: Pavel Zablockij <pavel.zablockij@teliacompany.com>
* WiP: Fix seek into gaps

* Add settings parameter to enable/disable seekGapFix

* WiP: Unit tests

* WiP: Optimizations for getValidSeekTimeCloseToTargetTime using unit tests

* Optimizations for getValidSeekTimeCloseToTargetTime using unit tests

* Deactivate seek gap fix by default

* Increase gap seek threshold

* Disable seekGapFix
* test suite live delay

* live delay approx assertion

* percentage assertion and disable abr start with lowest bitrate
…-Industry-Forum#3775)

* Activate gap jumping when seeking close to the end of a period.

* Add missing parameter to JSDoc
dsilhavy and others added 26 commits August 9, 2022 11:38
…maximum catchup rate. Otherwise the target live delay is not reached for low catchup rates. (Dash-Industry-Forum#4020)
* Adjust flow in ProtectionController.js. Account for different robustness levels specified by the application when calling requestMediaKeySystemAccess

* Add missing field in index.d.ts

* Fix wrong boolean value in _selectKeySystemOrUpdateKeySessions when being called from pssh
Dash-Industry-Forum#4025)

* Remove check in getValidTimeAheadOfTargetTime that caused stall in stream with gaps in previous period and upcoming period
* Move ServiceDescriptionController.js to dash controller folder

* WiP: Parse content steering information

* Add initial request to content steering server

* Load steering data according to ttl and queryBeforeStart

* Fix unit tests

* Fix linting errors

* First working steering implementation

* Fix JSDoc

* Move content steering selection to dedicated class ContentSteeringSelector.js

* Fix linting error

* Add settings flag to enable/disable content steering

* Add support for RELOAD-URI specified absolute and relative

* Add API endpoint to trigger steering request

* Content steering demo page for local steering server

* Minor changes to the steering demo page

* Add support for proxy server url

* Add unit tests for Content Steering in DASHManifestModel

* Add flag to enable/disable content steering to reference UI

* Revert change to getLocation

* Revert change to getPatchLocation

* Remove unnecessary parameter in call to contentSteeringController.loadSteeringData()

* Formatting changes
…#4024)

* Allow requests to be modified in an async manner

* Update unit test to account for async delay before checking results

* Update unit test to account for async delay before checking results

* Update modifyRequest to act more like modifyRequestUrl and modifyRequestHeader

* Refactor duplicate code to a utility function

* Modify util function to bail early if no modifier is provided

* Ensure modifier is applied before internal fetch headers are constructed

* Only run request modification if the function was provided

* Remove default implementation of modifyRequest so that it does not introduce an async step

* Update extend sample page to demonstrate the use of the modifyRequest function

* Revert loader tests

* Revert test

* Remove unused test utility function
Workflow to deploy nightly to Akamai CDN
* Implemented a 'matcher' to sanitize all @lang attributes parsed from manifests into a bcp-47 complinat format.
Added unit tests to check correct operation of 3-letter code to 2-letter conversion for both AdaptationSet@lang and Label@lang.
* make language matching more robust
* adding BCP-47 module
* use BCP-47 extended filter in settings matcher

* remove commented code

* downgrade version of bcp-47 modules to v1 as they are compatibel with CommonJS (not ESmodule only); add differentiation between string and RegExp in settings.lang

* enhancing language selection tests, making them more sensitive, adding case with 3-letter code, using RegExp object instead of string with RegExp

* refine documentation of possible data types with langValue in setInitialMediaSettingsFor API
…ash-Industry-Forum#4039)

In WPE WebKit, the buffered range of the currentTime has high chances to
have been internally enqueued for playback (an action that can't be
undone, there's no way to unenqueue other than flushing the whole playback
pipeline). If that range is pruned, an internal flush is triggered, but
in order to keep playing from the currentTime onwards, the needed samples
must be enqueued again at least since the previous sync sample. This
can cause a lot of stress to the video decoder and generate stuttering.

This patch solves the problem by avoiding pruning (deleting) ranges
belonging to the same buffered range where the currentTime (or seek
target) is.

This behaviour is protected by the streaming.buffer.avoidCurrentTimeRangePruning
setting, which is disabled by default and only triggers the new behaviour
when enabled on purpose by the webpage embedding dash.js.
* fix: customParametersModel undefined after reset called

* 4.4.2
@grabofus grabofus merged commit bcccad6 into master-doris Nov 8, 2022
@grabofus grabofus deleted the feat/DORIS-1508-upgrade-to-v4.5 branch November 8, 2022 14:54
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.