This is an automated email from the ASF dual-hosted git repository.

solomax pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/openmeetings.git


The following commit(s) were added to refs/heads/master by this push:
     new e25410e  [OPENMEETINGS-2209] improvements based on logs provided
     new ee5e2c8  Merge branch 'master' of github.com:apache/openmeetings
e25410e is described below

commit e25410e98f5d54cab1ae6ad8d84d35290dedbddc
Author: Maxim Solodovnik <[email protected]>
AuthorDate: Tue Apr 7 20:43:32 2020 +0700

    [OPENMEETINGS-2209] improvements based on logs provided
---
 .../apache/openmeetings/web/room/raw-settings.js   | 24 ++++++++--
 .../openmeetings/web/room/raw-video-manager.js     | 56 +++++++++++++---------
 2 files changed, 55 insertions(+), 25 deletions(-)

diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/raw-settings.js
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/raw-settings.js
index 136b6dc..dd9e768 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/raw-settings.js
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/raw-settings.js
@@ -315,6 +315,9 @@ var VideoSettings = (function() {
                                                }
                                                
rtcPeer.generateOffer(function(error, _offerSdp) {
                                                        if (error) {
+                                                               if (true === 
this.cleaned) {
+                                                                       return;
+                                                               }
                                                                return 
OmUtil.error('Error generating the offer');
                                                        }
                                                        if (typeof(func) === 
'function') {
@@ -477,11 +480,17 @@ var VideoSettings = (function() {
                                        rtcPeer = new 
kurentoUtils.WebRtcPeer.WebRtcPeerRecvonly(
                                                options
                                                , function(error) {
-                                                       if (!this.cleaned && 
error) {
+                                                       if (error) {
+                                                               if (true === 
this.cleaned) {
+                                                                       return;
+                                                               }
                                                                return 
OmUtil.error(error);
                                                        }
                                                        
rtcPeer.generateOffer(function(error, offerSdp) {
-                                                               if 
(!this.cleaned && error) {
+                                                               if (error) {
+                                                                       if 
(true === this.cleaned) {
+                                                                               
return;
+                                                                       }
                                                                        return 
OmUtil.error('Error generating the offer');
                                                                }
                                                                
OmUtil.sendMessage({
@@ -496,6 +505,9 @@ var VideoSettings = (function() {
                                OmUtil.log('Play SDP answer received from 
server. Processing ...');
                                rtcPeer.processAnswer(m.sdpAnswer, 
function(error) {
                                        if (error) {
+                                               if (true === this.cleaned) {
+                                                       return;
+                                               }
                                                return OmUtil.error(error);
                                        }
                                        lm.show();
@@ -507,6 +519,9 @@ var VideoSettings = (function() {
                                OmUtil.log('SDP answer received from server. 
Processing ...');
                                rtcPeer.processAnswer(m.sdpAnswer, 
function(error) {
                                        if (error) {
+                                               if (true === this.cleaned) {
+                                                       return;
+                                               }
                                                return OmUtil.error(error);
                                        }
                                });
@@ -514,6 +529,9 @@ var VideoSettings = (function() {
                        case 'iceCandidate':
                                rtcPeer.addIceCandidate(m.candidate, 
function(error) {
                                        if (error) {
+                                               if (true === this.cleaned) {
+                                                       return;
+                                               }
                                                return OmUtil.error('Error 
adding candidate: ' + error);
                                        }
                                });
@@ -523,7 +541,7 @@ var VideoSettings = (function() {
                                break;
                        case 'recStopped':
                                timer.hide();
-                               _onStop()
+                               _onStop();
                                break;
                        case 'playStopped':
                                _onStop();
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/raw-video-manager.js
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/raw-video-manager.js
index 4ecbb3e..cffa437 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/raw-video-manager.js
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/raw-video-manager.js
@@ -5,24 +5,30 @@ var VideoManager = (function() {
 
        function _onVideoResponse(m) {
                const w = $('#' + VideoUtil.getVid(m.uid))
-                       , v = w.data();
+                       , v = w.data()
+                       , peer = v.getPeer();
 
-               v.getPeer().processAnswer(m.sdpAnswer, function (error) {
-                       if (error) {
-                               return OmUtil.error(error);
-                       }
-                       const vidEls = w.find('audio, video')
-                               , vidEl = vidEls.length === 1 ? vidEls[0] : 
null;
-                       if (vidEl && vidEl.paused) {
-                               vidEl.play().catch(function(err) {
-                                       if ('NotAllowedError' === err.name) {
-                                               
VideoUtil.askPermission(function() {
-                                                       vidEl.play();
-                                               });
+               if (peer) {
+                       peer.processAnswer(m.sdpAnswer, function (error) {
+                               if (error) {
+                                       if (true === this.cleaned) {
+                                               return;
                                        }
-                               });
-                       }
-               });
+                                       return OmUtil.error(error);
+                               }
+                               const vidEls = w.find('audio, video')
+                                       , vidEl = vidEls.length === 1 ? 
vidEls[0] : null;
+                               if (vidEl && vidEl.paused) {
+                                       vidEl.play().catch(function (err) {
+                                               if ('NotAllowedError' === 
err.name) {
+                                                       
VideoUtil.askPermission(function () {
+                                                               vidEl.play();
+                                                       });
+                                               }
+                                       });
+                               }
+                       });
+               }
        }
        function _onBroadcast(msg) {
                const sd = msg.stream
@@ -78,13 +84,19 @@ var VideoManager = (function() {
                                {
                                        const w = $('#' + 
VideoUtil.getVid(m.uid))
                                                , v = w.data()
+                                               , peer = v.getPeer();
 
-                                       
v.getPeer().addIceCandidate(m.candidate, function (error) {
-                                               if (error) {
-                                                       OmUtil.error('Error 
adding candidate: ' + error);
-                                                       return;
-                                               }
-                                       });
+                                       if (peer) {
+                                               
peer.addIceCandidate(m.candidate, function (error) {
+                                                       if (error) {
+                                                               if (true === 
this.cleaned) {
+                                                                       return;
+                                                               }
+                                                               
OmUtil.error('Error adding candidate: ' + error);
+                                                               return;
+                                                       }
+                                               });
+                                       }
                                }
                                break;
                        case 'newStream':

Reply via email to