]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
FS-11960: [js] replaces all deprecated js methods for FF warnings
authorshashi kumar <shashi@freeswitch.com>
Tue, 6 Nov 2018 18:35:59 +0000 (12:35 -0600)
committerMike Jerris <mike@signalwire.com>
Thu, 25 Jul 2019 19:41:29 +0000 (13:41 -0600)
html5/verto/js/src/jquery.FSRTC.js
html5/verto/js/src/jquery.verto.js

index f79ea835d9d8ad89b906395fc2890cbe3f7e585e..fe55c65b1dc04f9e0761c8d3a89f576f44906eb7 100644 (file)
@@ -57,7 +57,7 @@
         var result = sdpLine.match(pattern);
         return (result && result.length == 2) ? result[1] : null;
     }
-    
+
     // Returns a new m= line with the specified codec as the first one.
     function setDefaultCodec(mLine, payload) {
         var elements = mLine.split(' ');
            console.error('Error attaching stream to element.');
        }
     }
-    
+
     function onRemoteStream(self, stream) {
         if (self.options.useVideo) {
             self.options.useVideo.style.display = 'block';
         console.log("REMOTE STREAM", stream, element);
 
        FSRTCattachMediaStream(element, stream);
-       
 
-       
+
+
         //self.options.useAudio.play();
         self.remoteStream = stream;
         onRemoteStreamSuccess(self, stream);
         }
 
         if (self.localStream && !self.options.useStream) {
-            if(typeof self.localStream.stop == 'function') {
-                self.localStream.stop();
-            } else {
-               if (self.localStream.active){
-                    var tracks = self.localStream.getTracks();
-                    console.log(tracks);
-                   tracks.forEach(function(track, index){
-                       console.log(track);
-                       track.stop();
-                   })
-                }
-            }
+            var tracks = self.localStream.getTracks();
+            console.log("Stopping localStream tracks:", tracks);
+            tracks.forEach(function(track){ track.stop() })
             self.localStream = null;
         }
 
         if (self.options.localVideo) {
-      deactivateLocalVideo(self.options.localVideo);
+            deactivateLocalVideo(self.options.localVideo);
         }
 
-       if (self.options.localVideoStream && !self.options.useStream) {
-            if(typeof self.options.localVideoStream.stop == 'function') {
-               self.options.localVideoStream.stop();
-            } else {
-               if (self.options.localVideoStream.active){
-                    var tracks = self.options.localVideoStream.getTracks();
-                    console.log(tracks);
-                   tracks.forEach(function(track, index){
-                       console.log(track);
-                       track.stop();
-                   })
-                }
-            }
+        if (self.options.localVideoStream && !self.options.useStream) {
+            var tracks = self.options.localVideoStream.getTracks();
+            console.log("Stopping localVideoStream tracks:", tracks);
+            tracks.forEach(function(track){ track.stop() })
         }
 
         if (self.peer) {
     if (!self.localStream) {
         return false;
     }
-       var audioTracks = self.localStream.getAudioTracks();    
+       var audioTracks = self.localStream.getAudioTracks();
 
        for (var i = 0, len = audioTracks.length; i < len; i++ ) {
            switch(what) {
     if (!self.localStream) {
         return false;
     }
-       var videoTracks = self.localStream.getVideoTracks();    
+       var videoTracks = self.localStream.getVideoTracks();
 
        for (var i = 0, len = videoTracks.length; i < len; i++ ) {
            switch(what) {
                if (obj.options.useCamera) {
                    opt.push({sourceId: obj.options.useCamera});
                }
-               
+
                if (bestFrameRate) {
                    opt.push({minFrameRate: bestFrameRate});
                    opt.push({maxFrameRate: bestFrameRate});
                }
-               
+
                video = {
                    mandatory: obj.options.videoParams,
-                   optional: opt               
+                   optional: opt
                };
            }
        } else {
                width: {min: obj.options.videoParams.minWidth, max: obj.options.videoParams.maxWidth},
                height: {min: obj.options.videoParams.minHeight, max: obj.options.videoParams.maxHeight}
            };
-           
-            
-           
+
+
+
            var useVideo = obj.options.useVideo;
 
            if (useVideo && obj.options.useCamera && obj.options.useCamera !== "none") {
                //video.optional = [];
                //}
 
-               
+
                if (obj.options.useCamera !== "any") {
                    //video.optional.push({sourceId: obj.options.useCamera});
         video = assignMediaIdToConstraint(obj.options.useCamera, video);
 
        return {audio: audio, video: video, useVideo: useVideo};
     }
-    
+
     $.FSRTC.prototype.call = function(profile) {
         checkCompat();
-       
+
         var self = this;
        var screen = false;
 
 
         function onSuccess(stream) {
            self.localStream = stream;
-           
+
            if (screen) {
                self.constraints.offerToReceiveVideo = false;
                self.constraints.offerToReceiveAudio = false;
                self.constraints.offerToSendAudio = false;
            }
-           
+
             self.peer = FSRTCPeerConnection({
                 type: self.type,
                 attachStream: self.localStream,
     // 2013, @muazkh - github.com/muaz-khan
     // MIT License - https://www.webrtc-experiment.com/licence/
     // Documentation - https://github.com/muaz-khan/WebRTC-Experiment/tree/master/RTCPeerConnection
-    
+
     function FSRTCPeerConnection(options) {
        var gathering = false, done = false;
        var config = {};
             if (options.onICEComplete) {
                 options.onICEComplete();
             }
-           
+
             if (options.type == "offer") {
                 options.onICESDP(peer.localDescription);
             } else {
            if (!gathering) {
                gathering = setTimeout(ice_handler, 1000);
            }
-           
+
            if (event) {
                if (event.candidate) {
                    options.onICE(event.candidate);
             }
         }
 
-        peer.onaddstream = function(event) {
-            var remoteMediaStream = event.stream;
+        // peer.onaddstream = function(event) { // OLD API
+        peer.ontrack = function(event) {
+            console.log('Peer Track', event)
+            // var remoteMediaStream = event.stream;
+            var remoteMediaStream = event.streams[0];
 
-            // onRemoteStreamEnded(MediaStream)
             remoteMediaStream.oninactive = function () {
                 if (options.onRemoteStreamEnded) options.onRemoteStreamEnded(remoteMediaStream);
             };
 
-            // onRemoteStream(MediaStream)
             if (options.onRemoteStream) options.onRemoteStream(remoteMediaStream);
-
-            //console.debug('on:add:stream', remoteMediaStream);
         };
 
         //var constraints = options.constraints || {
          //  offerToReceiveAudio: true,
-           //offerToReceiveVideo: true   
+           //offerToReceiveVideo: true
         //};
 
         // onOfferSDP(RTCSessionDescription)
             },
 
             stop: function() {
-                peer.close();
-                if (options.attachStream) {
-                  if(typeof options.attachStream.stop == 'function') {
-                    options.attachStream.stop();
-                  } else {
-                    options.attachStream.active = false;
-                  }
+                if (options.attachStream instanceof MediaStream) {
+                    var tracks = options.attachStream.getTracks();
+                    tracks.forEach(function(track){ track.stop() })
+                    options.attachStream = null
                 }
+                peer.close();
             }
-
         };
     }
 
             console.error('Unexpected error on media id assurance attempts:', error, 'Options:', options);
         });
     }
-
     $.FSRTC.resSupported = function(w, h) {
        for (var i in $.FSRTC.validRes) {
            if ($.FSRTC.validRes[i][0] == w && $.FSRTC.validRes[i][1] == h) {
                'validRes': $.FSRTC.validRes,
                'bestResSupported': $.FSRTC.bestResSupported()
             };
-           
+
            localStorage.setItem("res_" + cam, $.toJSON(res));
-           
+
            if (func) return func(res);
            return;
        }
     video = assignMediaIdToConstraint(cam, video);
   }
 
-       getUserMedia({
-           constraints: {
-                audio: ttl++ == 0,
-                video: video       
-           },
+           getUserMedia({
+           constraints: { audio: ttl++ == 0, video: video },
            onsuccess: function(e) {
-               e.getTracks().forEach(function(track) {track.stop();});
-               console.info(w + "x" + h + " supported."); $.FSRTC.validRes.push([w, h]); checkRes(cam, func);},
+            e.getTracks().forEach(function(track) { track.stop() });
+            console.info(w + "x" + h + " supported."); $.FSRTC.validRes.push([w, h]); checkRes(cam, func);
+        },
            onerror: function(e) {console.warn( w + "x" + h + " not supported."); checkRes(cam, func);}
         });
     }
-    
+
 
     $.FSRTC.getValidRes = function (cam, func) {
        var used = [];
        var cached = localStorage.getItem("res_" + cam);
-       
+
        if (cached) {
            var cache = $.parseJSON(cached);
 
     }
 
     $.FSRTC.checkPerms = function (runtime, check_audio, check_video) {
-       getUserMedia({
-           constraints: {
-               audio: check_audio,
-               video: check_video,
-           },
-           onsuccess: function(e) {
-
-               e.getTracks().forEach(function(track) {track.stop();});
-               
-               console.info("media perm init complete"); 
-               if (runtime) {
+        getUserMedia({
+            constraints: { audio: check_audio, video: check_video },
+            onsuccess: function(e) {
+                e.getTracks().forEach(function(track) { track.stop() });
+                console.info("media perm init complete");
+                if (runtime) {
                     setTimeout(runtime, 100, true);
-               }
+                }
             },
-           onerror: function(e) {
-               if (check_video && check_audio) {
-                   console.error("error, retesting with audio params only");
-                   return $.FSRTC.checkPerms(runtime, check_audio, false);
-               }
-
-               console.error("media perm init error");
-
-               if (runtime) {
-                   runtime(false)
-               }
-           }
-       });
+            onerror: function(e) {
+                if (check_video && check_audio) {
+                    console.error("error, retesting with audio params only");
+                    return $.FSRTC.checkPerms(runtime, check_audio, false);
+                }
+                console.error("media perm init error");
+                if (runtime) {
+                    runtime(false)
+                }
+            }
+        });
     }
 
 })(jQuery);
index a3d66a93f520164636f56de5a683a61f0a41b011..45d880e365db22d813fabab123eff415a83f4014 100644 (file)
                    has_video++;
                }
            }
+           navigator.mediaDevices.getUserMedia({ audio: (has_audio > 0 ? true : false), video: (has_video > 0 ? true : false)})
+                .then(function(stream) {
+                        Xstream = stream;
+                        navigator.mediaDevices.enumerateDevices().then(gotDevices).catch(handleError);
+           })
+           .catch(function(err) {
+                console.log("The following error occurred: " + err.name);
+          });
 
-           navigator.getUserMedia({ audio: (has_audio > 0 ? true : false), video: (has_video > 0 ? true : false)},
-                                  function(stream) {
-                                      Xstream = stream;
-                                      navigator.mediaDevices.enumerateDevices().then(gotDevices).catch(handleError);
-                                  },
-                                  function(err) {
-                                      console.log("The following error occurred: " + err.name);
-                                  }
-                                 );
        }
 
        navigator.mediaDevices.enumerateDevices().then(checkTypes).catch(handleError);