From 278be336185396aa4d1aa7340e64666ae9f50a4a Mon Sep 17 00:00:00 2001 From: WithoutPants <53250216+WithoutPants@users.noreply.github.com> Date: Wed, 29 Jul 2020 11:50:58 +1000 Subject: [PATCH] Fix marker seeking (#689) --- .../src/components/ScenePlayer/ScenePlayer.tsx | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/ui/v2.5/src/components/ScenePlayer/ScenePlayer.tsx b/ui/v2.5/src/components/ScenePlayer/ScenePlayer.tsx index f58c160d6..9675df691 100644 --- a/ui/v2.5/src/components/ScenePlayer/ScenePlayer.tsx +++ b/ui/v2.5/src/components/ScenePlayer/ScenePlayer.tsx @@ -95,9 +95,6 @@ export class ScenePlayerImpl extends React.Component< private onReady() { this.player = JWUtils.getPlayer(); - if (this.props.timestamp > 0) { - this.player.seek(this.props.timestamp); - } this.player.on("error", (err: any) => { if (err && err.code === 224003) { @@ -115,6 +112,12 @@ export class ScenePlayerImpl extends React.Component< this.handleError(); } }); + + this.player.on("playlist", () => { + if (this.props.timestamp > 0) { + this.player.seek(this.props.timestamp); + } + }); } private onSeeked() { @@ -152,6 +155,12 @@ export class ScenePlayerImpl extends React.Component< console.log("Trying next source in playlist"); this.player.load(this.playlist); this.player.play(); + + this.player.on("firstFrame", () => { + if (this.props.timestamp > 0) { + this.player.seek(this.props.timestamp); + } + }); } } @@ -210,6 +219,7 @@ export class ScenePlayerImpl extends React.Component< const seekHook = (seekToPosition: number, _videoTag: HTMLVideoElement) => { if ( + !_videoTag.src || ScenePlayerImpl.isDirectStream(_videoTag.src) || _videoTag.src.endsWith(".m3u8") ) {