mirror of
https://github.com/blakeblackshear/frigate.git
synced 2026-02-09 04:35:25 +03:00
Don't jump when player first starts
This commit is contained in:
parent
2f20f5891a
commit
c4a6c31fe3
@ -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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user