EVOLUTION-MANAGER
Edit File: settings.min.js
$.widget("openmeetings.iconselectmenu",$.ui.selectmenu,{_renderItem:function(k,e){k.addClass("settings-menu");var m=$("\x3cli\x3e"),l=$("\x3cdiv\x3e",{text:e.label});e.disabled&&m.addClass("ui-state-disabled");$("\x3cspan\x3e",{style:e.element.attr("data-style"),"class":"ui-icon "+(e.element.attr("data-class")||"ui-icon-blank")}).appendTo(l);return m.append(l).appendTo(k)}}); var VideoSettings=function(){function k(){b=Settings.load();if(!b.video){var a=$("#video-settings .cam-resolution option:selected").data();b.video={cam:0,mic:0,width:a.width,height:a.height}}return b}function e(a){var c=Settings.save(b);"function"===typeof avSettings&&avSettings(c);a&&"undefined"!==typeof VideoManager&&d.uid&&VideoManager.refresh(d.uid,b.video)}function m(a){null!==a&&"function"===typeof a.getAudioTracks&&(a.getAudioTracks().forEach(function(a){a.stop()}),a.getVideoTracks().forEach(function(a){a.stop()}))} function l(){q.prop("disabled",!r&&(-1<b.video.cam||-1<b.video.mic)).button("refresh")}function n(){b.video.cam=1*g.val();b.video.mic=1*h.val();var a=p.find("option:selected").data();b.video.width=a.width;b.video.height=a.height;$(f).attr("width",Math.max(300,b.video.width)).attr("height",Math.max(200,b.video.height));t.scrollLeft(Math.max(0,b.video.width/2-150)).scrollTop(Math.max(0,b.video.height/2-110));l()}function w(a){a.find("option").remove();a.append(OmUtil.tmpl("#settings-option-loading")); a.iconselectmenu("refresh")}function u(a){var c=0,e=0;k();g.find("option").remove();g.append(OmUtil.tmpl("#settings-option-disabled"));h.find("option").remove();h.append(OmUtil.tmpl("#settings-option-disabled"));a.forEach(function(a){"audioinput"===a.kind?(a=$("\x3coption\x3e\x3c/option\x3e").attr("value",e).text(a.label).data("device-id",a.deviceId),e===b.video.mic&&a.prop("selected",!0),h.append(a),e++):"videoinput"===a.kind&&(a=$("\x3coption\x3e\x3c/option\x3e").attr("value",c).text(a.label).data("device-id", a.deviceId),c===b.video.cam&&a.prop("selected",!0),g.append(a),c++)});g.iconselectmenu("refresh");h.iconselectmenu("refresh");p.find("option").each(function(){var a=$(this).data();if(a.width===b.video.width&&a.height===b.video.height)return $(this).prop("selected",!0),!1});p.iconselectmenu("refresh");n();f.init(b.video.cam,b.video.mic,d.interview?320:b.video.width,d.interview?260:b.video.height)}function z(){navigator.mediaDevices&&navigator.mediaDevices.enumerateDevices?navigator.mediaDevices.getUserMedia({video:!0, audio:!0}).then(function(a){return navigator.mediaDevices.enumerateDevices().then(function(b){m(a);return b}).catch(function(b){m(a);throw b;})}).then(function(a){u(a)}).catch(function(a){u(f.getDevices())}):u(f.getDevices())}function x(){z();n()}var c,v,f,b,g,h,p,d,t,q,y,r=!1;return{init:function(a){d=JSON.parse(JSON.stringify(a));d.infoMsg&&$("#jsInfo").kendoNotification({autoHideAfter:0,button:!0,hideOnClick:!1}).getKendoNotification().info(d.infoMsg);OmUtil.initErrs($("#jsNotifications").kendoNotification({autoHideAfter:2E4, button:!0,hideOnClick:!1,stacking:"up"}));c=$("#video-settings");v=c.find(".level-meter");g=c.find("select.cam").iconselectmenu({appendTo:".cam-row",change:function(a,c){n();f.camChanged(b.video.cam)}});h=c.find("select.mic").iconselectmenu({appendTo:".mic-row",change:function(a,c){n();f.micChanged(b.video.mic)}});p=c.find("select.cam-resolution").iconselectmenu({appendTo:".res-row",change:function(a,c){n();f.resChanged(b.video.width,b.video.height)}});t=c.find(".vid-block .video-conainer");q=c.find(".rec-start").click(function(){q.prop("disabled", !0).button("refresh");f.startRec()});y=c.find(".play").click(function(){f.play()});c.dialog({classes:{"ui-dialog":"ui-corner-all video"},width:640,autoOpen:!1,buttons:[{text:c.data("btn-save"),icons:{primary:"ui-icon-disk"},click:function(){e(!0);c.dialog("close")}},{text:c.data("btn-cancel"),click:function(){c.dialog("close")}}]});v.progressbar({value:0});d.width=300;d.height=200;d.mode="settings";d.rights=(d.rights||[]).join();delete d.keycode;f=initSwf(t,"main.swf","video-settings-swf",d)[0];c.find("input, button").prop("disabled", !0);c.find("button").button();a=c.find(".cam-resolution").parents(".sett-row");d.interview?a.hide():a.show();k();e()},initSwf:x,open:function(){w(g);w(h);r=!1;c.dialog("open");x()},allowRec:function(a){r=a;l()},allowPlay:function(){l();y.prop("disabled",!1).button("refresh")},micActivity:function(a){v.progressbar("value",Math.max(0,a))},close:function(){c.dialog("close")},load:k,save:e}}();