partkeepr

fork of partkeepr
git clone https://git.e1e0.net/partkeepr.git
Log | Files | Refs | Submodules | README | LICENSE

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:
Msrc/PartKeepr/FrontendBundle/Resources/public/js/Components/Widgets/WebcamPanel.js | 19+++++++++++++++++--
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; }