]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
FS-8225 [verto_communicator] Avoid duplicate members when recovering calls.
authorItalo Rossi <italorossib@gmail.com>
Sat, 26 Sep 2015 16:59:49 +0000 (13:59 -0300)
committerItalo Rossi <italorossib@gmail.com>
Sat, 26 Sep 2015 16:59:49 +0000 (13:59 -0300)
html5/verto/verto_communicator/src/vertoService/services/vertoService.js

index fc825973dc73205e6f96026ebaec2c163963de8b..899fb10f97a83a6d522b8119e2b1349a183e0bd0 100644 (file)
@@ -372,8 +372,11 @@ vertoService.service('verto', ['$rootScope', '$cookieStore', '$location', 'stora
             }
           });
 
-          console.log('>>> conf.listVideoLayouts();');
-          conf.listVideoLayouts();
+          if (data.confRole == "moderator") {
+            console.log('>>> conf.listVideoLayouts();');
+            conf.listVideoLayouts();
+          }
+
           data.conf = conf;
 
           data.liveArray = new $.verto.liveArray(
@@ -433,10 +436,14 @@ vertoService.service('verto', ['$rootScope', '$cookieStore', '$location', 'stora
             console.log('Has data.liveArray.');
             $rootScope.$emit('members.clear');
             data.liveArray = null;
-
           } else {
             console.log('Doesn\'t found data.liveArray.');
           }
+
+          if (data.conf) {
+            data.conf.destroy();
+            data.conf = null;
+          }
         }
 
         var callbacks = {
@@ -458,6 +465,7 @@ vertoService.service('verto', ['$rootScope', '$cookieStore', '$location', 'stora
                   switch (params.pvtData.action) {
                     case "conference-liveArray-join":
                       console.log("conference-liveArray-join");
+                      stopConference();
                       startConference(v, dialog, params.pvtData);
                       break;
                     case "conference-liveArray-part":
@@ -520,13 +528,7 @@ vertoService.service('verto', ['$rootScope', '$cookieStore', '$location', 'stora
                 if (d.params.screenShare) {
                   cleanShareCall(that);
                 } else {
-                  if (data.liveArray) {
-                    data.liveArray.destroy();
-                  }
-                  
-                  if (data.conf) {
-                    data.conf.destroy();
-                  }
+                  stopConference();
                   cleanCall();
                 }
                 break;