diff options
Diffstat (limited to 'src/client/views/nodes/VideoBox.tsx')
-rw-r--r-- | src/client/views/nodes/VideoBox.tsx | 37 |
1 files changed, 28 insertions, 9 deletions
diff --git a/src/client/views/nodes/VideoBox.tsx b/src/client/views/nodes/VideoBox.tsx index 8aecc2483..f449ae429 100644 --- a/src/client/views/nodes/VideoBox.tsx +++ b/src/client/views/nodes/VideoBox.tsx @@ -154,10 +154,10 @@ export class VideoBox extends ViewBoxAnnotatableComponent<ViewBoxAnnotatableProp // plays video @action public Play = (update: boolean = true) => { - if (Doc.UserDoc().presentationMode === 'watching' && !this._playing) { - console.log('VideoBox : Play : presentation mode', this._playing); - return; - } + // if (Doc.UserDoc().presentationMode === 'watching' && !this._playing) { + // console.log('VideoBox : Play : presentation mode', this._playing); + // return; + // } // if presentation isn't null, call followmovements on the recording api if (this.presentation) { @@ -198,11 +198,16 @@ export class VideoBox extends ViewBoxAnnotatableComponent<ViewBoxAnnotatableProp } this.player && (this.player.currentTime = time); this._audioPlayer && (this._audioPlayer.currentTime = time); + // TODO: revisit this and clean it + if ((this.player?.currentTime || -1) < this.rawDuration) { + this._finished = false; + } } // pauses video @action public Pause = (update: boolean = true) => { if (this.presentation) { + console.log('VideoBox : Pause'); const err = RecordingApi.Instance.pauseMovements(); err && console.log(err); } @@ -347,6 +352,7 @@ export class VideoBox extends ViewBoxAnnotatableComponent<ViewBoxAnnotatableProp // sets video element ref @action setVideoRef = (vref: HTMLVideoElement | null) => { + console.log("SEt video ref " + vref) this._videoRef = vref; if (vref) { this._videoRef!.ontimeupdate = this.updateTimecode; @@ -354,7 +360,10 @@ export class VideoBox extends ViewBoxAnnotatableComponent<ViewBoxAnnotatableProp // vref.onfullscreenchange = action((e) => this._fullScreen = vref.webkitDisplayingFullscreen); this._disposers.reactionDisposer?.(); this._disposers.reactionDisposer = reaction(() => NumCast(this.layoutDoc._currentTimecode), - time => !this._playing && (vref.currentTime = time), { fireImmediately: true }); + time => { + !this._playing && (vref.currentTime = time); + console.log("vref time = " + vref.currentTime) + }, { fireImmediately: true }); } } @@ -410,9 +419,12 @@ export class VideoBox extends ViewBoxAnnotatableComponent<ViewBoxAnnotatableProp <video key="video" autoPlay={this._screenCapture} ref={this.setVideoRef} style={this._fullScreen ? this.fullScreenSize() : {}} onCanPlay={this.videoLoad} controls={VideoBox._nativeControls} - onPlay={() => this.Play()} + onPlay={() => { + // console.log("PLAY from CONTENT") + //this.Play() + }} onSeeked={this.updateTimecode} - onPause={() => this.Pause()} + // onPause={() => this.Pause() } onClick={e => e.preventDefault()}> <source src={field.url.href} type="video/mp4" /> Not supported. @@ -472,7 +484,11 @@ export class VideoBox extends ViewBoxAnnotatableComponent<ViewBoxAnnotatableProp // for play button - onPlayDown = () => this._playing ? this.Pause() : this.Play(); + + onPlayDown = () => { + console.log("PLAY DOWN"); + this._playing ? this.Pause() : this.Play(); + } // for fullscreen button onFullDown = (e: React.PointerEvent) => { @@ -577,7 +593,10 @@ export class VideoBox extends ViewBoxAnnotatableComponent<ViewBoxAnnotatableProp this._playRegionTimer = setTimeout( () => { // need to keep track of if end of clip is reached so on next play, clip restarts - if (fullPlay) this._finished = true; + if (fullPlay) { + Doc.UserDoc().presentationMode = 'none'; + this._finished = true; + } // removes from currently playing if playback has reached end of range marker else this.removeCurrentlyPlaying(); this.Pause(); |