Skip to content

Commit 5353d84

Browse files
author
Kevin Feinberg
committed
Addresses issue video-dev#1019 by adding configuration options for the caption text track label and language code for both generated text tracks. They default to the prior hard-coded values.
1 parent 4a7139a commit 5353d84

File tree

3 files changed

+42
-2
lines changed

3 files changed

+42
-2
lines changed

doc/API.md

+36
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,10 @@
5757
- [`abrController`](#abrcontroller)
5858
- [`timelineController`](#timelinecontroller)
5959
- [`enableCEA708Captions`](#enablecea708captions)
60+
[`captionsTextTrack1Label`](#captionsTextTrack1Label)
61+
[`captionsTextTrack1LanguageCode`](#captionsTextTrack1LanguageCode)
62+
[`captionsTextTrack2Label`](#captionsTextTrack2Label)
63+
[`captionsTextTrack2LanguageCode`](#captionsTextTrack2LanguageCode)
6064
- [`stretchShortVideoTrack`](#stretchshortvideotrack)
6165
- [`forceKeyFrameOnDiscontinuity`](#forcekeyframeondiscontinuity)
6266
- [`abrEwmaFastLive`](#abrewmafastlive)
@@ -759,6 +763,38 @@ whether or not to enable CEA-708 captions
759763
760764
parameter should be a boolean
761765
766+
### `captionsTextTrack1Label`
767+
768+
(default: `English`)
769+
770+
Label for the text track generated for CEA-708 captions track 1. This is how it will appear in the browser's native menu for subtitles and captions.
771+
772+
parameter should be a string
773+
774+
### `captionsTextTrack1LanguageCode`
775+
776+
(default: `en`)
777+
778+
RFC 3066 language code for the text track generated for CEA-708 captions track 1.
779+
780+
parameter should be a string
781+
782+
### `captionsTextTrack2Label`
783+
784+
(default: `Spanish`)
785+
786+
Label for the text track generated for CEA-708 captions track 2. This is how it will appear in the browser's native menu for subtitles and captions.
787+
788+
parameter should be a string
789+
790+
### `captionsTextTrack2LanguageCode`
791+
792+
(default: `es`)
793+
794+
RFC 3066 language code for the text track generated for CEA-708 captions track 2.
795+
796+
parameter should be a string
797+
762798
### `stretchShortVideoTrack`
763799
764800
(default: `false`)

src/config.js

+4
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,10 @@ export var hlsDefaultConfig = {
8484
cueHandler: Cues,
8585
enableCEA708Captions: true, // used by timeline-controller
8686
enableWebVTT: true, // used by timeline-controller
87+
captionsTextTrack1Label: 'English', // used by timeline-controller
88+
captionsTextTrack1LanguageCode: 'en', // used by timeline-controller
89+
captionsTextTrack2Label: 'Spanish', // used by timeline-controller
90+
captionsTextTrack2LanguageCode: 'es', // used by timeline-controller
8791
//#endif
8892
stretchShortVideoTrack: false, // used by mp4-remuxer
8993
forceKeyFrameOnDiscontinuity: true, // used by ts-demuxer

src/controller/timeline-controller.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ class TimelineController extends EventHandler {
7373
var existingTrack1 = self.getExistingTrack('1');
7474
if (!existingTrack1)
7575
{
76-
const textTrack1 = self.createTextTrack('captions', 'English', 'en');
76+
const textTrack1 = self.createTextTrack('captions', self.config.captionsTextTrack1Label, self.config.captionsTextTrack1LanguageCode);
7777
if (textTrack1) {
7878
textTrack1.textTrack1 = true;
7979
self.textTrack1 = textTrack1;
@@ -101,7 +101,7 @@ class TimelineController extends EventHandler {
101101
var existingTrack2 = self.getExistingTrack('2');
102102
if (!existingTrack2)
103103
{
104-
const textTrack2 = self.createTextTrack('captions', 'Spanish', 'es');
104+
const textTrack2 = self.createTextTrack('captions', self.config.captionsTextTrack2Label, self.config.captionsTextTrack1LanguageCode);
105105
if (textTrack2) {
106106
textTrack2.textTrack2 = true;
107107
self.textTrack2 = textTrack2;

0 commit comments

Comments
 (0)