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

Feature/merge v4 to v5 #4394

Merged
merged 56 commits into from
Feb 25, 2024
Merged

Feature/merge v4 to v5 #4394

merged 56 commits into from
Feb 25, 2024

Conversation

dsilhavy
Copy link
Collaborator

Add the latest changes in the v4 branch to v5

littlespex and others added 30 commits August 4, 2023 10:55
* fix: clear timeout on reset

* fix: add null check to prevent errors when _onRemove is called after reset
…was rendered. This accounts for content that has no ID attribute for the AdaptationSets. (#4249)
Remove unmaintained version of the already used `@babel/preset-env` dependency
* Use fixed version of Chrome driver as latest one is unavailable
* Adds a functional testsuite based on the Karma framework.
* Fix bug in the request logic in case fastswitch is enabled. If there is no request that corresponds to a segment in the buffer to be replaced then perform a default quality switch.

* Do not check for a new quality in case we are already performing a default quality switch
* JSdoc menu blocks solved by install new template foodoc

* Solve JSdocs menu blocks by installing new template and add custom css

* Revert package-lock.json to a previos state
* Fix handling of the AbandonRequest rule.
* Remove outdated cues from track when adding a new cue.

* Change ranges for which to remove the outdated texttracks. Shall be from 0 to currenttime - bufferToKeep
* Update and add BBC reference player streams

* Alterations to BBC test streams
* Added fix for #4291 and #4287

* Cleaned up leftover comment
* Starting point for some tests with ManagedMediaSource. No way to check the implementation at this point, no debug device available.

* Fix a mediasource selection bug and add logging output

* Add missing checks to enable playback on iOS Safari

* Only try to add event listener for "startstreaming" and "endstreaming" if we are using the ManagedMediaSource

* Sort function list
bwallberg and others added 26 commits December 5, 2023 14:04
* Switch to imsc 1.1.4 now it has been released.
`PlaybackErrorEvent` interface definition is duplicated in `index.d.ts`.
This commit removes the duplicate.
Currently `index.d.ts` has a duplicate and slightly overlapping
definition of `MediaPlayerEvents` interface.  Although allowed in
Typescript which merges both definitions, it seems to be a needless and
confusing duplication.  This commit removes the duplication and replaces
it with a union of duplicated interface definitions.
* Remove specific chrome version from circleci config
#4356)

* Remove unused dependency foodoc and move JDSdoc related dependencies in package.json to devDependencies section

* Update UA parser version
* Add text.imsc settings for rollUp and displayForcedOnly

* Add settings to index.d.ts

Also change `displayForcedOnly` to `displayForcedOnlyMode` throughout, so it's consistent, because that was a vector for hard-to-spot coding errors.

* Address feedback - remove unnecessary player settings
* Add proposed fix for subtitle flickering

* Refactor for clarity and use requestAnimationFrame

* Make sure to not effect CEA608 subs, and add comments for clarity

* Address PR comments
* BaseUrl dvb extension properties to use camelCase

* Reporting dvb extension properties to use camelCase
`PlaybackErrorEvent` when triggered in `PlaybackController`, attaches
the original `MediaError` as `error` property.  This commit corrects the
TS typing to reflect that.
* Initial dvb font download work

* Continued dvb font download functionality

* Seperate DVBFontUtils and TTML prefixing

* Essential Property descriptors working and refactor DVB font handling

* Ensure fonts are removed and handled with essential property descriptors, tidy up

* Comment tidy up

* Clean up and function commenting

* Team feedback corrections

* Non dvbFonts unit tests

* Add DVBFonts unit tests

* Update types

* Update BSD-3 header in accordance with contributor guide

* Remove font prefixing functionality

* Remove references to prefixing fontFamilies in TTMLParser

* Move events from CoreEvents to MediaPlayerEvents

* Address PR comments on DashAdapter, DashManifestModel and TextSourceBuffer

* Address PR comments for DVBFonts

* Missing semicolon removal

* Add DVB Font Download test streams to reference player

* Use camelCase for DescriptorType dvb extensions

* Handle disabled tracks correctly in the reference player controlbar

* Fix controlbar text track and native track matching

* Fix issue with disabled track cues

* Add DVB font download test streams to functional tests

* Update imscJS version and remove now unneeded fix
#4366)

* Check for available representations in DVBFonts.js to avoid accessing the path attribute on a non-existing object

* Remove unnecessary semicolon
* Added subtitle event handling for manual rendering the subtitles

This adds two new media player events: `CUE_ENTER` and `CUE_EXIT`.
With these events you can render the subtitles without relying on
the browser. This makes it possible to fully customize the UI for
the subtitles. To enable the events, set the `fireCueEvents` setting
to true.

For details check out the example in `samples/captioning/events.html`.
…eams (#4382)

* Added liveUpdateTimeThresholdInMilliseconds in order to control the frequency of time updates during live streams
#4389)

* Fix a bug when dispatching subtitle events that causes an error in the event bus when the video is seeked
# Conflicts:
#	.circleci/config.yml
#	index.d.ts
#	package-lock.json
#	package.json
#	samples/offline/app/main.js
#	src/core/Settings.js
#	src/dash/DashAdapter.js
#	src/dash/constants/DashConstants.js
#	src/dash/models/DashManifestModel.js
#	src/dash/vo/MediaInfo.js
#	src/dash/vo/SimpleXPath.js
#	src/streaming/MediaPlayer.js
#	src/streaming/StreamProcessor.js
#	src/streaming/constants/Constants.js
#	src/streaming/controllers/MediaController.js
#	src/streaming/controllers/MediaSourceController.js
#	src/streaming/controllers/PlaybackController.js
#	src/streaming/controllers/ScheduleController.js
#	src/streaming/controllers/StreamController.js
#	src/streaming/models/MetricsModel.js
#	src/streaming/models/VideoModel.js
#	src/streaming/rules/abr/AbandonRequestsRule.js
#	src/streaming/rules/abr/L2ARule.js
#	src/streaming/text/TextController.js
#	src/streaming/utils/Capabilities.js
#	src/streaming/utils/RequestModifier.js
#	test/functional/readme.md
#	test/unit/dash.DashAdapter.js
#	test/unit/dash.models.DashManifestModel.js
#	test/unit/streaming.MediaPlayer.js
#	test/unit/streaming.controllers.StreamController.js
#	test/unit/streaming.text.TextController.js
#	test/unit/streaming.utils.CapabilitiesFilter.js
#	test/unit/streaming.utils.TTMLParser.js
@dsilhavy dsilhavy added this to the 5.0.0 milestone Feb 25, 2024
@dsilhavy dsilhavy merged commit 372d14d into v5.0.0 Feb 25, 2024
4 checks passed
@dsilhavy dsilhavy deleted the feature/mergeV4ToV5 branch February 25, 2024 07:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Development

Successfully merging this pull request may close these issues.

None yet