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

Timeline and multiperiod optimizations #3413

Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
208 commits
Select commit Hold shift + click to select a range
fe803af
Add key session updated event and enable reuse of sourcebuffers via s…
dsilhavy Sep 9, 2020
dc4df9c
WiP
dsilhavy Sep 11, 2020
3d07b4c
WiP: Commong DVR window for all periods
dsilhavy Sep 14, 2020
427f71c
Rename methods
dsilhavy Sep 14, 2020
c8e71b2
Merge branch 'development' of https://github.com/Dash-Industry-Forum/…
dsilhavy Sep 14, 2020
8b88bb5
Remove LiveEdgeFinder.js
dsilhavy Sep 14, 2020
e5bc29d
Remove setExpectedLiveEdge and getExpectedLiveEdge
dsilhavy Sep 14, 2020
20b7b94
Fix unit tests
dsilhavy Sep 14, 2020
f18ef0b
Fix linting error
dsilhavy Sep 14, 2020
e58921b
Add additional unit tests for availabilityWindow calculation
dsilhavy Sep 14, 2020
5d2bb8a
Add missing return value
dsilhavy Sep 14, 2020
5874991
Adjust Settings.js
dsilhavy Sep 14, 2020
04c0bd0
Adjust timeline calculation for availability window and dvr window
dsilhavy Sep 15, 2020
2ae3182
Adjust segment availability calculation
dsilhavy Sep 15, 2020
d62839b
Use timeshift window as DVR window instead of availability windo
dsilhavy Sep 15, 2020
1c94ea2
Use allowed gap length as tolerance for buffer level estimation
dsilhavy Sep 15, 2020
77d956d
updateCurrentTime when representation update failed
dsilhavy Sep 15, 2020
475915d
Adjust segmentAvailability calculation to use availabilityWindow
dsilhavy Sep 15, 2020
2fcb4a6
Fix the representation update errors for multiperiod
dsilhavy Sep 15, 2020
2738e7b
Fix segment availability calculation
dsilhavy Sep 16, 2020
d3e57ec
Small adjustments for segment availability calculation
dsilhavy Sep 16, 2020
82f0fd4
Add timeline manifest drift
dsilhavy Sep 16, 2020
2e881cb
VoD onEnded fixes
dsilhavy Sep 16, 2020
759fc04
Only set the initial live edge once after startup.
dsilhavy Sep 17, 2020
35767b6
Remove hasDiscontinuities handling as we have gap handling as this ca…
dsilhavy Sep 17, 2020
aa0fd40
Support availabilityTimeOffset set to Inf
dsilhavy Sep 17, 2020
79cd89b
Add unit tests for TimelineConverter.js
dsilhavy Sep 18, 2020
9f51a11
Adjust live start logic for SegmentTemplate using DVRwindow.
dsilhavy Sep 21, 2020
f3c4478
Fix MPD anchors for multiperiod static
dsilhavy Sep 21, 2020
e933136
Calculate DVR window using segmenttimeline
dsilhavy Sep 21, 2020
d7e3ed5
Adjust calculation of time for dynamic streams
dsilhavy Sep 21, 2020
f25f4a8
Remove gap checking in SourceBufferSink.js
dsilhavy Sep 21, 2020
9e6c162
Use lastSeekWasInternal instead of removing event listener
dsilhavy Sep 21, 2020
ef667b3
Adjust unit tests
dsilhavy Sep 24, 2020
a858b4f
Add unintened removal again
dsilhavy Sep 24, 2020
38dcb73
Small change in timeline DVR window calculation
dsilhavy Sep 24, 2020
3af1ebb
Fix a bug in the DVR window calculation for timeline
dsilhavy Sep 25, 2020
f0948e9
No gap jump when track change is in progress
dsilhavy Oct 3, 2020
6972e3d
Fix audio switch for multiperiod prebuffered streams
dsilhavy Oct 3, 2020
aedc5ac
Fix errors in TimelineConverter.js and add additonal unit tests
dsilhavy Oct 5, 2020
99bb473
Update StreamMock.js
dsilhavy Oct 5, 2020
f7fc78b
Fix linting errors and unit tests
dsilhavy Oct 5, 2020
902217b
Fix a bug in AbrController.js
dsilhavy Oct 5, 2020
37b916e
WiP: Enable preloading after seeking between periods
dsilhavy Oct 5, 2020
13a8f3e
Fix bug in event presentation time calculation
dsilhavy Oct 5, 2020
5ad7a1c
Remove gap check in SourceBufferSink.js
dsilhavy Oct 6, 2020
35bb18f
prune buffer when seek causes a period switch
dsilhavy Oct 6, 2020
ec20d64
Fix Buffer.abort call for multiperiod streams
dsilhavy Oct 6, 2020
e9a1755
Fix stalling problem for multiperiod multi audio when seeking between…
dsilhavy Oct 6, 2020
03de628
Fix linting errors and unit tests
dsilhavy Oct 6, 2020
53cc52f
Remove some stuff in SourceBufferSink.js
dsilhavy Oct 6, 2020
c0e0a4c
Minor formatting changes
dsilhavy Oct 7, 2020
dbfb7eb
Separate init handling in PlaybackController.js after period switch
dsilhavy Oct 7, 2020
fadbcc9
Fix seg.replacementTime for $time and SegmentTemplate
dsilhavy Oct 9, 2020
77f42d0
Subtract duration of one segment from availability window
dsilhavy Oct 9, 2020
de25a54
No need to subtract duration when calculating the avail window as we …
dsilhavy Oct 12, 2020
e67608d
Small linting fix in AbrController.js
dsilhavy Oct 12, 2020
5e0fb7b
Distinguish between inner and outer period seeking to call specific s…
dsilhavy Oct 12, 2020
252e471
Small refactoring in StreamController.js
dsilhavy Oct 13, 2020
4c24f99
Adjust seek to stream end logic in gap controller
dsilhavy Oct 13, 2020
4870d90
Small adjustment in GapController.js
dsilhavy Oct 13, 2020
eee674b
Use index of buffered ranges for gap jumping
dsilhavy Oct 13, 2020
36a99cd
Internal seek only if next stream is prebuffered
dsilhavy Oct 13, 2020
5c4a453
Fix a bug when seeking between periods. If some buffers are already p…
dsilhavy Oct 14, 2020
8845607
Fix a bug which lead to multiple stream switches when seeking
dsilhavy Oct 14, 2020
cc9aa13
Fix a bug which lead to multiple stream switches when seeking
dsilhavy Oct 14, 2020
cf554e8
Fix calculation segmentReplacementTime for Template streams
dsilhavy Oct 16, 2020
a9ffb8f
Fix a bug in the GapController.js
dsilhavy Oct 19, 2020
4f6bca2
Call updateCurrentTime when wallclock time is updated
dsilhavy Oct 19, 2020
96df0bb
Fix audio switch in multiperiod streams
dsilhavy Oct 19, 2020
c40b83d
wip audio switch when preloading streams
dsilhavy Oct 20, 2020
b6ff150
Deactivate preloading streams when switching a track
dsilhavy Oct 22, 2020
fb028be
Wait for the now time to reach AST + Perio@start before starting play…
dsilhavy Oct 22, 2020
879e0b0
Wait for the now time to reach AST + Perio@start before starting play…
dsilhavy Oct 22, 2020
93d3cad
Adjust availabilityWindow calculation. The availability window is all…
dsilhavy Oct 23, 2020
eac26d1
Reset isEndedEventSignaled when switching stream
dsilhavy Oct 23, 2020
11081a0
Add stream id specific handling in BufferController.js
dsilhavy Oct 23, 2020
c126086
Remove comment
dsilhavy Oct 23, 2020
6fca550
Do not maintain an availabilityWindow, instead use SAST and SAET to c…
dsilhavy Oct 26, 2020
e2c5439
Do not cann updateCurrentTime if there is already a seek going on
dsilhavy Oct 26, 2020
b01ef1d
GapController.js stalls before seeking over gaps in a livestream. Oth…
dsilhavy Oct 26, 2020
6a4ece1
Reset gap timneout when seeking is done
dsilhavy Oct 26, 2020
92cfb7d
WiP: Multiperiod gap handling and falsy termination of streams
dsilhavy Oct 28, 2020
0566ec1
WiP: Rewrite of the seek and buffer pruning logic
dsilhavy Oct 30, 2020
653128e
WiP: Merge changes from development
dsilhavy Feb 23, 2021
3f91fad
Fix and uncomment some of the unit tests
dsilhavy Feb 23, 2021
dbd39bd
Fix linting errors
dsilhavy Feb 23, 2021
307a2c2
Fix missing values
dsilhavy Feb 23, 2021
258c760
Add required changes to calculate start times in StreamController.js
dsilhavy Feb 23, 2021
c37fe31
Minor bugfixes
dsilhavy Feb 25, 2021
e4efe19
Adjust _checkIfPrebufferingCanStart logic. No need to calculate AST i…
dsilhavy Feb 25, 2021
1d55ee8
Minor refactoring and cleanup
dsilhavy Feb 26, 2021
8869c4d
Adjust prebuffering logic
dsilhavy Feb 26, 2021
8aa67bb
Add Elemental test streams
dsilhavy Feb 26, 2021
6b617db
Remove unnecessarily exposed methods and rename buffer variables
dsilhavy Feb 26, 2021
23976fd
Add setting to disable init segment caching
dsilhavy Feb 26, 2021
726e643
Rename append init function
dsilhavy Feb 26, 2021
acddc7e
Fix unit tests
dsilhavy Feb 26, 2021
5bea562
Add additional JSDoc
dsilhavy Feb 26, 2021
4623001
Fix: Add dispatching of mediatype and streamId to SourceBufferSink.js…
dsilhavy Feb 27, 2021
735c37c
WiP: Adjust seeking logic
dsilhavy Mar 1, 2021
05246ef
WiP: Adjust seeking logic
dsilhavy Mar 1, 2021
34b891e
Fix bug in the timline calculation with negative @r parameter
dsilhavy Mar 1, 2021
d1bb780
WiP: Fix outer period seeking
dsilhavy Mar 1, 2021
bc67a4f
Minor refactoring
dsilhavy Mar 2, 2021
4974199
Merge branch development
dsilhavy Mar 2, 2021
66e05aa
Wip: Rework buffering completed logic
dsilhavy Mar 3, 2021
379cbd5
Add protdata to ProtectionController when updating in StreamControlle…
dsilhavy Mar 3, 2021
4a8d9bd
Add missing streamId for ABR calculation
dsilhavy Mar 3, 2021
743387b
Fix wrong method naming
dsilhavy Mar 3, 2021
e399b8d
Remove unnecessary values in ScheduleController.js hasTopQualityChanged
dsilhavy Mar 3, 2021
bb9f893
Add missing streamId parameters in calls to AbrController.js methods
dsilhavy Mar 3, 2021
9f93ac3
Fix linting errors
dsilhavy Mar 3, 2021
4666f9c
Rewrite scheduling logic
dsilhavy Mar 4, 2021
ac72ad8
WiP : Rewrite logic to determine if scheduling is finished
dsilhavy Mar 4, 2021
c30eb3a
WiP : Rewrite logic to determine if scheduling is finished
dsilhavy Mar 5, 2021
5605b1c
Fix cancelation of segment request at startup
dsilhavy Mar 6, 2021
f81de7a
WiP: Simplify scheduling logic
dsilhavy Mar 8, 2021
abe15a0
WiP: Simplify scheduling logic
dsilhavy Mar 8, 2021
38d19d2
Simplify scheduling logic
dsilhavy Mar 9, 2021
02da436
WiP: Outer period seek
dsilhavy Mar 9, 2021
5fe4838
Fix outer period seek
dsilhavy Mar 10, 2021
e726a19
Fix preloading in case video is already buffered but audio is still m…
dsilhavy Mar 10, 2021
750e4d6
Add small offsets to append window
dsilhavy Mar 10, 2021
fb00a82
Subtract small offset from waiting time when jumping gaps
dsilhavy Mar 10, 2021
4196da8
Subtract UTC offset instead of adding it
dsilhavy Mar 11, 2021
d05f9ee
WiP: Support track switching again
dsilhavy Mar 11, 2021
42da8f9
WiP: Seeking still causes minor issues. Move to promise based buffer …
dsilhavy Mar 11, 2021
a1b744a
Working seeks, maybe some minor edge cases left
dsilhavy Mar 12, 2021
b01f4b9
WiP: Move to promise based BufferController.js and SourceBufferSink.js
dsilhavy Mar 12, 2021
a376283
Add additional promises
dsilhavy Mar 12, 2021
e85a709
Fix additional seeking bugs
dsilhavy Mar 12, 2021
9cb52b1
Fix audio track switch
dsilhavy Mar 15, 2021
3a4df09
Account for quota exceeded error
dsilhavy Mar 15, 2021
39bdc05
Small adjustments in SourceBufferSink.js
dsilhavy Mar 15, 2021
6e2d640
Use TRACK_CHANGE_RENDERED event in GapController.js
dsilhavy Mar 15, 2021
c186ee3
Start working on SegmentBase support
dsilhavy Mar 15, 2021
0c88e59
WiP: Fix SegmentBase and SegmentList
dsilhavy Mar 16, 2021
44352ac
Fix missing TimelineConverter in SegmentsController
dsilhavy Mar 17, 2021
e878623
Fix SegmentBase
dsilhavy Mar 17, 2021
7fdd604
Small changes to SegmentBase logic and bump of version number
dsilhavy Mar 17, 2021
6bebbac
Fix a bug in the SourceBufferSink.js that lead to chunks not being ap…
dsilhavy Mar 18, 2021
7fd8ef1
Repair Thumbnails
dsilhavy Mar 18, 2021
d62e008
Fix external VTT
dsilhavy Mar 18, 2021
0df1c63
Fix TTML segmented VoD
dsilhavy Mar 19, 2021
abfb79d
Fix sideloaded and fragmented TTML
dsilhavy Mar 22, 2021
09abe68
Small improvement in TextController.js
dsilhavy Mar 22, 2021
a223c87
WiP: Fix fragmented tracks for multiperiod
dsilhavy Mar 24, 2021
c490c7e
Fix wrong mime type when switching tracks
dsilhavy Mar 24, 2021
230f272
Remove prebuffering comment
dsilhavy Mar 24, 2021
0ecc625
Fix race condition when switching audio language
dsilhavy Mar 24, 2021
b26bd88
Fix a bug for multiperiod fragmented texts.
dsilhavy Mar 25, 2021
dc2837b
Fix MSE reinit error after loading a new stream
dsilhavy Mar 25, 2021
9604af2
Fix DroppedFramesRule.js for multiperiod
dsilhavy Mar 26, 2021
448dd56
ABR changes and reduce scheduling timeout
dsilhavy Mar 26, 2021
ddec038
Add max index downloading
dsilhavy Mar 26, 2021
0c77f0a
Proper AbrController.js resets
dsilhavy Mar 26, 2021
01dd193
WiP: Fix embedded text tracks
dsilhavy Mar 30, 2021
d8915b5
Save sources.json
dsilhavy Mar 30, 2021
feaa7cd
Fix CEA608 captions
dsilhavy Apr 1, 2021
a2b79f0
Fix bug in DashAdapter.js caused by capability filtering. DashAdapter…
dsilhavy Apr 1, 2021
06aca49
Fix track switch if existing track is not to be replaced
dsilhavy Apr 4, 2021
27ec97c
Initial support for initialBufferLevel
dsilhavy Apr 5, 2021
5da8756
Further improvements for initialBufferLevel
dsilhavy Apr 5, 2021
e568c52
Fix a bug in subtitle switching
dsilhavy Apr 6, 2021
77344e3
Compare codecs in isTracksEqual
dsilhavy Apr 6, 2021
2dd3fdc
Compare codecs in isTracksEqual
dsilhavy Apr 6, 2021
93ff9a7
Fix thumbnails for SegmentTimeline with $time
dsilhavy Apr 6, 2021
dcb662d
Add pruneAllSafely to NotFragmentedTextBufferController.js
dsilhavy Apr 7, 2021
3315662
Add MediaCapabilitiesAPI
dsilhavy Apr 7, 2021
aa06cb9
WiP: Optimize Textrack switching in multiperiod
dsilhavy Apr 7, 2021
1c895ef
Merge changes from development
dsilhavy Apr 7, 2021
eba797f
Fix custom capabilities filter
dsilhavy Apr 7, 2021
c3e767d
Readd some stuff that has been removed while merging development
dsilhavy Apr 7, 2021
a0936b0
Minimal cleanup of MediaPlayer.js
dsilhavy Apr 8, 2021
be17d68
Fix linting errors
dsilhavy Apr 8, 2021
3efabf5
Fix a bug in updateCurrentTime. Always use a media type to get the DV…
dsilhavy Apr 8, 2021
f10fb9c
Fix a bug in the GapController.js leading to unwanted gap jumps once …
dsilhavy Apr 8, 2021
c535b7e
WiP: TextController changes. Only one TextController which handles al…
dsilhavy Apr 9, 2021
73f9d17
Fix two subtitle bugs
dsilhavy Apr 9, 2021
8b98e8d
Fix linting errors
dsilhavy Apr 9, 2021
0cb3f5b
Retrigger init request in case no valid request could be made
dsilhavy Apr 12, 2021
5cfe48f
Merge branch 'development' of https://github.com/Dash-Industry-Forum/…
dsilhavy Apr 12, 2021
a2be3e6
Minor cleanups in ScheduleController.js and BufferController.js
dsilhavy Apr 12, 2021
901a39b
Fix a bug in the TextController.js for multiperiod streams with textt…
dsilhavy Apr 12, 2021
6381a5c
WiP: Fix unit tests
dsilhavy Apr 12, 2021
db53683
Fix unit test for DashAdapter.js
dsilhavy Apr 13, 2021
9dd8e03
Fix unit tests for SegmentBaseLoader.js
dsilhavy Apr 13, 2021
69a8465
Fix unit tests
dsilhavy Apr 15, 2021
6d9d0a3
Fix unit tests for streaming.Stream.js
dsilhavy Apr 16, 2021
c96dba2
Fix unit tests for AbrController.js
dsilhavy Apr 16, 2021
be760f7
Fix unit tests for streaming.controllers.BufferController.js
dsilhavy Apr 16, 2021
31bc3c0
Small refactoring and additional fixes for unit tests
dsilhavy Apr 16, 2021
8556367
Add streamInfo check to TextController.js
dsilhavy Apr 16, 2021
40dabdb
Fix unit tests in streaming.controllers.SourceBufferSink.js
dsilhavy Apr 16, 2021
e89af29
Rework MediaCapabilities check
dsilhavy Apr 19, 2021
b9706c3
Fix unit tests for streaming.controllers.StreamController.js , stream…
dsilhavy Apr 19, 2021
e7c0943
Additional unit test and linting fixes
dsilhavy Apr 19, 2021
11232a5
Merge branch 'development' of https://github.com/Dash-Industry-Forum/…
dsilhavy Apr 19, 2021
3f65d3b
Update version number in package-lock.json
dsilhavy Apr 19, 2021
3b31ea0
Merge branch 'development' of https://github.com/Dash-Industry-Forum/…
dsilhavy Apr 20, 2021
bc183f9
Merge branch 'development' of https://github.com/Dash-Industry-Forum/…
dsilhavy Apr 20, 2021
4f56418
Fix typo in sample
dsilhavy Apr 21, 2021
6516a88
WiP: Restructure Settings.js
dsilhavy Apr 22, 2021
4f3bccd
Minor settings parameter changes
dsilhavy Apr 22, 2021
2558562
Cleanup sources.json
dsilhavy Apr 23, 2021
72abd20
Fix track change for tracks that are completely buffered. Preloading …
dsilhavy Apr 23, 2021
299162f
Fix display of metric values in reference UI for multiperiod content
dsilhavy Apr 23, 2021
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
308 changes: 185 additions & 123 deletions contrib/akamai/controlbar/ControlBar.js

Large diffs are not rendered by default.

534 changes: 371 additions & 163 deletions index.d.ts

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "dashjs",
"version": "3.2.2",
"version": "4.0.0",
"description": "A reference client implementation for the playback of MPEG DASH via Javascript and compliant browsers.",
"author": "Dash Industry Forum",
"license": "BSD-3-Clause",
Expand Down
45 changes: 29 additions & 16 deletions samples/advanced/settings.html
Original file line number Diff line number Diff line change
Expand Up @@ -11,21 +11,22 @@

<script>
var player;

function init() {
var video,
url = "https://dash.akamaized.net/akamai/bbb_30fps/bbb_30fps.mpd";
url = 'https://dash.akamaized.net/akamai/bbb_30fps/bbb_30fps.mpd';

video = document.querySelector("video");
video = document.querySelector('video');
player = dashjs.MediaPlayer().create();
player.initialize(video, url, true);

applySettings()

player.on(dashjs.MediaPlayer.events["PLAYBACK_ENDED"], function() {
player.on(dashjs.MediaPlayer.events['PLAYBACK_ENDED'], function () {
clearInterval(eventPoller);
});

var eventPoller = setInterval(function() {
var eventPoller = setInterval(function () {
var streamInfo = player.getActiveStream().getStreamInfo();
var dashMetrics = player.getDashMetrics();
var dashAdapter = player.getDashAdapter();
Expand All @@ -35,8 +36,8 @@
var repSwitch = dashMetrics.getCurrentRepresentationSwitch('video', true);
var bufferLevel = dashMetrics.getCurrentBufferLevel('video', true);
var bitrate = repSwitch ? Math.round(dashAdapter.getBandwidthForRepresentation(repSwitch.to, periodIdx) / 1000) : NaN;
document.getElementById('currentBufferLevel').innerText = bufferLevel + " secs";
document.getElementById('reportedBitrate').innerText = bitrate + " Kbps";
document.getElementById('currentBufferLevel').innerText = bufferLevel + ' secs';
document.getElementById('reportedBitrate').innerText = bitrate + ' Kbps';
}
}, 1000);
}
Expand All @@ -52,8 +53,10 @@

player.updateSettings({
'streaming': {
'stableBufferTime': stableBuffer,
'bufferTimeAtTopQualityLongForm': bufferAtTopQuality,
'buffer': {
'bufferTimeAtTopQualityLongForm': bufferAtTopQuality,
'stableBufferTime': stableBuffer
},
'abr': {
'minBitrate': {
'video': minBitrate
Expand All @@ -80,6 +83,7 @@
fieldset {
width: 70%;
}

fieldset > div {
margin-top: 20px;
}
Expand All @@ -94,38 +98,47 @@
<body>
<div id="container">
<div class="video-container">
<video data-dashjs-player autoplay controls="true">
<video data-dashjs-player autoplay controls="true">
</video>
</div>
<fieldset>
<legend>Configuration parameters</legend>
<div>
Max stable buffer (seconds): <input type="number" id="stableBuffer" value="20"> (Current Buffer: <span id="currentBufferLevel")>0</span> seconds)
<div class="description">The time that the internal buffer target will be set to post startup/seeks (NOT top quality).</div>
Max stable buffer (seconds): <input type="number" id="stableBuffer" value="20"> (Current Buffer: <span
id="currentBufferLevel" )>0</span> seconds)
<div class="description">The time that the internal buffer target will be set to post startup/seeks (NOT top
quality).
</div>
</div>
<div>
Buffer lenght at top quality (seconds): <input type="number" id="topQualityBuffer" value="20">
<div class="description">The time that the internal buffer target will be set to once playing the top quality.</div>
<div class="description">The time that the internal buffer target will be set to once playing the top
quality.
</div>
</div>
<div>
Max selectable bitrate (Kbps): <input type="number" id="maxBitrate" value="5000"> (Downloading bitrate: <span id="reportedBitrate")>0</span>)
<div class="description">The maximum bitrate selectable by the ABR algorithms will choose. Use -1 for no limit.</div>
Max selectable bitrate (Kbps): <input type="number" id="maxBitrate" value="5000"> (Downloading bitrate:
<span id="reportedBitrate" )>0</span>)
<div class="description">The maximum bitrate selectable by the ABR algorithms will choose. Use -1 for no
limit.
</div>
</div>
<div>
Min selectable bitrate (Kbps): <input type="number" id="minBitrate" value="-1">
<div class="description">The minimum bitrate that the ABR algorithms will choose. Use -1 for no limit.</div>
</div>
<div>
Limit Bitrate By Portal Size: <input type="checkbox" id="limitByPortal">
<div class="description">If true, the size of the video portal will limit the max chosen video resolution.</div>
<div class="description">If true, the size of the video portal will limit the max chosen video resolution.
</div>
</div>
<div>
<button onclick="applySettings()">Apply changes</button>
</div>
</fieldset>
</div>
<script>
document.addEventListener("DOMContentLoaded", function () {
document.addEventListener('DOMContentLoaded', function () {
init();
});
</script>
Expand Down
1 change: 0 additions & 1 deletion samples/captioning/caption_vtt.html
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,6 @@

player = dashjs.MediaPlayer({}).create();
player.initialize(video, url, true);
player.setTextDefaultEnabled(true);
}
</script>

Expand Down
2 changes: 1 addition & 1 deletion samples/captioning/multi-track-captions.html
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@

function setTextDefaultEnabled() {
var checkbox = document.getElementById("textDefaultEnabled");
player.setTextDefaultEnabled(checkbox.checked);
player.updateSettings({streaming: {text: {defaultEnabled: checkbox.checked}}});
}

function setLang() {
Expand Down
1 change: 0 additions & 1 deletion samples/captioning/ttml-ebutt-sample.html
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,6 @@

player = dashjs.MediaPlayer().create();
player.initialize(videoElement, url, true);
player.setTextDefaultEnabled(true);
player.attachTTMLRenderingDiv(TTMLRenderingDiv);
controlbar = new ControlBar(player); // Checkout ControlBar.js for more info on how to target/add text tracks to UI
controlbar.initialize();
Expand Down
Loading