OPENMEETINGS-551 - The video frames from other participants are shown when the new participant enter to the room.
Project: http://git-wip-us.apache.org/repos/asf/openmeetings/repo Commit: http://git-wip-us.apache.org/repos/asf/openmeetings/commit/1b9cde02 Tree: http://git-wip-us.apache.org/repos/asf/openmeetings/tree/1b9cde02 Diff: http://git-wip-us.apache.org/repos/asf/openmeetings/diff/1b9cde02 Branch: refs/heads/master Commit: 1b9cde0269ff0be145e1f1faf0a4c3c53d1b24f3 Parents: ad9b33b Author: Vasiliy Degtyarev <[email protected]> Authored: Tue Apr 18 09:30:58 2017 +0000 Committer: Vasiliy Degtyarev <[email protected]> Committed: Tue Apr 18 09:30:58 2017 +0000 ---------------------------------------------------------------------- .../apache/openmeetings/web/room/RoomPanel.java | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/openmeetings/blob/1b9cde02/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java ---------------------------------------------------------------------- diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java index add92fc..8c2497f 100644 --- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java +++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java @@ -122,6 +122,8 @@ public class RoomPanel extends BasePanel { options.put("interview", Room.Type.interview == r.getType()); target.appendJavaScript(String.format("VideoManager.init(%s);", options)); WebSocketHelper.sendRoom(new RoomMessage(r.getId(), getUserId(), RoomMessage.Type.roomEnter)); + // play video from other participants + playVideos(target); getMainPanel().getChat().roomEnter(r, target); if (r.isFilesOpened()) { sidebar.setFilesActive(target); @@ -156,6 +158,23 @@ public class RoomPanel extends BasePanel { //private String publishingUser = null; } + private void playVideos(AjaxRequestTarget target) { + for (Client c: getRoomClients(getRoom().getId()) ){ + boolean self = getClient().getUid().equals(c.getUid()); + if (!self) { + JSONObject json = c.toJson().put("sid", getSid()).put("self", self); + json.put("screenShare", false) + .put("uid", c.getUid()) + .put("broadcastId", c.getBroadcastId()) + .put("width", c.getWidth()) + .put("height", c.getHeight()); + target.appendJavaScript(String.format("VideoManager.play(%s);", json)); + } + + } + + } + @Override protected void onInitialize() { super.onInitialize();
