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

[WIP] Release v4.0.0 #1050

Closed
wants to merge 222 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
222 commits
Select commit Hold shift + click to select a range
8ba6413
Merge pull request #1308 from canalplus/feat/reload-keySystems
peaBerberian Nov 14, 2023
5531dee
Merge pull request #1241 from canalplus/feat/track-info-on-media-error
peaBerberian May 16, 2023
e236615
Merge pull request #1241 from canalplus/feat/track-info-on-media-error
peaBerberian May 16, 2023
09b61cd
Merge pull request #1241 from canalplus/feat/track-info-on-media-error
peaBerberian May 16, 2023
63f8ac3
api: remove fullscreen-related APIs
peaBerberian Jan 20, 2021
dee228e
remove stopAtEnd constructor option
peaBerberian Apr 6, 2021
197b57e
remove getNativeTextTrack method and nativeTextTracksChange event
peaBerberian Jun 16, 2021
56708c1
remove 'xhr' property from NetworkError s
peaBerberian Jun 16, 2021
debd46b
remove hideNativeSubtitles option
peaBerberian Jun 16, 2021
a70b210
remove defaultAudioTrack and defaultTextTrack options as well as corr…
peaBerberian Jun 16, 2021
c0f7289
remove methods: getManifest, getCurrentAdaptations and getCurrentRepr…
peaBerberian Jul 15, 2021
2ccbeb5
tests: remove external_text_track.js as this will be removed anyway
peaBerberian Jul 15, 2021
e77c6d3
transports: remove resolveManifestUrl pipeline element
peaBerberian Jul 16, 2021
e8c779d
remove supplementaryTextTracks loadVideo option
peaBerberian Jul 16, 2021
d82c236
rename maximumBufferTime from positionUpdate event to maximumPosition
peaBerberian Jul 16, 2021
c7b0d30
api: rename getVideoElement into getMediaElement
peaBerberian Jul 16, 2021
1c054f3
remove getVideoPlayedTime and getVideoLoadedTime API
peaBerberian Jul 16, 2021
b353645
rename getVideoDuration into getMediaDuration
peaBerberian Jul 16, 2021
430d7c8
rename getVideoBufferGap into getCurrentBufferGap
peaBerberian Jul 16, 2021
eb54e83
Remove all image-related APIs
peaBerberian Jul 16, 2021
b4c6e93
remove now unused util SimpleSet
peaBerberian Jul 16, 2021
cb6b0eb
remove now unused util listToMap
peaBerberian Jul 16, 2021
b522664
remove throttleWhenHidden player option
peaBerberian Jul 16, 2021
bca94dd
fix failing integration test in initial_playback.js
peaBerberian Jul 16, 2021
98c19a0
doc: suggest even more that videoElement is not just for video elements!
peaBerberian Jul 16, 2021
e70eae7
re-renamed getMediaElement to getVideoElement
peaBerberian Aug 9, 2021
8f25f73
periodChange events do not emit the full Period structure
peaBerberian Aug 9, 2021
f315e34
decipherabilityUpdate event's payload is now confined to few properties
peaBerberian Aug 9, 2021
b3ea66b
api: frameRate is now a number
peaBerberian Aug 13, 2021
8e7ed2f
update node_parsers unit tests
peaBerberian Aug 25, 2021
2cfb5c1
fix dash_multi_periods integration tests by removing Period's id test
peaBerberian Oct 1, 2021
492baf0
Future-proof the transport code for a v4.0.0
peaBerberian Aug 10, 2021
920a399
smooth: move the addition of predicted segments from the segment pars…
peaBerberian Aug 11, 2021
2b775dd
fix tests names in global eme get_license tests
peaBerberian Aug 11, 2021
27028d3
finalize new version of the segmentLoader API
peaBerberian Aug 11, 2021
b94b0e3
A custom Manifest loader now take an object as first arg
peaBerberian Aug 12, 2021
04056ad
tests: fix failing integration tests
peaBerberian Mar 3, 2022
25a1803
Representations in getAvailableVideoTracks can have an undefined bit…
peaBerberian Apr 14, 2022
37eb2e7
remove now useless manifest object exported types
peaBerberian Jun 14, 2022
e28c787
Remove bitrate-linked events
peaBerberian Jun 22, 2022
e6e8946
update demo according to removed APIs
peaBerberian Jun 22, 2022
f77433c
tests: remove bitrate-related events from integration tests
peaBerberian Jun 23, 2022
bbbc3a1
Remove aggressiveMode from the transportOptions
peaBerberian Apr 14, 2022
033e1de
v4: Refacto tracks API for more flexible multi-Period scenario
peaBerberian Aug 25, 2021
3c27feb
Implement the concept of locked Representations and switching modes
peaBerberian Oct 2, 2021
eac9986
Remove Bitrate modification APIs
peaBerberian Mar 8, 2022
4dcbbcd
Avoid emitting newAvalailablePeriods event if TracksStore is disposed
peaBerberian Apr 15, 2022
f04b9f6
doc: begin updating the "Selecting a Track" tutorial
peaBerberian Apr 15, 2022
da5162a
api: set periodInfo object in decipherabilityUpdate event
peaBerberian Jun 15, 2022
c70fd8a
Add lost tracks events
peaBerberian Jun 22, 2022
9f6f445
test: fix integration tests after removal of setVideoBitrate API
peaBerberian Jun 23, 2022
5f64a29
give less information in the representationFilter API
peaBerberian Jun 23, 2022
a026c0c
Replace lostTrack events by autoTrackSwitch
peaBerberian Jun 24, 2022
6572ead
demo: switch from setVideo/AudioBitrate to lockVideo/AudioRepresentat…
peaBerberian Jun 23, 2022
28bcd6c
update a.js (implementation ideas draft)
peaBerberian Jun 24, 2022
b9ad9a8
doc: update API documentation to better align with v4 tracks and repr…
peaBerberian Aug 5, 2022
97c8733
Remove manualBitrateSwitchingMode option
peaBerberian Aug 8, 2022
9979976
add defaultAudioTrackSwitchingMode player option
peaBerberian Aug 9, 2022
d8c3bf7
Rename bitrateEstimationChange into __priv_bitrateEstimateChange
peaBerberian Aug 12, 2022
23cd3e7
Remove notion of environment variables configuring builds
peaBerberian Aug 16, 2022
c07d101
clarify range/indexRange into byteRanges in custom segmentLoader
peaBerberian Aug 30, 2022
6fadf65
Replace getUrl method by getContentUrls
peaBerberian Aug 30, 2022
a2252e9
Add FREEZING state
peaBerberian Aug 19, 2022
95ec691
[V4] Flatten transportOptions loadVideo option
peaBerberian Aug 22, 2022
e9b7ef0
rename distinctiveIdentifierRequired and persistentStateRequired options
peaBerberian Aug 19, 2022
f925da8
DRM: remove onKeyStatusesChange keySystems option
peaBerberian Aug 19, 2022
946cedc
Remove undocumented audioRobustnesses and videoRobustnesses and add m…
peaBerberian Aug 19, 2022
7b43be2
DRM: provide default playready.recommendation robustnesses
peaBerberian Aug 22, 2022
b467c7f
drm: fix drm unit tests
peaBerberian Aug 25, 2022
a6e86dc
doc: document audioCapabilitiesConfig and videoCapabilitiesConfig API
peaBerberian Aug 29, 2022
1fd6f99
Fix integration tests on getContentUrls
peaBerberian Sep 9, 2022
d6074da
DRM: Remove persistentLicense keySystems option and rename licenseSto…
peaBerberian Aug 19, 2022
0c837e4
Remove initialVideoBitrate and initialAudioBitrate, add baseBandwidth
peaBerberian Aug 30, 2022
f4a3f2d
remove getAudio/VideoBitrate and replace them by getAudio/VideoRepres…
peaBerberian Aug 12, 2022
dc1df74
remove all min and max bitrate APIs
peaBerberian Aug 12, 2022
513b4a0
Remove networkConfig.offlineRetry and isOfflineError on custom manif…
peaBerberian Oct 6, 2022
1a6c1a5
Rename the networkConfig loadVideo option into a requestConfig option
peaBerberian Oct 6, 2022
6cd0566
EME robustnesses can also be undefined
peaBerberian Oct 12, 2022
64f6a97
[v4] Remove decipherabilityUpdaate event
peaBerberian Oct 4, 2022
27fc038
add contentProtections to representation object given to a representa…
peaBerberian Oct 12, 2022
5795d61
add CHANGELOG.md
peaBerberian Oct 13, 2022
73b37b8
Replace autoTrackSwitch event by a more useful trackUpdate event
peaBerberian Oct 10, 2022
4cd9b40
Fix TextTrackRenderer JSDoc
peaBerberian Oct 14, 2022
692cd22
Fix performance tests by both being m tolerant on state changes
peaBerberian Dec 27, 2022
b53064a
api: add some state change checks to avoid incoherencies
peaBerberian Dec 27, 2022
3544855
Remove forgotten only in tests
peaBerberian Dec 27, 2022
6d91fd9
Fix post-RELOADING state update
peaBerberian Dec 27, 2022
4c9fcc0
Rename terminatingRepStreamCanceller to bufferGoalCanceller so it bec…
peaBerberian Dec 27, 2022
a1a4b1a
Fix integration tests for V4
peaBerberian Mar 1, 2023
63feb6e
demo: add default switching modes to demo
peaBerberian Dec 27, 2022
072e0ff
demo: add descriptions to every option of the demo page
peaBerberian Dec 27, 2022
6f5d3c5
api: never return an Infinity bufferGap
peaBerberian Dec 27, 2022
fe98242
Fix unit and integration tests to new getCurrentBufferGap behavior
peaBerberian Dec 27, 2022
be0c652
Implement a cleaner AdaptationStream logic
peaBerberian Dec 27, 2022
3d2a1bc
Remove throwOnLicenseExpiration option
peaBerberian Dec 28, 2022
632a763
doc: Begin to add migration guide and update API documentation and ch…
peaBerberian Dec 28, 2022
b07d69e
api: safer event emitting by stopping sending events if content is st…
peaBerberian Jan 2, 2023
fcbc426
Reload when a Period, Adaptation or Representation disappears
peaBerberian Jan 4, 2023
64bf96b
Continue migration documentation
peaBerberian Jan 4, 2023
ebf1bb5
Minor documentation fixes
peaBerberian Jan 5, 2023
4193614
Continue migration documentation
peaBerberian Jan 20, 2023
54c6c36
api: rename various types into trackType
peaBerberian Jan 20, 2023
0a19f91
Replace fallbackOn keySystems options
peaBerberian Jan 20, 2023
7a56cb5
Finish API documentation and migration guide for the v4?
peaBerberian Jan 20, 2023
2f30d42
tests: fix representationFilter integration test
peaBerberian Jan 26, 2023
d8e4bb6
Remove a.js draft file
peaBerberian Jan 26, 2023
7461350
doc: correct the doc by telling that new considered Periods do not al…
peaBerberian Jan 26, 2023
bf11496
Test: fix Period unit tests
peaBerberian Jan 26, 2023
fa3b4ac
Add `videoResolutionLimit` constructor option
peaBerberian Jan 26, 2023
4f2aaa5
Remove release_note.md as it has nothing to do in the v4 branch
peaBerberian Jan 27, 2023
efcb81a
Fix TypeScript strict mode issue
peaBerberian Jan 27, 2023
ee028d0
Update changelog.md for the v4.0.0-beta.0
peaBerberian Jan 27, 2023
b36de35
doc: update API documentation for the v4
peaBerberian Jan 27, 2023
e842a1c
Fix date in CHANGELOG.md and typo
peaBerberian Jan 27, 2023
62206aa
Remove locked_reps.js artefact
peaBerberian Jan 31, 2023
8f5c85e
Fix removed options from documentation
peaBerberian Jan 31, 2023
f2d46c6
doc: fix segmentLoader snippet by removing range usage
peaBerberian Mar 1, 2023
6960136
demo: fix demo for the v4.0.0-beta.1
peaBerberian Mar 8, 2023
7cf185a
update CHANGELOG.md for the v4.0.0-beta.1
peaBerberian Mar 7, 2023
96e363d
Do not trigger decipherabilityUpdate logic in the stream if cancelled
peaBerberian Mar 22, 2023
bf84686
Add `representationListUpdate` event for the v4
peaBerberian Apr 18, 2023
48f9419
Improve `NO_PLAYABLE_REPRESENTATION` behavior for the v4
peaBerberian Mar 23, 2023
917df17
Fix shadowed variable
peaBerberian Jun 2, 2023
2d6189d
Update changelog for the beta 2
peaBerberian Jun 15, 2023
f75f24f
tests: remove setVideoBitrate reference
peaBerberian Jun 15, 2023
f6ffcbf
Reload when playback is unexpectedly frozen with encrypted but only d…
peaBerberian Mar 29, 2023
34b55dd
Add supplementary security for decipherability reload
peaBerberian Jun 2, 2023
ffc5ded
Fix issues seen by sonarcloud
peaBerberian Jun 15, 2023
7c1ae22
Re-remove unneeded create_representation_estimator util
peaBerberian Jul 24, 2023
4db560d
doc: clarify wording for getAvailablePeriods doc
peaBerberian Jul 24, 2023
7cfa012
Fix decipherability reporting by correcting seemsDecipherable -> deci…
peaBerberian Jul 24, 2023
5af7078
Fix typo in API internal type
peaBerberian Jul 24, 2023
6ca440a
Better document the TracksStore
peaBerberian Jul 24, 2023
9c577d2
Lazily send newAvailablePeriods
peaBerberian Jul 24, 2023
ff2c5c4
Errors: Replace trackInfo prop by tracksInfo to group similar errors
peaBerberian Jul 21, 2023
44f5825
Improve global scope situation with util and lint update
peaBerberian Aug 30, 2023
6ce81a3
Remove necessity to send added segment data as event
peaBerberian Sep 1, 2023
4e1e14d
Fix linting issues
peaBerberian Sep 12, 2023
4fccc81
[Proposal] "Remove" `manifestUpdateUrl` loadVideo option for the v4
peaBerberian Sep 12, 2023
c2bc650
Remove dist folder and its content from git for the v4
peaBerberian Aug 22, 2023
11eabee
Use monotonic timestamp util
peaBerberian Sep 26, 2023
2b13306
doc: in DASH_WASM doc, set node_modules directory in code block
peaBerberian Sep 27, 2023
cb764dc
Remove now unneeded addedSegment callback from AdaptationStream
peaBerberian Sep 27, 2023
b4b4cad
Duplicate ranges utils for both TimeRanges and IRange[]
peaBerberian Sep 27, 2023
6791860
Fix JSDoc in Metaplaylist code
peaBerberian Sep 27, 2023
5a76b1d
Implement better error message for the v4
peaBerberian Sep 26, 2023
b477a20
Remove Node.JS reference from the RxPlayer code
peaBerberian Oct 13, 2023
9de9cec
Default RxPlayer import now also depends on modular builds
peaBerberian Oct 13, 2023
c50cc62
Fix ABR on old Edge browser
peaBerberian Oct 16, 2023
011fe43
update CHANGELOG.md
peaBerberian Sep 29, 2023
de659b2
Update builds and version
peaBerberian Sep 29, 2023
874629b
update CHANGELOG.md
peaBerberian Sep 29, 2023
b1c9fd2
update CHANGELOG.md
peaBerberian Oct 2, 2023
305e0f6
Dangerously set tsconfig target to es2017
peaBerberian Oct 19, 2023
5a90709
Remove now removed image-related features from tests
peaBerberian Oct 26, 2023
9ff9bb9
Fix usage of an external segmentLoader when playing smooth streaming …
peaBerberian Oct 26, 2023
d34a8d0
Implement better exports strategy supporting both commonjs and es6-style
peaBerberian Nov 2, 2023
e576bd0
Transition all rx-player scripts to es6 style imports
peaBerberian Nov 3, 2023
ce47cb9
v4: Remove next-tick dependency
peaBerberian Nov 8, 2023
c01a7a1
tests: begin removing XHRMock util
peaBerberian Oct 26, 2023
bc05890
Demo: Add possibility to see the debug element in the demo page
peaBerberian Nov 20, 2023
33d791f
Merge pull request #1312 from canalplus/misc/remove-next-tick-dependency
peaBerberian Nov 14, 2023
0e5583d
Merge pull request #1318 from canalplus/demo/debug-element
peaBerberian Nov 21, 2023
840b44c
add cache optimization
Florent-Bouisset Nov 28, 2023
eefa87b
feature: add a connection timeout (#1319)
Florent-Bouisset Nov 28, 2023
25a0cdf
Merge pull request #1324 from canalplus/perf/add-cache-to-codec-support
peaBerberian Dec 4, 2023
2769b16
fix a bug in the demo: changing video/audio switching mode had no effect
Florent-Bouisset Dec 4, 2023
8a568b7
update comments
peaBerberian Dec 4, 2023
995d568
feat: add `relativeResumePosition` option on `setAudioTrack`
Florent-Bouisset Dec 5, 2023
e894491
demo: delete unused file
Florent-Bouisset Dec 5, 2023
57d8739
Merge pull request #1328 from canalplus/fix-demo-updating-update-swit…
peaBerberian Dec 5, 2023
0d0c8ca
refactor: code in create persistent session was unreachable
Florent-Bouisset Dec 12, 2023
7f4fa80
add seek to callback on audio track change
Florent-Bouisset Dec 26, 2023
7a9b0b9
Merge pull request #1329 from canalplus/refactor/delete-unused-demo-file
peaBerberian Dec 5, 2023
722ed2b
Merge pull request #1333 from canalplus/refactor/remove-unreachable-c…
peaBerberian Dec 12, 2023
9505f5b
add relative position for video update
Florent-Bouisset Dec 26, 2023
5eee4dc
Add canal-release.patch to make a canal release more easily
peaBerberian Dec 6, 2023
66a8891
Re-update how tizen seek backs are handled, this time globally
peaBerberian Nov 30, 2023
bdf2ef0
Remove mention of the BIF feature in the API documentation
peaBerberian Dec 12, 2023
603af17
refactor to use `needsBufferFlush` callback
Florent-Bouisset Dec 26, 2023
6abe3a1
Fix tags in make-dev-releases script
peaBerberian Dec 6, 2023
897b419
Refacto current position handling
peaBerberian Nov 30, 2023
271fa34
Update date in migration guide
peaBerberian Dec 12, 2023
f295795
doc: add documentation for relativeResumingPosition
Florent-Bouisset Dec 28, 2023
d7bdfbb
DASH_WASM is not an experimental feature anymore
peaBerberian Dec 21, 2023
2126cd6
doc: Remove unnecessary whitespace in Loading_a_Content.md
peaBerberian Dec 7, 2023
a6ee5e1
Better comment aproximate seeking handling in the playback observer
peaBerberian Dec 15, 2023
576a72c
Remove mention of beta in migration guide
peaBerberian Dec 12, 2023
636710a
types: type description is clearer
Florent-Bouisset Dec 28, 2023
0032514
DEBUG_ELEMENT is not an experimental feature anymore
peaBerberian Dec 21, 2023
4164eb4
Rename codec to codecs in the representationFilter for the v4
peaBerberian Nov 30, 2023
782f875
Merge pull request #1327 from canalplus/misc/tizen-seekback-refacto
peaBerberian Dec 19, 2023
14209e2
refactor: change arguments into object in set audio/video track
Florent-Bouisset Dec 28, 2023
a27503a
parseBifThumbnails is not an experimental tool anymore
peaBerberian Dec 21, 2023
d87ad17
Merge pull request #1332 from canalplus/misc/repfilter-now-codecs
peaBerberian Dec 19, 2023
7929084
test: add integration test for keep-position
Florent-Bouisset Dec 29, 2023
dea19ff
Add notes on experimental tools and features in migration guide
peaBerberian Dec 21, 2023
fabc66e
Add Unreleased part to the v4 CHANGELOG.md
peaBerberian Dec 19, 2023
543006f
review: update properties name to make it more clear
Florent-Bouisset Jan 3, 2024
e50dbcc
export types IcompatibleKeySystem to public API
Florent-Bouisset Dec 22, 2023
52220c6
Merge pull request #1339 from canalplus/misc/dash-wasm-stable
peaBerberian Dec 21, 2023
73fe30c
seek to expected position when resumePosition is 0
Florent-Bouisset Jan 3, 2024
761c50b
Merge pull request #1340 from canalplus/types-compatible-key-system
peaBerberian Dec 22, 2023
67c9c7b
fix(demo): fix ts error in global declaration
Florent-Bouisset Jan 2, 2024
c3a4751
tests: on MacOS, typescript transpiling through webpack fails for som…
peaBerberian Dec 28, 2023
9fa59b4
doc: make relativeResumingPosition description clearer
Florent-Bouisset Jan 3, 2024
4702a06
Remove the necessity of installing binaryen separately
peaBerberian Dec 19, 2023
f581a85
Merge pull request #1346 from canalplus/demo/fix-ts-config
peaBerberian Jan 3, 2024
03ca7fc
update properties name to be clearer
Florent-Bouisset Jan 3, 2024
bd06dd7
demo: change removed property limitVideoWidth to videoResolutionLimit
Florent-Bouisset Jan 2, 2024
f71ebd0
Merge pull request #1335 from canalplus/misc/wasm-opt-js
peaBerberian Jan 3, 2024
bec86c7
Set more standard mute/unMute behaviors
peaBerberian Jan 3, 2024
19fff8e
improvement: perform exact seek only if user has set value
Florent-Bouisset Jan 4, 2024
0271086
Merge pull request #1345 from canalplus/demo/fix-obsolete-property-li…
peaBerberian Jan 3, 2024
e33ab14
update code after review
peaBerberian Jan 5, 2024
6af2f94
corrects an erronous comment
Florent-Bouisset Jan 5, 2024
49a7e1b
Fix typo in Player Event documentation
peaBerberian Jan 3, 2024
f063f1c
Fix typo in public api tests
peaBerberian Jan 5, 2024
4dc8b10
Merge pull request #1331 from canalplus/feat/keep-position
peaBerberian Jan 5, 2024
883dc7f
fix an issue where transport option was always dash even if selected …
Florent-Bouisset Jan 8, 2024
bdb14e3
Merge pull request #1348 from canalplus/misc/re-define-mute-unmute
peaBerberian Jan 5, 2024
f55a699
Merge pull request #1350 from canalplus/fix/direct-in-demo-not-working
peaBerberian Jan 11, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
11 changes: 10 additions & 1 deletion .eslintrc.js
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ module.exports = {
],
"parser": "@typescript-eslint/parser",
"parserOptions": {
"project": "tsconfig.json",
"project": "tsconfig.eslint.json",
"sourceType": "module"
},
"plugins": [
Expand Down Expand Up @@ -328,6 +328,15 @@ module.exports = {
"prefer-template": "off",
"no-restricted-properties": [
"error",
{
"object": "performance",
"property": "now",
"message": "Avoid using `performance.now` directly as timestamps may be different in the worker and the main thread. Please use the `getMonotonicTimeStamp` util instead.",
},
{
"object": "window",
"message": "`window` doesn't work in Node.JS and only works when JavaScript is running in the main thread. Please import `globalScope` instead.",
},
{
"object": "Object",
"property": "assign",
Expand Down
69 changes: 21 additions & 48 deletions .github/workflows/checks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ on:
types: [opened, synchronize, reopened]

jobs:
check:
typechecking_and_linting:

runs-on: ubuntu-latest

Expand All @@ -28,6 +28,24 @@ jobs:
cache: 'npm'
- run: npm install
- run: npm run check

unit_tests:

runs-on: ubuntu-latest

strategy:
matrix:
node-version: [16.x]
# See supported Node.js release schedule at https://nodejs.org/en/about/releases/

steps:
- uses: actions/checkout@v2
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v2
with:
node-version: ${{ matrix.node-version }}
cache: 'npm'
- run: npm install
- run: npm run test:unit

integration_linux:
Expand All @@ -49,53 +67,8 @@ jobs:
# needed for integration & memory tests codecs support
- run: sudo add-apt-repository multiverse && sudo apt update && sudo apt install -y ubuntu-restricted-extras
- run: npm install
- run: npm run build
# Firefox seems to have issue with integration tests on GitHub actions only
# TODO to check
- run: node tests/integration/run.js --bchromehl
- run: node tests/integration/run.mjs --bchromehl
- run: npm run test:memory

# Windows seems to be a lot less stable for some reason.
# TODO debug?
# integration_windows:

# runs-on: windows-latest

# strategy:
# matrix:
# node-version: [16.x]
# # See supported Node.js release schedule at https://nodejs.org/en/about/releases/

# steps:
# - uses: actions/checkout@v2
# - name: Use Node.js ${{ matrix.node-version }}
# uses: actions/setup-node@v2
# with:
# node-version: ${{ matrix.node-version }}
# cache: 'npm'
# - run: npm install
# # Firefox seems to have issue with integration tests on GitHub actions only
# # TODO to check
# - run: node tests/integration/run.js --bchromehl
# - run: npm run test:memory

# MacOS seems to be a lot less stable for some reason.
# TODO debug?
# integration_macos:

# runs-on: macos-latest

# strategy:
# matrix:
# node-version: [16.x]
# # See supported Node.js release schedule at https://nodejs.org/en/about/releases/

# steps:
# - uses: actions/checkout@v2
# - name: Use Node.js ${{ matrix.node-version }}
# uses: actions/setup-node@v2
# with:
# node-version: ${{ matrix.node-version }}
# cache: 'npm'
# - run: npm install
# - run: npm run test:integration:gh-actions
# - run: npm run test:memory
2 changes: 1 addition & 1 deletion .github/workflows/perfs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,4 +19,4 @@ jobs:
- run: npm install
- run: export DISPLAY=:99
- run: sudo Xvfb -ac :99 -screen 0 1280x1024x24 > /dev/null 2>&1 & # optional
- run: node tests/performance/run.js
- run: node tests/performance/run.mjs
3 changes: 1 addition & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,7 @@
/tests/performance/package.json
/tests/performance/package-lock.json

/dist/_esm5.processed
/dist/_esm5.raw
/dist/

/doc/generated

Expand Down
210 changes: 208 additions & 2 deletions CHANGELOG.md

Large diffs are not rendered by default.

8 changes: 1 addition & 7 deletions FILES.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,12 +22,7 @@ At the time of writing, there are two distinct demos:

The `dist/` directory stores the player builds of the last version released.

Contains the minified (``rx-player.min.js``) and the non-minified files
(``rx-player.js``). Both are automatically generated with scripts at every new
release.

Two directories, namely ``_esm5.raw`` and ``_esm5.processed`` can also be
generated in here if the right scripts are called.
Directories can also be generated in here if the right scripts are called.
These allow to publish more modular codebases to npm.


Expand Down Expand Up @@ -128,7 +123,6 @@ What is exported there are functions to load:
- Manifests/MPDs
- video/audio segments
- subtitles tracks
- image tracks

For different streaming technologies.

Expand Down
25 changes: 0 additions & 25 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -195,31 +195,6 @@ npm install
```


### Build ######################################################################

We use npm scripts to bundle, lint and test the player. Here are some examples:
```sh
# build the player in dist/rx-player.js
npm run build

# lint the code in src/ with eslint
npm run lint

# launch the demo on a local server (http://127.0.0.1:8000)
npm run start

# launch our test suite on various browsers
npm run test

# list all available npm scripts
npm run list
```

Builds are included in the ``dist/`` directory (builds based on the last version
are already included there).



## Why a new player? ###########################################################

### A need for an advanced media player ########################################
Expand Down
2 changes: 1 addition & 1 deletion VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
3.32.1
4.0.0-beta.3
15 changes: 11 additions & 4 deletions demo/full/scripts/components/BufferContentGraph.tsx
Original file line number Diff line number Diff line change
@@ -1,10 +1,15 @@
import * as React from "react";
import type { IRepresentation } from "../../../../src/public_types";
import type {
IAudioRepresentation,
IVideoRepresentation,
} from "../../../../src/public_types";
import capitalizeFirstLetter from "../lib/capitalizeFirstLetter";
import shuffleArray from "../lib/shuffleArray";
import type { IBufferedData } from "../modules/player/index";
import ToolTip from "./ToolTip";

type IRepresentation = IAudioRepresentation | IVideoRepresentation;

const {
useEffect,
useMemo,
Expand Down Expand Up @@ -258,12 +263,14 @@ export default function BufferContentGraph({

let newTipText = "";
switch (adaptation.type) {
case "video":
newTipText += `width: ${representation.width ?? "?"}` + "\n" +
`height: ${representation.height ?? "?"}` + "\n" +
case "video": {
const rep = representation as IVideoRepresentation;
newTipText += `width: ${rep.width ?? "?"}` + "\n" +
`height: ${rep.height ?? "?"}` + "\n" +
`codec: ${representation.codec ?? "?"}` + "\n" +
`bitrate: ${representation.bitrate ?? "?"}` + "\n";
break;
}
case "audio":
newTipText += `language: ${adaptation.language ?? "?"}` + "\n" +
`audioDescription: ${
Expand Down
58 changes: 0 additions & 58 deletions demo/full/scripts/components/ImageThumbnail.tsx

This file was deleted.

Loading
Loading