" +
"
Play " +
"
Stop " +
@@ -1198,21 +1205,25 @@
jq.html(html);
- if (confMan.params.hasVid) {
- var vlayout_id = "confman_vid_layout_" + confMan.serno;
- var vlselect_id = "confman_vl_select_" + confMan.serno;
-
- var vlhtml = "
" +
- "Video Layout " +
- "
";
- jq.append(vlhtml);
+ $.verto.modfuncs.change_video_layout = function(id, canvas_id) {
+ var val = $("#" + id + " option:selected").text();
+ if (val !== "none") {
+ confMan.modCommand("vid-layout", null, [val, canvas_id]);
+ }
+ };
- $("#" + vlselect_id).change(function() {
- var val = $("#" + vlselect_id).find(":selected").val();
- if (val !== "none") {
- confMan.modCommand("vid-layout", null, val);
- }
- });
+ if (confMan.params.hasVid) {
+ for (var j = 0; j < confMan.canvasCount; j++) {
+ var vlayout_id = "confman_vid_layout_" + j + "_" + confMan.serno;
+ var vlselect_id = "confman_vl_select_" + j + "_" + confMan.serno;
+
+
+ var vlhtml = "
" +
+ "Video Layout Canvas " + (j+1) +
+ " " +
+ "
";
+ jq.append(vlhtml);
+ }
$("#" + snapshot_id).click(function() {
var file = prompt("Please enter file name", "");
@@ -1249,6 +1260,18 @@
function genControls(jq, rowid) {
var x = parseInt(rowid);
var kick_id = "kick_" + x;
+ var canvas_in_next_id = "canvas_in_next_" + x;
+ var canvas_in_prev_id = "canvas_in_prev_" + x;
+ var canvas_out_next_id = "canvas_out_next_" + x;
+ var canvas_out_prev_id = "canvas_out_prev_" + x;
+
+ var canvas_in_set_id = "canvas_in_set_" + x;
+ var canvas_out_set_id = "canvas_out_set_" + x;
+
+ var layer_set_id = "layer_set_" + x;
+ var layer_next_id = "layer_next_" + x;
+ var layer_prev_id = "layer_prev_" + x;
+
var tmute_id = "tmute_" + x;
var tvmute_id = "tvmute_" + x;
var vbanner_id = "vbanner_" + x;
@@ -1260,21 +1283,52 @@
var transfer_id = "transfer" + x;
- var html = "
" +
- "
Kick " +
+ var html = "
";
+
+ html += "General Controls
";
+
+ html += "Kick " +
"Mute " +
- (confMan.params.hasVid ? "VMute " : "") +
- (confMan.params.hasVid ? "Presenter " : "") +
- (confMan.params.hasVid ? "Vid Floor " : "") +
- (confMan.params.hasVid ? "Banner " : "") +
"Vol - " +
"Vol + " +
- "Transfer " +
- ""
- ;
+ "
Transfer ";
+
+ if (confMan.params.hasVid) {
+ html += "
Video Controls ";
+
+
+ html += "
VMute " +
+ "
Presenter " +
+ "
Vid Floor " +
+ "
Banner ";
+
+ if (confMan.canvasCount > 1) {
+ html += "
Canvas Controls " +
+ "
Set Input Canvas " +
+ "
Prev Input Canvas " +
+ "
Next Input Canvas " +
+
+ "
" +
+
+ "
Set Watching Canvas " +
+ "
Prev Watching Canvas " +
+ "
Next Watching Canvas ";
+ }
+
+ html += "
" +
+
+ "
Set Layer " +
+ "
Prev Layer " +
+ "
Next Layer " +
+
+
+
+ "
";
+ }
jq.html(html);
+
if (!jq.data("mouse")) {
$("#" + box_id).hide();
}
@@ -1300,6 +1354,50 @@
confMan.modCommand("kick", x);
});
+
+ $("#" + layer_set_id).click(function() {
+ var cid = prompt("Please enter layer ID", "");
+ if (cid) {
+ confMan.modCommand("vid-layer", x, cid);
+ }
+ });
+
+ $("#" + layer_next_id).click(function() {
+ confMan.modCommand("vid-layer", x, "next");
+ });
+ $("#" + layer_prev_id).click(function() {
+ confMan.modCommand("vid-layer", x, "prev");
+ });
+
+ $("#" + canvas_in_set_id).click(function() {
+ var cid = prompt("Please enter canvas ID", "");
+ if (cid) {
+ confMan.modCommand("vid-canvas", x, cid);
+ }
+ });
+
+ $("#" + canvas_out_set_id).click(function() {
+ var cid = prompt("Please enter canvas ID", "");
+ if (cid) {
+ confMan.modCommand("vid-watching-canvas", x, cid);
+ }
+ });
+
+ $("#" + canvas_in_next_id).click(function() {
+ confMan.modCommand("vid-canvas", x, "next");
+ });
+ $("#" + canvas_in_prev_id).click(function() {
+ confMan.modCommand("vid-canvas", x, "prev");
+ });
+
+
+ $("#" + canvas_out_next_id).click(function() {
+ confMan.modCommand("vid-watching-canvas", x, "next");
+ });
+ $("#" + canvas_out_prev_id).click(function() {
+ confMan.modCommand("vid-watching-canvas", x, "prev");
+ });
+
$("#" + tmute_id).click(function() {
confMan.modCommand("tmute", x);
});
@@ -1340,7 +1438,7 @@
if (confMan.params.laData.role === "moderator") {
atitle = "Action";
- awidth = 300;
+ awidth = 600;
if (confMan.params.mainModID) {
genMainMod($(confMan.params.mainModID));
@@ -1357,30 +1455,33 @@
}
if (e.data["conf-command"] === "list-videoLayouts") {
- var vlselect_id = "#confman_vl_select_" + confMan.serno;
- var vlayout_id = "#confman_vid_layout_" + confMan.serno;
- var x = 0;
- var options;
-
- $(vlselect_id).selectmenu({});
- $(vlselect_id).selectmenu("enable");
- $(vlselect_id).empty();
-
- $(vlselect_id).append(new Option("Choose a Layout", "none"));
+ for (var j = 0; j < confMan.canvasCount; j++) {
+ var vlselect_id = "#confman_vl_select_" + j + "_" + confMan.serno;
+ var vlayout_id = "#confman_vid_layout_" + j + "_" + confMan.serno;
+
+ var x = 0;
+ var options;
+
+ $(vlselect_id).selectmenu({});
+ $(vlselect_id).selectmenu("enable");
+ $(vlselect_id).empty();
+
+ $(vlselect_id).append(new Option("Choose a Layout", "none"));
- if (e.data.responseData) {
- options = e.data.responseData.sort();
+ if (e.data.responseData) {
+ options = e.data.responseData.sort();
- for (var i in options) {
- $(vlselect_id).append(new Option(options[i], options[i]));
- x++;
+ for (var i in options) {
+ $(vlselect_id).append(new Option(options[i], options[i]));
+ x++;
+ }
}
- }
- if (x) {
- $(vlselect_id).selectmenu('refresh', true);
- } else {
- $(vlayout_id).hide();
+ if (x) {
+ $(vlselect_id).selectmenu('refresh', true);
+ } else {
+ $(vlayout_id).hide();
+ }
}
} else {
@@ -1432,16 +1533,20 @@
"aaData": [],
"aoColumns": [
{
- "sTitle": "ID"
+ "sTitle": "ID",
+ "sWidth": "50"
},
{
- "sTitle": "Number"
+ "sTitle": "Number",
+ "sWidth": "250"
},
{
- "sTitle": "Name"
+ "sTitle": "Name",
+ "sWidth": "250"
},
{
- "sTitle": "Codec"
+ "sTitle": "Codec",
+ "sWidth": "100"
},
{
"sTitle": "Status",
@@ -1459,7 +1564,7 @@
"bFilter": false,
"bLengthChange": false,
"bPaginate": false,
- "iDisplayLength": 1000,
+ "iDisplayLength": 1400,
"oLanguage": {
"sEmptyTable": "The Conference is Empty....."
@@ -1519,6 +1624,9 @@
videoParams: verto.options.videoParams
}, params);
+ dialog.useCamera = verto.options.deviceParams.useCamera;
+ dialog.useMic = verto.options.deviceParams.useMic;
+
dialog.verto = verto;
dialog.direction = direction;
dialog.lastState = null;
@@ -1957,12 +2065,17 @@
params.sdp = dialog.params.sdp;
+ dialog.useCamera = verto.options.deviceParams.useCamera;
+ dialog.useMic = verto.options.deviceParams.useMic;
+
if (params) {
if (params.useVideo) {
dialog.useVideo(true);
}
dialog.params.callee_id_name = params.callee_id_name;
dialog.params.callee_id_number = params.callee_id_number;
+ dialog.useCamera = params.useCamera;
+ dialog.useMic = params.useMic;
}
dialog.rtc.createAnswer(params);
@@ -2130,8 +2243,14 @@
$.verto.enum = Object.freeze($.verto.enum);
$.verto.saved = [];
+
+ $.verto.unloadJobs = [];
$(window).bind('beforeunload', function() {
+ for (var f in $.verto.unloadJobs) {
+ $.verto.unloadJobs[f]();
+ }
+
for (var i in $.verto.saved) {
var verto = $.verto.saved[i];
if (verto) {
@@ -2139,6 +2258,7 @@
verto.logout();
}
}
+
return $.verto.warnOnUnload;
});
@@ -2216,4 +2336,9 @@
});
}
+ $.verto.genUUID = function () {
+ return generateGUID();
+ }
+
+
})(jQuery);
diff --git a/html5/verto/video_demo/images/search.gif b/html5/verto/video_demo/images/search.gif
new file mode 100644
index 0000000000..7bce165967
Binary files /dev/null and b/html5/verto/video_demo/images/search.gif differ
diff --git a/html5/verto/video_demo/index.html b/html5/verto/video_demo/index.html
index 6725e38ad1..548d269e49 100644
--- a/html5/verto/video_demo/index.html
+++ b/html5/verto/video_demo/index.html
@@ -2,6 +2,14 @@
+
+
+
+
+
+
+
+
@@ -16,9 +24,11 @@
}
.ctlbtn {
- border: 0px;
- color: #eeeeee;
- background-color: #0000ae;
+ border: 2px;
+ border-style:outset;
+ color: #ffffff;
+ min-width: 125px;
+ background-color: #666666;
font-face: arial;
height:18px;
font-size:7pt;
@@ -73,6 +83,7 @@
max-height:40px;
}
+div#preload { display: none; }
@@ -86,6 +97,17 @@
+