Don't jump when player first starts

This commit is contained in:
Nicolas Mowen 2024-03-08 15:38:02 -07:00
parent 2f20f5891a
commit c4a6c31fe3

View File

@ -289,6 +289,7 @@ export class DynamicVideoController {
private recordings: Recording[] = []; private recordings: Recording[] = [];
private annotationOffset: number; private annotationOffset: number;
private timeToStart: number | undefined = undefined; private timeToStart: number | undefined = undefined;
private canPlay: boolean = false;
// listeners // listeners
private playerProgressListener: (() => void) | null = null; private playerProgressListener: (() => void) | null = null;
@ -315,11 +316,11 @@ export class DynamicVideoController {
newPlayback(newPlayback: DynamicPlayback) { newPlayback(newPlayback: DynamicPlayback) {
this.recordings = newPlayback.recordings; this.recordings = newPlayback.recordings;
this.playerController.src({ this.playerController.src({
src: newPlayback.playbackUri, src: newPlayback.playbackUri,
type: "application/vnd.apple.mpegurl", type: "application/vnd.apple.mpegurl",
}); });
this.canPlay = false;
if (this.timeToStart) { if (this.timeToStart) {
this.seekToTimestamp(this.timeToStart); this.seekToTimestamp(this.timeToStart);
@ -393,7 +394,10 @@ export class DynamicVideoController {
} }
if (listener) { if (listener) {
this.canPlayListener = listener; this.canPlayListener = () => {
this.canPlay = true;
listener();
};
this.playerController.on("canplay", this.canPlayListener); this.playerController.on("canplay", this.canPlayListener);
} }
} }
@ -405,8 +409,11 @@ export class DynamicVideoController {
} }
if (listener) { if (listener) {
this.playerProgressListener = () => this.playerProgressListener = () => {
if (this.canPlay) {
listener(this.getProgress(this.playerController.currentTime() || 0)); listener(this.getProgress(this.playerController.currentTime() || 0));
}
};
this.playerController.on("timeupdate", this.playerProgressListener); this.playerController.on("timeupdate", this.playerProgressListener);
} }
} }