From 482fa203649b5049ae5f8df92f784d156bed6c3e Mon Sep 17 00:00:00 2001 From: Vasily Date: Thu, 16 Apr 2020 14:12:03 +0300 Subject: [PATCH] Merge pull request #1095 from JustAMan/fix-subs-on-mobile Fix .ass subtitles not starting on mobile (cherry picked from commit a4324665f041035b449945e9cf3042e50d56ffc6) Signed-off-by: Joshua M. Boniface --- src/components/htmlMediaHelper.js | 4 +++- src/components/htmlvideoplayer/plugin.js | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/components/htmlMediaHelper.js b/src/components/htmlMediaHelper.js index 52841f5cda..1803bef07c 100644 --- a/src/components/htmlMediaHelper.js +++ b/src/components/htmlMediaHelper.js @@ -162,7 +162,7 @@ define(['appSettings', 'browser', 'events'], function (appSettings, browser, eve } } - function seekOnPlaybackStart(instance, element, ticks) { + function seekOnPlaybackStart(instance, element, ticks, onMediaReady) { var seconds = (ticks || 0) / 10000000; @@ -175,6 +175,7 @@ define(['appSettings', 'browser', 'events'], function (appSettings, browser, eve if (element.duration >= seconds) { // media is ready, seek immediately setCurrentTimeIfNeeded(element, seconds); + if (onMediaReady) onMediaReady(); } else { // update video player position when media is ready to be sought var events = ["durationchange", "loadeddata", "play", "loadedmetadata"]; @@ -189,6 +190,7 @@ define(['appSettings', 'browser', 'events'], function (appSettings, browser, eve events.map(function(name) { element.removeEventListener(name, onMediaChange); }); + if (onMediaReady) onMediaReady(); } }; events.map(function (name) { diff --git a/src/components/htmlvideoplayer/plugin.js b/src/components/htmlvideoplayer/plugin.js index 7f50e6a520..01fbabcbfd 100644 --- a/src/components/htmlvideoplayer/plugin.js +++ b/src/components/htmlvideoplayer/plugin.js @@ -858,7 +858,9 @@ define(['browser', 'require', 'events', 'apphost', 'loading', 'dom', 'playbackMa loading.hide(); - htmlMediaHelper.seekOnPlaybackStart(self, e.target, self._currentPlayOptions.playerStartPositionTicks); + htmlMediaHelper.seekOnPlaybackStart(self, e.target, self._currentPlayOptions.playerStartPositionTicks, function () { + if (currentSubtitlesOctopus) currentSubtitlesOctopus.resize(); + }); if (self._currentPlayOptions.fullscreen) {