commit 7c95a76b8117a92cfbe5c2981e839d646e415648
parent 242c5dca324a434b4a11c746fb4b4956d3213915
Author: Timo A. Hummel <felicitus@felicitus.org>
Date: Sun, 3 Jan 2016 01:13:17 +0100
Added error for IE browsers, fix deprecated stream.stop for newer chrome browsers, related to #523
Diffstat:
1 file changed, 17 insertions(+), 2 deletions(-)
diff --git a/src/PartKeepr/FrontendBundle/Resources/public/js/Components/Widgets/WebcamPanel.js b/src/PartKeepr/FrontendBundle/Resources/public/js/Components/Widgets/WebcamPanel.js
@@ -20,7 +20,7 @@ Ext.define('PartKeepr.WebcamPanel', {
xtype: 'component',
itemId: 'canvas',
autoEl: {
- tag: 'canvas',
+ tag: 'canvas'
}
}],
video: null,
@@ -55,6 +55,10 @@ Ext.define('PartKeepr.WebcamPanel', {
// @todo: Implement video error handler
},
_onAfterRender: function () {
+ if (Ext.isIE) {
+ Ext.window.MessageBox.alert("Internet Explorer does not have webcam support.");
+ return;
+ }
this.video = this.down("#video").getEl().dom;
this.canvas = this.down("#canvas").getEl().dom;
@@ -94,7 +98,18 @@ Ext.define('PartKeepr.WebcamPanel', {
this.takePhotoButton.setText(i18n("Uploading..."));
},
_onBeforeDestroy: function () {
- this.stream.stop();
+ // stream.stop is deprecated for newer chrome versions,
+ // use getTracks instead
+ if (this.stream.getTracks) {
+ var tracks= this.stream.getTracks();
+
+ for (var i=0;i<tracks.length;i++) {
+ tracks[i].stop();
+ }
+ } else {
+ this.stream.stop();
+ }
+
this.video.pause();
this.video.src=null;
}