Updated quagga

gh-pages
Christoph Oberhofer 11 years ago
parent c77b03d4c5
commit 61739147cb

@ -6810,7 +6810,12 @@ define('html_utils',[], function() {
define('config',[],function(){
var config = {
inputStream: { name: "Live",
type: "LiveStream"
type: "LiveStream",
constraints: {
width: 640,
height: 480,
facing: "environment" // or user
}
},
tracking: false,
debug: false,
@ -6943,7 +6948,7 @@ define('events',[],function() {
/* jshint undef: true, unused: true, browser:true, devel: true */
/* global define, MediaStreamTrack */
define('camera_access',[],function() {
define('camera_access',["html_utils"], function(HtmlUtils) {
var streamRef;
@ -6996,43 +7001,63 @@ define('camera_access',[],function() {
});
}
/**
* Requests the back-facing camera of the user. The callback is called
* whenever the stream is ready to be consumed, or if an error occures.
* @param {Object} video
* @param {Object} callback
*/
function request(video, callback) {
function normalizeConstraints(config, cb) {
var constraints = {
audio: false,
video: true
},
videoConstraints = HtmlUtils.mergeObjects({
width: 640,
height: 480,
facing: "environment"
}, config);
if ( typeof MediaStreamTrack.getSources !== 'undefined') {
MediaStreamTrack.getSources(function(sourceInfos) {
var videoSourceId;
for (var i = 0; i != sourceInfos.length; ++i) {
var sourceInfo = sourceInfos[i];
if (sourceInfo.kind == "video" && sourceInfo.facing == "environment") {
if (sourceInfo.kind == "video" && sourceInfo.facing == videoConstraints.facing) {
videoSourceId = sourceInfo.id;
}
}
var constraints = {
audio : false,
video : {
optional : [{
sourceId : videoSourceId
constraints.video = {
mandatory: {
minWidth: videoConstraints.width,
minHeight: videoConstraints.height
},
optional: [{
sourceId: videoSourceId
}]
}
};
initCamera(constraints, video, callback);
return cb(constraints);
});
} else {
initCamera({
video : true,
audio : false
}, video, callback);
constraints.video = {
mediaSource: "camera",
width: { min: videoConstraints.width, max: videoConstraints.width },
height: { min: videoConstraints.height, max: videoConstraints.height },
require: ["width", "height"]
};
return cb(constraints);
}
}
/**
* Requests the back-facing camera of the user. The callback is called
* whenever the stream is ready to be consumed, or if an error occures.
* @param {Object} video
* @param {Object} callback
*/
function request(video, videoConstraints, callback) {
normalizeConstraints(videoConstraints, function(constraints) {
initCamera(constraints, video, callback);
});
}
return {
request : function(video, callback) {
request(video, callback);
request : function(video, constraints, callback) {
request(video, constraints, callback);
},
release : function() {
var tracks = streamRef && streamRef.getVideoTracks();
@ -8232,7 +8257,7 @@ function(Code128Reader, EANReader, InputStream, ImageWrapper, BarcodeLocator, Ba
$viewport.appendChild(video);
}
_inputStream = InputStream.createLiveStream(video);
CameraAccess.request(video, function(err) {
CameraAccess.request(video, _config.inputStream.constraints, function(err) {
if (!err) {
_inputStream.trigger("canrecord");
} else {

@ -173,7 +173,12 @@ The default `config` object is set as followed:
```javascript
{
inputStream: { name: "Live",
type: "LiveStream"
type: "LiveStream",
constraints: {
width: 640,
height: 480,
facing: "environment"
}
},
tracking: false,
debug: false,

Loading…
Cancel
Save