Skip to content

Commit

Permalink
do not reset text settings between load
Browse files Browse the repository at this point in the history
  • Loading branch information
jeffcunat committed Jun 16, 2020
1 parent 8efe3b6 commit 03fdef5
Show file tree
Hide file tree
Showing 4 changed files with 39 additions and 7 deletions.
2 changes: 2 additions & 0 deletions contrib/akamai/controlbar/ControlBar.js
Original file line number Diff line number Diff line change
Expand Up @@ -489,6 +489,8 @@ var ControlBar = function (dashjsMediaPlayer, displayUTCTimeCodes) {
menuHandlersList.push(func);
captionBtn.addEventListener('click', func);
captionBtn.classList.remove('hide');
} else {
setMenuItemsState(e.index + 1, 'caption-list');
}
};

Expand Down
29 changes: 27 additions & 2 deletions samples/captioning/multi-track-captions.html
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@
controlbar.initialize();
var checkbox = document.getElementById("textDefaultEnabled");
checkbox.indeterminate = true;
document.getElementById("lastMediaSettingsCachingInfoEnabled").checked = player.getSettings().streaming.lastMediaSettingsCachingInfo.enabled;
showDomStorage();
}

Expand Down Expand Up @@ -76,6 +77,20 @@
}
}

function setLastMediaSettingsCachingInfoEnabled() {
var checkbox = document.getElementById("lastMediaSettingsCachingInfoEnabled");
player.updateSettings({
streaming: {
lastMediaSettingsCachingInfo: { enabled: checkbox.checked }
}
})
}

function clearDomStorage() {
localStorage.removeItem('dashjs_fragmentedText_settings');
showDomStorage();
}

</script>

<style>
Expand All @@ -94,6 +109,11 @@
padding: 5px 0;
}

label {
font-size: 1.1em;
display: block;
}

</style>

<body onload="init()">
Expand Down Expand Up @@ -133,6 +153,9 @@
</div>
</div>
<div class="settings">
<div>
<button onclick="play()">play</button>
</div>
<div>
<label>textDefaultEnabled</label>
<input type="checkbox" id="textDefaultEnabled" onchange="setTextDefaultEnabled()"/> <span id="textDefaultEnabledValue">undefined</span>
Expand All @@ -149,11 +172,13 @@
</select>
</div>
<div>
<button onclick="play()">play</button>
<label>streaming.lastMediaSettingsCachingInfo.enabled</label>
<input type="checkbox" id="lastMediaSettingsCachingInfoEnabled" onchange="setLastMediaSettingsCachingInfoEnabled()"/>
</div>
<div>
<label>DOMstorage content</label>
<label>localStorage content</label>
<div id="domStorage"></div>
<button onclick="clearDomStorage()">Clear localStorage</button>
</div>
</div>
</div>
Expand Down
11 changes: 7 additions & 4 deletions src/streaming/text/TextController.js
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,7 @@ function TextController() {
ttmlParser,
eventBus,
defaultSettings,
initialSettingsSet,
lastEnabledIndex,
textDefaultEnabled, // this is used for default settings (each time a file is loaded, we check value of this settings )
allTracksAreDisabled, // this is used for one session (when a file has been loaded, we use this settings to enable/disable text)
Expand All @@ -69,6 +70,7 @@ function TextController() {
lastEnabledIndex = -1;
forceTextStreaming = false;
textTracksAdded = false;
initialSettingsSet = false;
disableTextBeforeTextTracksAdded = false;
textTracks = TextTracks(context).getInstance();
vttParser = VTTParser(context).getInstance();
Expand All @@ -78,7 +80,7 @@ function TextController() {

textTracks.initialize();
eventBus.on(Events.TEXT_TRACKS_QUEUE_INITIALIZED, onTextTracksAdded, instance);
eventBus.on(Events.CURRENT_TRACK_CHANGED, onSetSettings, instance);
eventBus.on(Events.CURRENT_TRACK_CHANGED, onCurrentTrackChanged, instance);

/*
* register those event callbacks in order to detect switch of periods and set
Expand Down Expand Up @@ -178,10 +180,12 @@ function TextController() {
defaultSettings = {};
}
defaultSettings.lang = lang;
initialSettingsSet = true;
}

function setInitialSettings(settings) {
defaultSettings = settings;
initialSettingsSet = true;
}

function getTextDefaultLanguage() {
Expand Down Expand Up @@ -217,8 +221,8 @@ function TextController() {
textTracksAdded = true;
}

function onSetSettings(event) {
if (!defaultSettings && event && event.newMediaInfo) {
function onCurrentTrackChanged(event) {
if (!initialSettingsSet && event && event.newMediaInfo) {
let mediaInfo = event.newMediaInfo;
if (mediaInfo.type === Constants.FRAGMENTED_TEXT) {
defaultSettings = {
Expand Down Expand Up @@ -364,7 +368,6 @@ function TextController() {
}

function resetInitialSettings() {
defaultSettings = null;
allTracksAreDisabled = true;
textTracksAdded = false;
disableTextBeforeTextTracksAdded = false;
Expand Down
4 changes: 3 additions & 1 deletion test/unit/streaming.text.TextController.js
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,9 @@ describe('TextController', function () {
});

afterEach(function () {
delete global.document;
if (global !== window) {
delete global.document;
}
});

beforeEach(function () {
Expand Down

0 comments on commit 03fdef5

Please sign in to comment.