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 bba48c0  [OPENMEETINGS-2115] Activities are being cleaned up on Media 
flow stop
bba48c0 is described below

commit bba48c06df35dc3552d8c4f2c3a165793886c8b7
Author: Maxim Solodovnik <[email protected]>
AuthorDate: Sat Oct 5 23:17:02 2019 +0700

    [OPENMEETINGS-2115] Activities are being cleaned up on Media flow stop
---
 .../java/org/apache/openmeetings/core/remote/StreamProcessor.java  | 7 +++++++
 .../main/java/org/apache/openmeetings/db/entity/basic/Client.java  | 6 +++---
 2 files changed, 10 insertions(+), 3 deletions(-)

diff --git 
a/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/StreamProcessor.java
 
b/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/StreamProcessor.java
index 71f37d9..a9e10ec 100644
--- 
a/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/StreamProcessor.java
+++ 
b/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/StreamProcessor.java
@@ -492,8 +492,15 @@ public class StreamProcessor implements IStreamProcessor {
                final String uid = stream.getUid();
                Client c = cm.getBySid(stream.getSid());
                if (c != null) {
+                       StreamDesc sd = c.getStream(uid);
                        c.removeStream(uid);
+                       if (StreamType.WEBCAM == sd.getType()) {
+                               for (Activity a : sd.getActivities()) {
+                                       c.remove(a);
+                               }
+                       }
                        cm.update(c);
+                       WebSocketHelper.sendRoom(new 
TextRoomMessage(c.getRoomId(), c, RoomMessage.Type.rightUpdated, c.getUid()));
                }
                streamByUid.remove(uid);
        }
diff --git 
a/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/basic/Client.java
 
b/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/basic/Client.java
index b0bdcb9..71fa97d 100644
--- 
a/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/basic/Client.java
+++ 
b/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/basic/Client.java
@@ -530,8 +530,8 @@ public class Client implements IDataProviderEntity, 
IWsClient {
                        return Client.this;
                }
 
-               private JSONArray getActivities() {
-                       return new JSONArray(new ArrayList<>(sactivities));
+               public List<Activity> getActivities() {
+                       return List.copyOf(sactivities);
                }
 
                public JSONObject toJson() {
@@ -540,7 +540,7 @@ public class Client implements IDataProviderEntity, 
IWsClient {
                                        .put("type", type.name())
                                        .put("width", swidth)
                                        .put("height", sheight)
-                                       .put("activities", getActivities())
+                                       .put("activities", new 
JSONArray(sactivities))
                                        .put("cuid", uid));
                }
 

Reply via email to