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 2018/09/27 15:46:48 UTC

[openmeetings] branch master updated: [OPENMEETINGS-1649] play on enter is added

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 4a075b6  [OPENMEETINGS-1649] play on enter is added
4a075b6 is described below

commit 4a075b604ae48c236406029e9563945b04591508
Author: Maxim Solodovnik <so...@gmail.com>
AuthorDate: Thu Sep 27 22:46:34 2018 +0700

    [OPENMEETINGS-1649] play on enter is added
---
 .../apache/openmeetings/core/remote/KStream.java   | 16 ++++--------
 .../apache/openmeetings/web/room/RoomPanel.java    | 30 +++-------------------
 .../openmeetings/web/room/raw-video-manager.js     | 12 +++++----
 3 files changed, 15 insertions(+), 43 deletions(-)

diff --git a/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/KStream.java b/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/KStream.java
index acae079..d4e28ed 100644
--- a/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/KStream.java
+++ b/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/KStream.java
@@ -30,7 +30,6 @@ import org.apache.openmeetings.core.util.WebSocketHelper;
 import org.apache.openmeetings.db.entity.basic.Client;
 import org.apache.openmeetings.db.util.ws.RoomMessage;
 import org.apache.openmeetings.db.util.ws.TextRoomMessage;
-import org.kurento.client.ConnectionStateChangedEvent;
 import org.kurento.client.Continuation;
 import org.kurento.client.EventListener;
 import org.kurento.client.IceCandidate;
@@ -65,20 +64,12 @@ public class KStream implements IKStream {
 		//TODO Min/Max Audio/Video RecvBandwidth
 		outgoingMedia = createEndpoint(h, this);
 		//TODO add logic here
-		outgoingMedia.addConnectionStateChangedListener(new EventListener<ConnectionStateChangedEvent>() {
-			@Override
-			public void onEvent(ConnectionStateChangedEvent event) {
-				log.warn("StateChanged {} -> {}", event.getOldState(), event.getNewState());
-			}
-		});
 		outgoingMedia.addMediaFlowOutStateChangeListener(new EventListener<MediaFlowOutStateChangeEvent>() {
 			@Override
 			public void onEvent(MediaFlowOutStateChangeEvent event) {
 				log.warn("MediaFlowOutStateChange {}", event.getState());
-				if (MediaFlowState.FLOWING == event.getState()) {
-					WebSocketHelper.sendRoomOthers(roomId, uid, newKurentoMsg()
-							.put("id", "newStream")
-							.put("client", c.toJson(false)));
+				if (MediaFlowState.NOT_FLOWING == event.getState()) {
+					//FIXME TODO release resources
 				}
 			}
 		});
@@ -87,6 +78,9 @@ public class KStream implements IKStream {
 	public KStream startBroadcast(final KurentoHandler h, final Client c, final String sdpOffer) {
 		videoResponse(h, this, sdpOffer);
 		WebSocketHelper.sendRoom(new TextRoomMessage(c.getRoomId(), c, RoomMessage.Type.rightUpdated, c.getUid()));
+		WebSocketHelper.sendRoomOthers(roomId, uid, newKurentoMsg()
+				.put("id", "newStream")
+				.put("client", c.toJson(false)));
 		return this;
 	}
 
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 fc9f610..4292a63 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
@@ -38,7 +38,6 @@ import org.apache.openmeetings.db.dao.calendar.AppointmentDao;
 import org.apache.openmeetings.db.dao.log.ConferenceLogDao;
 import org.apache.openmeetings.db.dao.user.UserDao;
 import org.apache.openmeetings.db.entity.basic.Client;
-import org.apache.openmeetings.db.entity.basic.Client.StreamDesc;
 import org.apache.openmeetings.db.entity.calendar.Appointment;
 import org.apache.openmeetings.db.entity.calendar.MeetingMember;
 import org.apache.openmeetings.db.entity.file.BaseFileItem;
@@ -165,9 +164,9 @@ public class RoomPanel extends BasePanel {
 			boolean hasStreams = false;
 			Client _c = getClient();
 			for (Client c: cm.listByRoom(getRoom().getId())) {
-				for (StreamDesc sd : c.getStreams()) {
-					JSONObject jo = videoJson(c, c.getSid(), sd);
-					//FIXME TODO sb.append(String.format("VideoManager.play(%s);", jo));
+				//FIXME TODO add multiple streams support
+				if (!c.getStreams().isEmpty()) {
+					sb.append(String.format("VideoManager.play(%s);", c.toJson(false)));
 					hasStreams = true;
 				}
 			}
@@ -816,27 +815,4 @@ public class RoomPanel extends BasePanel {
 	public boolean isInterview() {
 		return interview;
 	}
-
-	public JSONObject videoJson(Client c, String sid, StreamDesc sd) {
-		/*
-		TODO streams
-		StreamClient sc = mgr.get(uid);
-		if (sc == null) {
-			return new JSONObject();
-		}
-		*/
-		JSONObject o = c.toJson(getUid().equals(c.getUid()))
-				.put("sid", sid)
-				.put("uid", c.getUid())
-				 /*TODO
-				 .put("uid", sc.getUid())
-				.put("broadcastId", sc.getBroadcastId())
-				.put("width", sc.getWidth())
-				.put("height", sc.getHeight())
-				.put("type", sc.getType());
-		return addScreenActivities(o, sc);
-		*/
-				;
-		return o;
-	}
 }
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/raw-video-manager.js b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/raw-video-manager.js
index 772ad4a..4daf883 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/raw-video-manager.js
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/raw-video-manager.js
@@ -57,12 +57,12 @@ var VideoManager = (function() {
 			}));
 	}
 
-	function _onReceive(msg) {
-		const uid = msg.client.uid;
+	function _onReceive(c) {
+		const uid = c.uid;
 		$('#' + VideoUtil.getVid(uid)).remove();
 		const o = VideoSettings.load() //FIXME TODO add multiple streams support
-			//, w = Video().init(msg.client, VideoUtil.getPos(VideoUtil.getRects(VID_SEL), msg.stream.width, msg.stream.height + 25))
-			, w = Video().init(msg.client, VideoUtil.getPos(VideoUtil.getRects(VID_SEL), msg.client.width, msg.client.height + 25))
+			//, w = Video().init(c, VideoUtil.getPos(VideoUtil.getRects(VID_SEL), msg.stream.width, msg.stream.height + 25))
+			, w = Video().init(c, VideoUtil.getPos(VideoUtil.getRects(VID_SEL), c.width, c.height + 25))
 			, v = w.data()
 			, cl = v.client();
 		OmUtil.log(uid + " receiving video");
@@ -124,7 +124,7 @@ var VideoManager = (function() {
 						}
 						break;
 					case 'newStream':
-						_onReceive(m);
+						_onReceive(m.client);
 						break;
 					default:
 						//no-op
@@ -220,6 +220,8 @@ var VideoManager = (function() {
 					v.dialog('open');
 				}
 			});
+		} else {
+			_onReceive(c);
 		}
 	}
 	function _close(uid, showShareBtn) {