You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openmeetings.apache.org by so...@apache.org on 2019/10/05 16:17:15 UTC
[openmeetings] branch master updated: [OPENMEETINGS-2115]
Activities are being cleaned up on Media flow stop
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 <so...@gmail.com>
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));
}