From ac88c5cedcd155eb2cddbbe07aa0af232a841b19 Mon Sep 17 00:00:00 2001 From: hristoterezov Date: Wed, 9 Dec 2015 16:17:28 +1100 Subject: [PATCH] Fixes JS errors on Temasys --- lib-jitsi-meet.js | 17 +++++++++++++---- modules/RTC/JitsiLocalTrack.js | 2 +- modules/RTC/JitsiTrack.js | 15 ++++++++++++--- 3 files changed, 26 insertions(+), 8 deletions(-) diff --git a/lib-jitsi-meet.js b/lib-jitsi-meet.js index 5777aefb7..4c4d5699e 100644 --- a/lib-jitsi-meet.js +++ b/lib-jitsi-meet.js @@ -1397,7 +1397,7 @@ JitsiLocalTrack.prototype.stop = function () { if(!this.stream) return; if(this.rtc) - this.rtc.room.removeStream(this.stream); + this.rtc.room.removeStream(this.stream, function () {}); RTC.stopMediaStream(this.stream); this.detach(); } @@ -1547,9 +1547,18 @@ function implementOnEndedHandling(jitsiTrack) { function addMediaStreamInactiveHandler(mediaStream, handler) { if(RTCBrowserType.isTemasysPluginUsed()) { // themasys - mediaStream.attachEvent('ended', function () { - handler(mediaStream); - }); + //FIXME: Seems that not working properly. + if(mediaStream.onended) { + mediaStream.onended = handler; + } else if(mediaStream.addEventListener) { + mediaStream.addEventListener('ended', function () { + handler(mediaStream); + }); + } else if(mediaStream.attachEvent) { + mediaStream.attachEvent('ended', function () { + handler(mediaStream); + }); + } } else { if(typeof mediaStream.active !== "undefined") diff --git a/modules/RTC/JitsiLocalTrack.js b/modules/RTC/JitsiLocalTrack.js index e6cb52b84..43310e3d1 100644 --- a/modules/RTC/JitsiLocalTrack.js +++ b/modules/RTC/JitsiLocalTrack.js @@ -112,7 +112,7 @@ JitsiLocalTrack.prototype.stop = function () { if(!this.stream) return; if(this.rtc) - this.rtc.room.removeStream(this.stream); + this.rtc.room.removeStream(this.stream, function () {}); RTC.stopMediaStream(this.stream); this.detach(); } diff --git a/modules/RTC/JitsiTrack.js b/modules/RTC/JitsiTrack.js index a0b958bfc..79ab5bb4c 100644 --- a/modules/RTC/JitsiTrack.js +++ b/modules/RTC/JitsiTrack.js @@ -27,9 +27,18 @@ function implementOnEndedHandling(jitsiTrack) { function addMediaStreamInactiveHandler(mediaStream, handler) { if(RTCBrowserType.isTemasysPluginUsed()) { // themasys - mediaStream.attachEvent('ended', function () { - handler(mediaStream); - }); + //FIXME: Seems that not working properly. + if(mediaStream.onended) { + mediaStream.onended = handler; + } else if(mediaStream.addEventListener) { + mediaStream.addEventListener('ended', function () { + handler(mediaStream); + }); + } else if(mediaStream.attachEvent) { + mediaStream.attachEvent('ended', function () { + handler(mediaStream); + }); + } } else { if(typeof mediaStream.active !== "undefined")