Repository: openmeetings
Updated Branches:
  refs/heads/master 0e757bca0 -> b4ed57b98


[OPENMEETINGS-1643] hardcoded flash settings are moved to the config


Project: http://git-wip-us.apache.org/repos/asf/openmeetings/repo
Commit: http://git-wip-us.apache.org/repos/asf/openmeetings/commit/b4ed57b9
Tree: http://git-wip-us.apache.org/repos/asf/openmeetings/tree/b4ed57b9
Diff: http://git-wip-us.apache.org/repos/asf/openmeetings/diff/b4ed57b9

Branch: refs/heads/master
Commit: b4ed57b985d48f1794c71745531d61e54bf851bb
Parents: 0e757bc
Author: Maxim Solodovnik <[email protected]>
Authored: Tue Aug 8 00:22:44 2017 +0700
Committer: Maxim Solodovnik <[email protected]>
Committed: Tue Aug 8 00:22:44 2017 +0700

----------------------------------------------------------------------
 .../core/remote/ScopeApplicationAdapter.java    | 20 +++++++++++++++++---
 .../openmeetings/db/entity/basic/Client.java    | 10 +++++-----
 openmeetings-flash/src/main/flex/main.mxml      | 14 +++++++++++---
 .../installation/ImportInitvalues.java          |  9 ++++++++-
 .../util/OpenmeetingsVariables.java             |  4 ++++
 .../apache/openmeetings/web/room/RoomPanel.java |  2 +-
 6 files changed, 46 insertions(+), 13 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/openmeetings/blob/b4ed57b9/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/ScopeApplicationAdapter.java
----------------------------------------------------------------------
diff --git 
a/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/ScopeApplicationAdapter.java
 
b/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/ScopeApplicationAdapter.java
index f7f35b6..54c8b9c 100644
--- 
a/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/ScopeApplicationAdapter.java
+++ 
b/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/ScopeApplicationAdapter.java
@@ -19,9 +19,14 @@
 package org.apache.openmeetings.core.remote;
 
 import static 
org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_EXT_PROCESS_TTL;
+import static 
org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_FLASH_CAM_QUALITY;
+import static 
org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_FLASH_ECHO_PATH;
+import static 
org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_FLASH_MIC_RATE;
 import static 
org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_FLASH_SECURE;
 import static 
org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_FLASH_SECURE_PROXY;
+import static 
org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_FLASH_VIDEO_BANDWIDTH;
 import static 
org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_FLASH_VIDEO_CODEC;
+import static 
org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_FLASH_VIDEO_FPS;
 import static 
org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_HEADER_CSP;
 import static 
org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_HEADER_XFRAME;
 import static 
org.apache.openmeetings.util.OpenmeetingsVariables.EXT_PROCESS_TTL;
@@ -58,6 +63,7 @@ import org.apache.openmeetings.db.entity.room.Room;
 import org.apache.openmeetings.db.entity.room.StreamClient;
 import org.apache.openmeetings.util.CalendarPatterns;
 import org.apache.openmeetings.util.InitializationContainer;
+import org.apache.openmeetings.util.NullStringer;
 import org.apache.openmeetings.util.OmFileHelper;
 import org.apache.openmeetings.util.OpenmeetingsVariables;
 import org.apache.openmeetings.util.Version;
@@ -94,6 +100,10 @@ public class ScopeApplicationAdapter extends 
MultiThreadedApplicationAdapter imp
        public static final String FLASH_SSL_PORT = "rtmpsPort";
        public static final String FLASH_VIDEO_CODEC = "videoCodec";
        public static final String FLASH_FPS = "fps";
+       public static final String FLASH_BANDWIDTH = "bandwidth";
+       public static final String FLASH_QUALITY = "quality";
+       public static final String FLASH_ECHO_PATH = "echoPath";
+       public static final String FLASH_MIC_RATE = "micRate";
        private JSONObject flashSettings;
 
        @Autowired
@@ -142,7 +152,11 @@ public class ScopeApplicationAdapter extends 
MultiThreadedApplicationAdapter imp
                                        .put(FLASH_PORT, 
props.getProperty("rtmp.port"))
                                        .put(FLASH_SSL_PORT, 
props.getProperty("rtmps.port"))
                                        .put(FLASH_VIDEO_CODEC, 
cfgDao.getConfValue(CONFIG_FLASH_VIDEO_CODEC, String.class, "h263"))
-                                       .put(FLASH_FPS, 
cfgDao.getConfValue(OpenmeetingsVariables.CONFIG_FLASH_VIDEO_FPS, 
Integer.class, "30"))
+                                       .put(FLASH_FPS, 
cfgDao.getConfValue(CONFIG_FLASH_VIDEO_FPS, Integer.class, "30"))
+                                       .put(FLASH_BANDWIDTH, 
cfgDao.getConfValue(CONFIG_FLASH_VIDEO_BANDWIDTH, Integer.class, "0"))
+                                       .put(FLASH_QUALITY, 
cfgDao.getConfValue(CONFIG_FLASH_CAM_QUALITY, Integer.class, "90"))
+                                       .put(FLASH_ECHO_PATH, 
cfgDao.getConfValue(CONFIG_FLASH_ECHO_PATH, Integer.class, "128"))
+                                       .put(FLASH_MIC_RATE, 
cfgDao.getConfValue(CONFIG_FLASH_MIC_RATE, Integer.class, "22"))
                                        ;
 
                        for (String scopeName : scope.getScopeNames()) {
@@ -539,9 +553,9 @@ public class ScopeApplicationAdapter extends 
MultiThreadedApplicationAdapter imp
                                        .put("ownerSid", c.getOwnerSid())
                                        .put("uid", c.getUid())
                                        .put("screenShare", c.isSharing())
-                                       .put("streamId", c.getId())
+                                       .put("streamId", 
current.getClient().getId())
                                        .put("streamName", streamName);
-                       WebSocketHelper.sendRoom(new 
TextRoomMessage(c.getRoomId(), c.getUserId(), RoomMessage.Type.newStream, 
obj.toString()));
+                       WebSocketHelper.sendRoom(new 
TextRoomMessage(c.getRoomId(), c.getUserId(), RoomMessage.Type.newStream, 
obj.toString(new NullStringer())));
                } catch (Exception err) {
                        _log.error("[streamPublishStart]", err);
                }

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/b4ed57b9/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/basic/Client.java
----------------------------------------------------------------------
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 e42a467..e1bca80 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
@@ -60,19 +60,19 @@ public class Client implements IClient {
        }
        public static class Stream implements Serializable {
                private static final long serialVersionUID = 1L;
-               private final Long streamId;
+               private final String streamId;
                private final String uid;
                private final String broadcastId;
                private final boolean sharing;
 
-               public Stream(String uid, Long streamId, String broadcastId, 
boolean sharing) {
+               public Stream(String uid, String streamId, String broadcastId, 
boolean sharing) {
                        this.streamId = streamId;
                        this.broadcastId = broadcastId;
                        this.uid = uid;
                        this.sharing= sharing;
                }
 
-               public Long getStreamId() {
+               public String getStreamId() {
                        return streamId;
                }
 
@@ -295,7 +295,7 @@ public class Client implements IClient {
                return this;
        }
 
-       public void addStream(String uid, Long streamId, String broadcastId, 
boolean sharing) {
+       public void addStream(String uid, String streamId, String broadcastId, 
boolean sharing) {
                streams.add(new Stream(uid, streamId, broadcastId, sharing));
        }
 
@@ -303,7 +303,7 @@ public class Client implements IClient {
                if (broadcastId == null) {
                        return;
                }
-               streams.remove(new Stream(null, 1L, broadcastId, false));
+               streams.remove(new Stream(null, null, broadcastId, false));
        }
 
        public List<Stream> getStreams() {

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/b4ed57b9/openmeetings-flash/src/main/flex/main.mxml
----------------------------------------------------------------------
diff --git a/openmeetings-flash/src/main/flex/main.mxml 
b/openmeetings-flash/src/main/flex/main.mxml
index 429bdb2..1a0478c 100644
--- a/openmeetings-flash/src/main/flex/main.mxml
+++ b/openmeetings-flash/src/main/flex/main.mxml
@@ -39,7 +39,7 @@
                private var quality:int = 100;
                private var echoPath:int = 256;
                private var echoSuppression:Boolean = true;
-               private var microphoneRateBest:int = 22;//5, 8, 11, 22, and 44
+               private var micRate:int = 22;//5, 8, 11, 22, and 44
                private var selectedMic:int = -1;
                private var selectedCam:int = -1;
                private var video:OmVideo;
@@ -67,6 +67,14 @@
                        interview = 'true' == params.interview;
                        var _fps:int = parseInt(params.fps);
                        FPS = (isNaN(_fps) || _fps < 1 ? 30 : _fps);
+                       var _bandwidth:int = parseInt(params.bandwidth);
+                       bandwidth = (isNaN(_bandwidth) || _bandwidth < 1 ? 0 : 
_bandwidth);
+                       var _quality:int = parseInt(params.quality);
+                       quality = (isNaN(_quality) || _quality < 1 ? 90 : 
_quality);
+                       var _echoPath:int = parseInt(params.echoPath);
+                       echoPath = (isNaN(_echoPath) || _echoPath < 1 ? 128 : 
_echoPath);
+                       var _micRate:int = parseInt(params.micRate);
+                       micRate = (isNaN(_micRate) || _micRate < 1 ? 22 : 
_micRate);
                        video = new OmVideo(videoDisplay, params);
                        switch (params.mode) {
                                case 'settings':
@@ -157,8 +165,8 @@
                                        _micro.codec = SoundCodec.NELLYMOSER;
                                        _micro.framesPerPacket = 1;
                                        _micro.setSilenceLevel(0, 2000);
-                                       debug("canvas.microphoneRateBest: " + 
microphoneRateBest);
-                                       _micro.rate = microphoneRateBest;
+                                       debug("canvas.micRate: " + micRate);
+                                       _micro.rate = micRate;
                                        _micro.gain = 50;
                                        // this has no effect if enhanced 
microphone is obtained
                                        //Microphone setUseEchoSupression(bool)

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/b4ed57b9/openmeetings-install/src/main/java/org/apache/openmeetings/installation/ImportInitvalues.java
----------------------------------------------------------------------
diff --git 
a/openmeetings-install/src/main/java/org/apache/openmeetings/installation/ImportInitvalues.java
 
b/openmeetings-install/src/main/java/org/apache/openmeetings/installation/ImportInitvalues.java
index ce08026..c5ac7d9 100644
--- 
a/openmeetings-install/src/main/java/org/apache/openmeetings/installation/ImportInitvalues.java
+++ 
b/openmeetings-install/src/main/java/org/apache/openmeetings/installation/ImportInitvalues.java
@@ -33,8 +33,12 @@ import static 
org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_DEFAULT_
 import static 
org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_DOCUMENT_DPI;
 import static 
org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_DOCUMENT_QUALITY;
 import static 
org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_EXT_PROCESS_TTL;
+import static 
org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_FLASH_CAM_QUALITY;
+import static 
org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_FLASH_ECHO_PATH;
+import static 
org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_FLASH_MIC_RATE;
 import static 
org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_FLASH_SECURE;
 import static 
org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_FLASH_SECURE_PROXY;
+import static 
org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_FLASH_VIDEO_BANDWIDTH;
 import static 
org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_FLASH_VIDEO_CODEC;
 import static 
org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_FLASH_VIDEO_FPS;
 import static 
org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_FRONTEND_REGISTER_KEY;
@@ -360,7 +364,10 @@ public class ImportInitvalues {
                cfgDao.add(CONFIG_FLASH_SECURE_PROXY, "none", null, "The 
setting for the NetConnection default settings is 'none'\n set to value 'best' 
if you are trying to use rtmp over native SSL");
                cfgDao.add(CONFIG_FLASH_VIDEO_CODEC, "h263", null, "Camera 
codecType, possible values: 'h263', 'h264'");
                cfgDao.add(CONFIG_FLASH_VIDEO_FPS, "30", null, "Camera FPS, 
should be positive number in range (0, 60]");
-
+               cfgDao.add(CONFIG_FLASH_VIDEO_BANDWIDTH, "0", null, "An integer 
that specifies the maximum amount of bandwidth that the current outgoing video 
feed can use, in bytes per second. To specify that Flash video can use as much 
bandwidth as needed to maintain the value of frameQuality, pass 0 for 
bandwidth.");
+               cfgDao.add(CONFIG_FLASH_CAM_QUALITY, "90", null, "An integer 
that specifies the required level of picture quality, as determined by the 
amount of compression being applied to each video frame. Acceptable values 
range from 1 (lowest quality, maximum compression) to 100 (highest quality, no 
compression). To specify that picture quality can vary as needed to avoid 
exceeding bandwidth, pass 0 for quality.");
+               cfgDao.add(CONFIG_FLASH_MIC_RATE, "22", null, "The rate at 
which the microphone should capture sound, in kHz. Acceptable values are 5, 8, 
11, 22, and 44. The default value is 22 kHz if your sound capture device 
supports this value.");
+               cfgDao.add(CONFIG_FLASH_ECHO_PATH, "128", null, "Specifies the 
echo path length (in milliseconds). A longer echo path means better echo 
cancellation but also introduces longer delays and requires more processing 
power. The default value is 128; the only other possible value is 256. To 
disable AEC please specify 0.");
                cfgDao.add(CONFIG_HEADER_XFRAME, HEADER_XFRAME_SAMEORIGIN, 
null, "Value for 'X-Frame-Options' header (default: DENY), more info: 
https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Frame-Options";);
                cfgDao.add(CONFIG_HEADER_CSP, HEADER_CSP_SELF, null, "Value for 
'Content-Security-Policy' header (default: default-src 'self'; style-src 'self' 
'unsafe-inline'; script-src 'self' 'unsafe-inline' 'unsafe-eval';), have to be 
modified to enable Google analytics site: 
https://content-security-policy.com/";);
                cfgDao.add(CONFIG_EXT_PROCESS_TTL, "" + EXT_PROCESS_TTL, null, 
String.format("Time to live in minutes for external processes such as 
conversion via ffmpeg (default %s minutes)", EXT_PROCESS_TTL));

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/b4ed57b9/openmeetings-util/src/main/java/org/apache/openmeetings/util/OpenmeetingsVariables.java
----------------------------------------------------------------------
diff --git 
a/openmeetings-util/src/main/java/org/apache/openmeetings/util/OpenmeetingsVariables.java
 
b/openmeetings-util/src/main/java/org/apache/openmeetings/util/OpenmeetingsVariables.java
index 10dda21..8120902 100644
--- 
a/openmeetings-util/src/main/java/org/apache/openmeetings/util/OpenmeetingsVariables.java
+++ 
b/openmeetings-util/src/main/java/org/apache/openmeetings/util/OpenmeetingsVariables.java
@@ -55,6 +55,10 @@ public class OpenmeetingsVariables {
        public static final String CONFIG_FLASH_SECURE_PROXY = 
"flash.secure.proxy";
        public static final String CONFIG_FLASH_VIDEO_CODEC = 
"flash.video.codec";
        public static final String CONFIG_FLASH_VIDEO_FPS = "flash.video.fps";
+       public static final String CONFIG_FLASH_VIDEO_BANDWIDTH = 
"flash.video.bandwidth";
+       public static final String CONFIG_FLASH_CAM_QUALITY = 
"flash.cam.quality";
+       public static final String CONFIG_FLASH_MIC_RATE = "flash.mic.rate";
+       public static final String CONFIG_FLASH_ECHO_PATH = "flash.echoPath";
        public static final String CONFIG_HEADER_XFRAME = 
"header.x.frame.options";
        public static final String CONFIG_EXT_PROCESS_TTL = 
"external.process.ttl";
        public static final String HEADER_XFRAME_SAMEORIGIN = "SAMEORIGIN";

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/b4ed57b9/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 dcf22b3..c34b54e 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
@@ -417,7 +417,7 @@ public class RoomPanel extends BasePanel {
                                                }
                                                boolean self = 
getClient().getUid().equals(uid);
                                                String broadcastId = 
obj.getString("streamName");
-                                               Long streamId = 
obj.getLong("streamId");
+                                               String streamId = 
obj.getString("streamId");
                                                if (!self) {
                                                        JSONObject jo = 
RoomHelper.videoJson(c, self, getClient().getSid(), 
getBean(ISessionManager.class), uid);
                                                        
handler.appendJavaScript(String.format("VideoManager.play(%s);", jo));

Reply via email to