Skip to content

Commit 10c739d

Browse files
committed
Expose imsc.js styling through Dash.js
1 parent a3e7d8f commit 10c739d

File tree

2 files changed

+37
-7
lines changed

2 files changed

+37
-7
lines changed

src/core/Settings.js

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -503,7 +503,18 @@ import Events from './events/Events';
503503
* Enable/disable subtitle rendering by default.
504504
* @property {boolean} [extendSegmentedCues=true]
505505
* Enable/disable patching of segmented cues in order to merge as a single cue by extending cue end time.
506-
* @property {object} [webvtt={customRenderingEnabled=false}]
506+
* @property {boolean} [imsc.displayForcedOnlyMode=false]
507+
* Enable/disable forced only mode in IMSC captions.
508+
* When true, only those captions where itts:forcedDisplay="true" will be displayed.
509+
* @property {boolean} [imsc.enableRollUp=true]
510+
* Enable/disable rollUp style display of IMSC captions.
511+
* @property {number} [imsc.options.sizeAdjust=1]
512+
* IMSC styling options - adjust text size, scales the text size and line padding
513+
* @property {number} [imsc.options.lineHeightAdjust=1]
514+
* IMSC styling options - scales the line height
515+
* @property {number} [imsc.options.backgroundOpacityScale=1]
516+
* IMSC styling options - scales the backgroundColor opacity
517+
* @property {object} [webvtt.customRenderingEnabled=false]
507518
* Enables the custom rendering for WebVTT captions. For details refer to the "Subtitles and Captions" sample section of dash.js.
508519
* Custom WebVTT rendering requires the external library vtt.js that can be found in the contrib folder.
509520
*/
@@ -982,6 +993,15 @@ function Settings() {
982993
text: {
983994
defaultEnabled: true,
984995
extendSegmentedCues: true,
996+
imsc: {
997+
displayForcedOnlyMode: false,
998+
enableRollUp: true,
999+
options: {
1000+
sizeAdjust: 1,
1001+
lineHeightAdjust: 1,
1002+
backgroundOpacityScale: 1
1003+
},
1004+
},
9851005
webvtt: {
9861006
customRenderingEnabled: false
9871007
}

src/streaming/text/TextTracks.js

Lines changed: 16 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -411,12 +411,22 @@ function TextTracks(config) {
411411
if (captionContainer) {
412412
const finalCue = document.createElement('div');
413413
captionContainer.appendChild(finalCue);
414-
previousISDState = renderHTML(cue.isd, finalCue, function (src) {
415-
return _resolveImageSrc(cue, src);
416-
}, captionContainer.clientHeight, captionContainer.clientWidth, false/*displayForcedOnlyMode*/, function (err) {
417-
logger.info('renderCaption :', err);
418-
//TODO add ErrorHandler management
419-
}, previousISDState, true /*enableRollUp*/);
414+
previousISDState = renderHTML(
415+
cue.isd,
416+
finalCue,
417+
function (src) {
418+
return _resolveImageSrc(cue, src)
419+
},
420+
captionContainer.clientHeight,
421+
captionContainer.clientWidth,
422+
settings.get().streaming.text.imsc.displayForcedOnlyMode,
423+
function (err) {
424+
logger.info('renderCaption :', err) /*TODO: add ErrorHandler management*/
425+
},
426+
previousISDState,
427+
settings.get().streaming.text.imsc.enableRollUp,
428+
settings.get().streaming.text.imsc.options
429+
);
420430
finalCue.id = cue.cueID;
421431
eventBus.trigger(MediaPlayerEvents.CAPTION_RENDERED, { captionDiv: finalCue, currentTrackIdx });
422432
}

0 commit comments

Comments
 (0)