Skip to content

Commit fd19b3f

Browse files
committed
fix: Ensure native segment metadata track has mode hidden
1 parent 9f1c4ad commit fd19b3f

File tree

4 files changed

+32
-2
lines changed

4 files changed

+32
-2
lines changed

index.html

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -192,6 +192,11 @@
192192
<label class="form-check-label" for="forced-subtitles">Use Forced Subtitles (reloads player)</label>
193193
</div>
194194

195+
<div class="form-check">
196+
<input id="native-text-tracks" type="checkbox" class="form-check-input">
197+
<label class="form-check-label" for="native-text-tracks">Use native text tracks (reloads player)</label>
198+
</div>
199+
195200
<div class="input-group">
196201
<span class="input-group-text"><label for=preload>Preload (reloads player)</label></span>
197202
<select id=preload class="form-select">

scripts/index.js

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -474,7 +474,8 @@
474474
'use-mms',
475475
'preload',
476476
'mirror-source',
477-
'forced-subtitles'
477+
'forced-subtitles',
478+
'native-text-tracks'
478479
].forEach(function(name) {
479480
stateEls[name] = document.getElementById(name);
480481
});
@@ -528,7 +529,8 @@
528529
'network-info',
529530
'dts-offset',
530531
'exact-manifest-timings',
531-
'forced-subtitles'
532+
'forced-subtitles',
533+
'native-text-tracks'
532534
].forEach(function(name) {
533535
stateEls[name].addEventListener('change', function(event) {
534536
saveState();
@@ -603,6 +605,7 @@
603605
liveui: stateEls.liveui.checked,
604606
enableSourceset: mirrorSource,
605607
html5: {
608+
nativeTextTracks: getInputValue(stateEls['native-text-tracks']),
606609
vhs: {
607610
overrideNative: getInputValue(stateEls['override-native']),
608611
experimentalUseMMS: getInputValue(stateEls['use-mms']),

src/playlist-controller.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -246,6 +246,8 @@ export class PlaylistController extends videojs.EventTarget {
246246
label: 'segment-metadata'
247247
}, false).track;
248248

249+
this.segmentMetadataTrack_.mode = 'hidden';
250+
249251
this.decrypter_ = new Decrypter();
250252
this.sourceUpdater_ = new SourceUpdater(this.mediaSource);
251253
this.inbandTextTracks_ = {};

test/playlist-controller.test.js

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7729,3 +7729,23 @@ QUnit.test('ManagedMediaSource startstreaming and endstreaming events start and
77297729

77307730
mms.restore();
77317731
});
7732+
7733+
QUnit.module('Native tracks', {
7734+
beforeEach(assert) {
7735+
this.playerOptions = {
7736+
html5: {
7737+
nativeTextTracks: true
7738+
}
7739+
};
7740+
sharedHooks.beforeEach.call(this, assert);
7741+
this.pc = this.playlistController;
7742+
7743+
},
7744+
afterEach(assert) {
7745+
sharedHooks.afterEach.call(this, assert);
7746+
}
7747+
});
7748+
7749+
QUnit.test('Native text track mode is hidden', function(assert) {
7750+
assert.strictEqual(this.pc.segmentMetadataTrack_.mode, 'hidden', 'track mode is hidden');
7751+
});

0 commit comments

Comments
 (0)