diff --git a/src/master-playlist-controller.js b/src/master-playlist-controller.js index 8f9ac3fa0..0bb6e5dfa 100644 --- a/src/master-playlist-controller.js +++ b/src/master-playlist-controller.js @@ -326,7 +326,7 @@ export class MasterPlaylistController extends videojs.EventTarget { this.segmentMetadataTrack_ = tech.addRemoteTextTrack({ kind: 'metadata', label: 'segment-metadata' - }, true).track; + }, false).track; this.decrypter_ = worker(Decrypter); @@ -804,7 +804,7 @@ export class MasterPlaylistController extends videojs.EventTarget { enabled: false, language: properties.language, label - }, true).track; + }, false).track; this.subtitleGroups_.tracks[label] = track; } diff --git a/test/master-playlist-controller.test.js b/test/master-playlist-controller.test.js index e800650a7..46c56b372 100644 --- a/test/master-playlist-controller.test.js +++ b/test/master-playlist-controller.test.js @@ -1631,6 +1631,16 @@ QUnit.test('adds subtitle tracks when a media playlist is loaded', function(asse assert.equal(textTracks[1].mode, 'disabled', 'track starts disabled'); assert.equal(textTracks[2].mode, 'disabled', 'track starts disabled'); assert.equal(hlsWebvttEvents, 1, 'there is webvtt detected in the rendition'); + + // change source to make sure tracks are cleaned up + this.player.src({ + src: 'http://example.com/media.mp4', + type: 'video/mp4' + }); + + this.clock.tick(1); + + assert.equal(this.player.textTracks().length, 0, 'text tracks cleaned'); }); QUnit.test('switches off subtitles on subtitle errors', function(assert) {