Commit 8a0af61c authored by daryl herzmann's avatar daryl herzmann

Merge pull request #148 from igniterealtime/ofmeet-version-0.0.6

ofmeet plugin 0.0.6
parents 3ba467df 300b0afd
...@@ -49,6 +49,15 @@ ...@@ -49,6 +49,15 @@
Openfire Meetings Plugin Changelog Openfire Meetings Plugin Changelog
</h1> </h1>
<p><b>0.0.6</b> -- Dec 29th, 2014</p>
<ul>
<li>Fixed fault with exception when clientcontrol plugin is missing</li>
<li>Fixed fault with focus when hostname is localhost</li>
<li>Removed install logic for chrome extension. Always requires a manual install</li>
<li>Fixed broken audio and video bandwidth configuration with server-side focus change.</li>
</ul>
<p><b>0.0.5</b> -- Dec 15th, 2014</p> <p><b>0.0.5</b> -- Dec 15th, 2014</p>
<ul> <ul>
......
...@@ -5,8 +5,8 @@ ...@@ -5,8 +5,8 @@
<name>Openfire Meetings</name> <name>Openfire Meetings</name>
<description>Provides high quality, scalable video conferences using Jitsi Meet and Jitsi Videobridge</description> <description>Provides high quality, scalable video conferences using Jitsi Meet and Jitsi Videobridge</description>
<author>Ignite Realtime</author> <author>Ignite Realtime</author>
<version>0.0.5</version> <version>0.0.6</version>
<date>12/16/2014</date> <date>12/29/2014</date>
<minServerVersion>3.9.9</minServerVersion> <minServerVersion>3.9.9</minServerVersion>
<adminconsole> <adminconsole>
......
...@@ -50,7 +50,7 @@ ...@@ -50,7 +50,7 @@
<script src="smileys.js?v=3"></script><!-- smiley images --> <script src="smileys.js?v=3"></script><!-- smiley images -->
<script src="replacement.js?v=7"></script><!-- link and smiley replacement --> <script src="replacement.js?v=7"></script><!-- link and smiley replacement -->
<script src="moderatemuc.js?v=4"></script><!-- moderator plugin --> <script src="moderatemuc.js?v=4"></script><!-- moderator plugin -->
<script src="analytics.js?v=1"></script><!-- google analytics plugin --> <!--script src="analytics.js?v=1"></script--><!-- google analytics plugin -->
<script src="rtp_sts.js?v=5"></script><!-- RTP stats processing --> <script src="rtp_sts.js?v=5"></script><!-- RTP stats processing -->
<script src="local_sts.js?v=2"></script><!-- Local stats processing --> <script src="local_sts.js?v=2"></script><!-- Local stats processing -->
<script src="videolayout.js?v=31"></script><!-- video ui --> <script src="videolayout.js?v=31"></script><!-- video ui -->
......
...@@ -48,7 +48,7 @@ public class JicofoPlugin ...@@ -48,7 +48,7 @@ public class JicofoPlugin
this.pluginDirectory = pluginDirectory; this.pluginDirectory = pluginDirectory;
String hostName = XMPPServer.getInstance().getServerInfo().getHostname(); String hostName = JiveGlobals.getProperty("org.jitsi.videobridge.nat.harvester.public.address", XMPPServer.getInstance().getServerInfo().getHostname());
String domain = XMPPServer.getInstance().getServerInfo().getXMPPDomain(); String domain = XMPPServer.getInstance().getServerInfo().getXMPPDomain();
String focusUserJid = JiveGlobals.getProperty("org.jitsi.videobridge.ofmeet.focus.user.jid", "focus@"+domain); String focusUserJid = JiveGlobals.getProperty("org.jitsi.videobridge.ofmeet.focus.user.jid", "focus@"+domain);
String focusUserPassword = JiveGlobals.getProperty("org.jitsi.videobridge.ofmeet.focus.user.password", "focus"); String focusUserPassword = JiveGlobals.getProperty("org.jitsi.videobridge.ofmeet.focus.user.password", "focus");
......
...@@ -69,19 +69,30 @@ public class Config extends HttpServlet ...@@ -69,19 +69,30 @@ public class Config extends HttpServlet
} }
String conferences = "["; String conferences = "[";
final Collection<Bookmark> bookmarks = BookmarkManager.getBookmarks();
for (Bookmark bookmark : bookmarks) boolean clientControl = XMPPServer.getInstance().getPluginManager().getPlugin("clientControl") != null || XMPPServer.getInstance().getPluginManager().getPlugin("clientcontrol") != null;
if (clientControl)
{ {
boolean addBookmarkForUser = bookmark.isGlobalBookmark() || isBookmarkForJID(userName, bookmark); try {
final Collection<Bookmark> bookmarks = BookmarkManager.getBookmarks();
if (addBookmarkForUser) for (Bookmark bookmark : bookmarks)
{
if (bookmark.getType() == Bookmark.Type.group_chat)
{ {
conferences = conferences + (conferences.equals("[") ? "" : ","); boolean addBookmarkForUser = bookmark.isGlobalBookmark() || isBookmarkForJID(userName, bookmark);
conferences = conferences + "{name: '" + bookmark.getName() + "', jid: '" + bookmark.getValue() + "'}";
if (addBookmarkForUser)
{
if (bookmark.getType() == Bookmark.Type.group_chat)
{
conferences = conferences + (conferences.equals("[") ? "" : ",");
conferences = conferences + "{name: '" + bookmark.getName() + "', jid: '" + bookmark.getValue() + "'}";
}
}
} }
} catch (Exception e) {
} }
} }
......
...@@ -136,7 +136,7 @@ JingleSession.prototype.accept = function () { ...@@ -136,7 +136,7 @@ JingleSession.prototype.accept = function () {
// FIXME: change any inactive to sendrecv or whatever they were originally // FIXME: change any inactive to sendrecv or whatever they were originally
sdp = sdp.replace('a=inactive', 'a=sendrecv'); sdp = sdp.replace('a=inactive', 'a=sendrecv');
} }
this.peerconnection.setLocalDescription(new RTCSessionDescription({type: 'answer', sdp: sdp}), this.peerconnection.setLocalDescription(new RTCSessionDescription({type: 'answer', sdp: this.setBandwidth(sdp)}), // BAO
function () { function () {
//console.log('setLocalDescription success'); //console.log('setLocalDescription success');
$(document).trigger('setLocalDescription.jingle', [self.sid]); $(document).trigger('setLocalDescription.jingle', [self.sid]);
...@@ -385,7 +385,8 @@ JingleSession.prototype.createdOffer = function (sdp) { ...@@ -385,7 +385,8 @@ JingleSession.prototype.createdOffer = function (sdp) {
}, },
10000); 10000);
} }
sdp.sdp = this.localSDP.raw; sdp.sdp = this.setBandwidth(this.localSDP.raw); // BAO
this.peerconnection.setLocalDescription(sdp, this.peerconnection.setLocalDescription(sdp,
function () { function () {
if(this.usetrickle) if(this.usetrickle)
...@@ -625,7 +626,7 @@ JingleSession.prototype.createdAnswer = function (sdp, provisional) { ...@@ -625,7 +626,7 @@ JingleSession.prototype.createdAnswer = function (sdp, provisional) {
}, },
10000); 10000);
} }
sdp.sdp = this.localSDP.raw; sdp.sdp = this.setBandwidth(this.localSDP.raw); //BAO
this.peerconnection.setLocalDescription(sdp, this.peerconnection.setLocalDescription(sdp,
function () { function () {
...@@ -763,3 +764,19 @@ JingleSession.prototype.getStats = function (interval) { ...@@ -763,3 +764,19 @@ JingleSession.prototype.getStats = function (interval) {
}, interval || 3000); }, interval || 3000);
return this.statsinterval; return this.statsinterval;
}; };
// BAO
JingleSession.prototype.setBandwidth = function (sdp)
{
// remove existing bandwidth lines
sdp = sdp.replace( /b=AS([^\r\n]+\r\n)/g , '');
// audio bandwidth
sdp = sdp.replace( /a=mid:audio\r\n/g , 'a=mid:audio\r\nb=AS:' + config.audioBandwidth + '\r\n');
// video bandwidth
sdp = sdp.replace( /a=mid:video\r\n/g , 'a=mid:video\r\nb=AS:' + config.videoBandwidth + '\r\n');
return sdp;
}
...@@ -151,21 +151,8 @@ function obtainScreenFromExtension(streamCallback, failCallback) { ...@@ -151,21 +151,8 @@ function obtainScreenFromExtension(streamCallback, failCallback) {
if (isInstalled) { if (isInstalled) {
doGetStreamFromExtension(streamCallback, failCallback); doGetStreamFromExtension(streamCallback, failCallback);
} else { } else {
chrome.webstore.install( window.open(getWebStoreInstallUrl(), "_blank");
getWebStoreInstallUrl(), messageHandler.showError('Error', 'Install manually and reload webpage');
function (arg) {
console.log("Extension installed successfully", arg);
// We need to reload the page in order to get the access to chrome.runtime
window.location.reload(false);
},
function (arg) {
console.log("Failed to auto install the extension", arg);
failCallback(arg);
window.open(getWebStoreInstallUrl(), "_blank");
messageHandler.showError('Error',
'Install manually and reload webpage');
}
);
} }
} }
); );
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment