summaryrefslogtreecommitdiff
path: root/app/client/live/player.js
diff options
context:
space:
mode:
Diffstat (limited to 'app/client/live/player.js')
-rw-r--r--app/client/live/player.js21
1 files changed, 12 insertions, 9 deletions
diff --git a/app/client/live/player.js b/app/client/live/player.js
index b39d717..ac5f0c8 100644
--- a/app/client/live/player.js
+++ b/app/client/live/player.js
@@ -1,5 +1,6 @@
import { store } from '../store'
import Whammy from './whammy'
+import types from '../types'
let fps = 0, last_frame
let recording = false, saving = false
@@ -9,7 +10,7 @@ export function startRecording(){
videoWriter = new Whammy.Video(10)
recording = true
store.dispatch({
- type: 'START_RECORDING',
+ type: types.player.start_recording,
})
}
@@ -17,12 +18,12 @@ export function stopRecording(){
if (!recording) return
recording = false
store.dispatch({
- type: 'SAVING_VIDEO',
+ type: types.player.saving_video,
})
videoWriter.compile(false, function(blob){
- console.log(blob)
+ // console.log(blob)
store.dispatch({
- type: 'SAVE_VIDEO',
+ type: types.player.save_video,
blob: blob,
})
})
@@ -37,23 +38,25 @@ export function onFrame (data) {
const url = URL.createObjectURL(blob)
const img = new Image ()
img.onload = function() {
+ img.onload = null
last_frame = data.meta
URL.revokeObjectURL(url)
- const canvas = document.querySelector('.player canvas')
+ let canvas = document.querySelector('.player canvas')
+ if (! canvas) return console.error('no canvas for frame')
const ctx = canvas.getContext('2d')
ctx.drawImage(img, 0, 0, canvas.width, canvas.height)
if (recording) {
console.log('record frame')
videoWriter.add(canvas)
store.dispatch({
- type: 'ADD_RECORD_FRAME',
+ type: types.player.add_record_frame,
})
}
if (saving) {
saving = false
canvas.toBlob(function(blob) {
store.dispatch({
- type: 'SAVE_FRAME',
+ type: types.player.save_frame,
blob: blob,
})
})
@@ -65,11 +68,11 @@ export function onFrame (data) {
setInterval(() => {
store.dispatch({
- type: 'SET_FPS',
+ type: types.player.set_fps,
fps: fps,
})
store.dispatch({
- type: 'CURRENT_FRAME',
+ type: types.player.current_frame,
meta: last_frame,
})
fps = 0