Update subtitle position styling (#6766)

This commit is contained in:
Bill Thornton
2025-04-22 02:37:12 -04:00
committed by GitHub
parent 110f442916
commit abfc14d745
2 changed files with 13 additions and 6 deletions
@@ -101,13 +101,14 @@ function getTextStyles(settings, preview) {
if (!preview) {
const pos = parseInt(settings.verticalPosition, 10);
const lineHeight = 1.35; // FIXME: It is better to read this value from element
const line = Math.abs(pos * lineHeight);
if (pos < 0) {
list.push({ name: 'min-height', value: `${line}em` });
const margin = Math.abs(pos + 1) * lineHeight;
list.push({ name: 'margin-bottom', value: `${margin}em` });
list.push({ name: 'margin-top', value: '' });
} else {
list.push({ name: 'min-height', value: '' });
list.push({ name: 'margin-top', value: `${line}em` });
const margin = pos * lineHeight;
list.push({ name: 'margin-bottom', value: '' });
list.push({ name: 'margin-top', value: `${margin}em` });
}
}
+8 -2
View File
@@ -1532,10 +1532,16 @@ export class HtmlVideoPlayer {
// in safari, the cues need to be added before setting the track mode to showing
for (const trackEvent of data.TrackEvents) {
const TrackCue = window.VTTCue || window.TextTrackCue;
const cue = new TrackCue(trackEvent.StartPositionTicks / 10000000, trackEvent.EndPositionTicks / 10000000, normalizeTrackEventText(trackEvent.Text, false));
const text = normalizeTrackEventText(trackEvent.Text, false);
const cue = new TrackCue(trackEvent.StartPositionTicks / 10000000, trackEvent.EndPositionTicks / 10000000, text);
if (cue.line === 'auto') {
cue.line = cueLine;
if (cueLine < 0) {
const lineCount = (text.match(/\n/g) || []).length;
cue.line = cueLine - lineCount;
} else {
cue.line = cueLine;
}
}
trackElement.addCue(cue);