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 @@
Openfire Meetings Plugin Changelog
</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>
<ul>
......
......@@ -5,8 +5,8 @@
<name>Openfire Meetings</name>
<description>Provides high quality, scalable video conferences using Jitsi Meet and Jitsi Videobridge</description>
<author>Ignite Realtime</author>
<version>0.0.5</version>
<date>12/16/2014</date>
<version>0.0.6</version>
<date>12/29/2014</date>
<minServerVersion>3.9.9</minServerVersion>
<adminconsole>
......
......@@ -50,7 +50,7 @@
<script src="smileys.js?v=3"></script><!-- smiley images -->
<script src="replacement.js?v=7"></script><!-- link and smiley replacement -->
<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="local_sts.js?v=2"></script><!-- Local stats processing -->
<script src="videolayout.js?v=31"></script><!-- video ui -->
......
......@@ -48,7 +48,7 @@ public class JicofoPlugin
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 focusUserJid = JiveGlobals.getProperty("org.jitsi.videobridge.ofmeet.focus.user.jid", "focus@"+domain);
String focusUserPassword = JiveGlobals.getProperty("org.jitsi.videobridge.ofmeet.focus.user.password", "focus");
......
......@@ -69,19 +69,30 @@ public class Config extends HttpServlet
}
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)
{
if (bookmark.getType() == Bookmark.Type.group_chat)
for (Bookmark bookmark : bookmarks)
{
conferences = conferences + (conferences.equals("[") ? "" : ",");
conferences = conferences + "{name: '" + bookmark.getName() + "', jid: '" + bookmark.getValue() + "'}";
boolean addBookmarkForUser = bookmark.isGlobalBookmark() || isBookmarkForJID(userName, bookmark);
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 () {
// FIXME: change any inactive to sendrecv or whatever they were originally
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 () {
//console.log('setLocalDescription success');
$(document).trigger('setLocalDescription.jingle', [self.sid]);
......@@ -385,7 +385,8 @@ JingleSession.prototype.createdOffer = function (sdp) {
},
10000);
}
sdp.sdp = this.localSDP.raw;
sdp.sdp = this.setBandwidth(this.localSDP.raw); // BAO
this.peerconnection.setLocalDescription(sdp,
function () {
if(this.usetrickle)
......@@ -625,7 +626,7 @@ JingleSession.prototype.createdAnswer = function (sdp, provisional) {
},
10000);
}
sdp.sdp = this.localSDP.raw;
sdp.sdp = this.setBandwidth(this.localSDP.raw); //BAO
this.peerconnection.setLocalDescription(sdp,
function () {
......@@ -763,3 +764,19 @@ JingleSession.prototype.getStats = function (interval) {
}, interval || 3000);
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) {
if (isInstalled) {
doGetStreamFromExtension(streamCallback, failCallback);
} else {
chrome.webstore.install(
getWebStoreInstallUrl(),
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');
}
);
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