scan frequency as proposed by serratus

pull/95/head
Matthias Jauernig 9 years ago
parent 9b1e697609
commit 3cf474d484

@ -296,16 +296,29 @@ function update() {
} }
} }
function start() { function startContinuousUpdate() {
var next = null,
delay = 1000 / (_config.frequency || 60);
_stopped = false; _stopped = false;
( function frame() { (function frame(timestamp) {
next = next || timestamp;
if (!_stopped) { if (!_stopped) {
update(); if (timestamp >= next) {
if (_onUIThread && _config.inputStream.type === "LiveStream") { next += delay;
window.requestAnimFrame(frame); update();
} }
window.requestAnimFrame(frame);
} }
}()); }(performance.now()));
}
function start() {
if (_onUIThread && _config.inputStream.type === "LiveStream") {
startContinuousUpdate();
} else {
update();
}
} }
function initWorker(cb) { function initWorker(cb) {
@ -360,23 +373,21 @@ function workerInterface(factory) {
var imageWrapper; var imageWrapper;
self.onmessage = function(e) { self.onmessage = function(e) {
setTimeout(function() { if (e.data.cmd === 'init') {
if (e.data.cmd === 'init') { var config = e.data.config;
var config = e.data.config; config.numOfWorkers = 0;
config.numOfWorkers = 0; imageWrapper = new Quagga.ImageWrapper({
imageWrapper = new Quagga.ImageWrapper({ x: e.data.size.x,
x: e.data.size.x, y: e.data.size.y
y: e.data.size.y }, new Uint8Array(e.data.imageData));
}, new Uint8Array(e.data.imageData)); Quagga.init(config, ready, imageWrapper);
Quagga.init(config, ready, imageWrapper); Quagga.onProcessed(onProcessed);
Quagga.onProcessed(onProcessed); } else if (e.data.cmd === 'process') {
} else if (e.data.cmd === 'process') { imageWrapper.data = new Uint8Array(e.data.imageData);
imageWrapper.data = new Uint8Array(e.data.imageData); Quagga.start();
Quagga.start(); } else if (e.data.cmd === 'setReaders') {
} else if (e.data.cmd === 'setReaders') { Quagga.setReaders(e.data.readers);
Quagga.setReaders(e.data.readers); }
}
}, Quagga.getConfig().scanDelay || 0);
}; };
function onProcessed(result) { function onProcessed(result) {
@ -518,8 +529,5 @@ export default {
}, },
ImageWrapper: ImageWrapper, ImageWrapper: ImageWrapper,
ImageDebug: ImageDebug, ImageDebug: ImageDebug,
ResultCollector: ResultCollector, ResultCollector: ResultCollector
getConfig: function getConfig() {
return _config;
}
}; };

Loading…
Cancel
Save