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();

Reply via email to