Fixed static images example

This commit is contained in:
Christoph Oberhofer
2016-07-30 10:51:01 +02:00
parent 031995dae1
commit 2dca130bee
11 changed files with 141 additions and 59 deletions
+4
View File
@@ -273,6 +273,10 @@ InputStream.createImageStream = function() {
}
};
that.clearEventHandlers = function() {
_eventHandlers = {};
};
that.setTopRight = function(topRight) {
_topRight.x = topRight.x;
_topRight.y = topRight.y;
+24 -8
View File
@@ -10,6 +10,8 @@ import {createConfigFromSource} from './input/config_factory';
function fromConfig(config) {
const scanner = createScanner();
let pendingStart = null;
let initialized = false;
return {
addEventListener(eventType, cb) {
scanner.subscribe(eventType, cb);
@@ -20,14 +22,29 @@ function fromConfig(config) {
return this;
},
start() {
scanner.init(config, (error) => {
if (error) {
console.log(error);
throw error;
}
if (scanner.isRunning()) {
return Promise.resolve(true);
}
if (pendingStart) {
return pendingStart;
}
if (initialized) {
scanner.start();
return Promise.resolve(true);
}
pendingStart = new Promise((resolve, reject) => {
scanner.init(config, (error) => {
if (error) {
console.log(error);
reject(error);
}
initialized = true;
scanner.start();
resolve();
pendingStart = null;
});
});
return this;
return pendingStart;
},
stop() {
scanner.stop();
@@ -94,8 +111,7 @@ function createApi(configuration = Config) {
return fromSource(configuration, src, inputConfig);
},
fromConfig(conf) {
// check if source is given an return scanner
return createApi(merge({}, configuration, conf));
return fromConfig(merge({}, configuration, conf));
},
decoder(conf) {
return setConfig(configuration, "decoder", conf);
+5 -2
View File
@@ -17,7 +17,7 @@ const vec2 = {
function createScanner() {
var _inputStream,
_framegrabber,
_stopped,
_stopped = true,
_canvasContainer = {
ctx: {
image: null
@@ -467,13 +467,16 @@ function createScanner() {
start: function() {
start();
},
isRunning: function() {
return !_stopped;
},
stop: function() {
_stopped = true;
adjustWorkerPool(0);
if (_config.inputStream.type === "LiveStream") {
CameraAccess.release();
_inputStream.clearEventHandlers();
}
_inputStream.clearEventHandlers();
},
pause: function() {
_stopped = true;