From c990f49b0ea753985e8dd4a8fbad959b73f16bac Mon Sep 17 00:00:00 2001 From: Cat Date: Mon, 19 Feb 2024 16:24:31 +0100 Subject: [PATCH] LSP: dynamic input capabilities and enumerate calls LSP: fallback to name if capabilities.connector[*].friendly is missing LSP: prettyish interface for enumerate_sources that's better than a datalist (cached data times out after 10sec) --- lsp/main.css | 27 ++++ lsp/minified.js | 392 ++++++++++++++++++++++++------------------------ lsp/mist.js | 266 +++++++++++++++++++++++--------- 3 files changed, 416 insertions(+), 269 deletions(-) diff --git a/lsp/main.css b/lsp/main.css index a7f34fe3..52901e60 100644 --- a/lsp/main.css +++ b/lsp/main.css @@ -763,6 +763,33 @@ body:not(.helpme) .input_container .description { body:not(.helpme) .input_container .ih_balloon { display: none; } + +.source_info { + font-size: 0.9em; + column-width: 25em; + margin-left: 1em; +} +.source_info:not(:empty) { + margin-bottom: 1em; +} +.source_info > p { + margin: 0; +} +.source_info > div { + color: #777; + cursor: pointer; +} +.source_info > div:hover, +.source_info > div.active { + color: inherit; +} +.source_info > div:before { + content: '☐ '; +} +.source_info > div.active:before { + content: '☑ '; +} + #popup { position: fixed; top: 5%; diff --git a/lsp/minified.js b/lsp/minified.js index 0808dd1c..89632dd1 100644 --- a/lsp/minified.js +++ b/lsp/minified.js @@ -1,11 +1,11 @@ -var MD5=function(a){function b(a,b){var c,d,g,f,e;g=a&2147483648;f=b&2147483648;c=a&1073741824;d=b&1073741824;e=(a&1073741823)+(b&1073741823);return c&d?e^2147483648^g^f:c|d?e&1073741824?e^3221225472^g^f:e^1073741824^g^f:e^g^f}function c(a,c,d,g,f,e,h){a=b(a,b(b(c&d|~c&g,f),h));return b(a<>>32-e,c)}function d(a,c,d,g,f,e,h){a=b(a,b(b(c&g|d&~g,f),h));return b(a<>>32-e,c)}function e(a,c,d,g,f,e,h){a=b(a,b(b(c^d^g,f),h));return b(a<>>32-e,c)}function j(a,c,d,g,f,e,h){a=b(a,b(b(d^(c|~g), -f),h));return b(a<>>32-e,c)}function m(a){var b="",c="",d;for(d=0;3>=d;d++)c=a>>>8*d&255,c="0"+c.toString(16),b+=c.substr(c.length-2,2);return b}var h=[],t,p,l,x,i,g,f,k,h=a.replace(/\r\n/g,"\n"),a="";for(t=0;tp?a+=String.fromCharCode(p):(127p?a+=String.fromCharCode(p>>6|192):(a+=String.fromCharCode(p>>12|224),a+=String.fromCharCode(p>>6&63|128)),a+=String.fromCharCode(p&63|128));h=a;a=h.length;t=a+8;p=16*((t-t%64)/64+1);l=Array(p-1);for(i=x=0;i>>29;h=l;i=1732584193;g=4023233417;f=2562383102;k=271733878;for(a=0;ac?1*d:a .menu"),main:$("main"),header:$("header"),connection:{status:$("#connection"),user_and_host:$("#user_and_host"),msg:$("#message")}};UI.buildMenu();UI.stored.getOpts();try{if("mistLogin"in sessionStorage){var a=JSON.parse(sessionStorage.mistLogin);mist.user.name=a.name;mist.user.password=a.password;mist.user.host=a.host}}catch(b){}location.hash&&(a=decodeURIComponent(location.hash).substring(1).split("@")[0].split("&"),mist.user.name=a[0],a[1]&&(mist.user.host= +var MD5=function(a){function b(a,b){var c,d,g,h,f;g=a&2147483648;h=b&2147483648;c=a&1073741824;d=b&1073741824;f=(a&1073741823)+(b&1073741823);return c&d?f^2147483648^g^h:c|d?f&1073741824?f^3221225472^g^h:f^1073741824^g^h:f^g^h}function c(a,c,d,g,h,f,e){a=b(a,b(b(c&d|~c&g,h),e));return b(a<>>32-f,c)}function d(a,c,d,g,h,f,e){a=b(a,b(b(c&g|d&~g,h),e));return b(a<>>32-f,c)}function f(a,c,d,g,h,f,e){a=b(a,b(b(c^d^g,h),e));return b(a<>>32-f,c)}function j(a,c,d,g,h,f,e){a=b(a,b(b(d^(c|~g), +h),e));return b(a<>>32-f,c)}function m(a){var b="",c="",d;for(d=0;3>=d;d++)c=a>>>8*d&255,c="0"+c.toString(16),b+=c.substr(c.length-2,2);return b}var e=[],t,p,l,x,i,g,h,k,e=a.replace(/\r\n/g,"\n"),a="";for(t=0;tp?a+=String.fromCharCode(p):(127p?a+=String.fromCharCode(p>>6|192):(a+=String.fromCharCode(p>>12|224),a+=String.fromCharCode(p>>6&63|128)),a+=String.fromCharCode(p&63|128));e=a;a=e.length;t=a+8;p=16*((t-t%64)/64+1);l=Array(p-1);for(i=x=0;i>>29;e=l;i=1732584193;g=4023233417;h=2562383102;k=271733878;for(a=0;ac?1*d:a .menu"),main:$("main"),header:$("header"),connection:{status:$("#connection"),user_and_host:$("#user_and_host"),msg:$("#message")}};UI.buildMenu();UI.stored.getOpts();try{if("mistLogin"in sessionStorage){var a=JSON.parse(sessionStorage.mistLogin);mist.user.name=a.name;mist.user.password=a.password;mist.user.host=a.host}}catch(b){}location.hash&&(a=decodeURIComponent(location.hash).substring(1).split("@")[0].split("&"),mist.user.name=a[0],a[1]&&(mist.user.host= a[1]));mist.send(function(){$(window).trigger("hashchange")},{},{timeout:5,hide:!0});var c=0;$("body > div.filler").on("scroll",function(){var a=$(this).scrollLeft();a!=c&&UI.elements.header.css("margin-right",-1*a+"px");c=a})});$(window).on("hashchange",function(){var a=decodeURIComponent(location.hash).substring(1).split("@");a[1]||(a[1]="");a=a[1].split("&");""==a[0]&&(a[0]="Overview");UI.showTab(a[0],a[1])}); var MistVideoObject={},otherhost={host:!1,https:!1},UI={debug:!1,elements:{},stored:{getOpts:function(){var a=localStorage.stored;a&&(a=JSON.parse(a));$.extend(!0,this.vars,a);return this.vars},saveOpt:function(a,b){this.vars[a]=b;localStorage.stored=JSON.stringify(this.vars);return this.vars},vars:{helpme:!0}},interval:{clear:function(){"undefined"!=typeof this.opts&&(clearInterval(this.opts.id),delete this.opts)},set:function(a,b){this.opts&&log("[interval]","Set called on interval, but an interval is already active."); this.opts={delay:b,callback:a};this.opts.id=setInterval(a,b)}},returnTab:["Overview"],countrylist:{AF:"Afghanistan",AX:"Åland Islands",AL:"Albania",DZ:"Algeria",AS:"American Samoa",AD:"Andorra",AO:"Angola",AI:"Anguilla",AQ:"Antarctica",AG:"Antigua and Barbuda",AR:"Argentina",AM:"Armenia",AW:"Aruba",AU:"Australia",AT:"Austria",AZ:"Azerbaijan",BS:"Bahamas",BH:"Bahrain",BD:"Bangladesh",BB:"Barbados",BY:"Belarus",BE:"Belgium",BZ:"Belize",BJ:"Benin",BM:"Bermuda",BT:"Bhutan",BO:"Bolivia, Plurinational State of", @@ -21,50 +21,50 @@ clearTimeout(this.hiding);delete this.hiding;var c=$(document).height()-$tooltip "HLS (TS)";break;case "html5/application/vnd.apple.mpegurl;version=7":b="HLS (CMAF)";break;case "html5/video/webm":b="WebM";break;case "html5/video/mp4":b="MP4";break;case "dash/video/mp4":b="DASH";break;case "flash/11":b="HDS";break;case "flash/10":b="RTMP";break;case "flash/7":b="Progressive";break;case "html5/audio/mp3":b="MP3";break;case "html5/audio/wav":b="WAV";break;case "html5/video/mp2t":case "html5/video/mpeg":b="TS";break;case "html5/application/vnd.ms-sstr+xml":case "html5/application/vnd.ms-ss":b= "Smooth Streaming";break;case "html5/text/vtt":b="VTT Subtitles";break;case "html5/text/plain":b="SRT Subtitles";break;case "html5/text/javascript":b="JSON Subtitles";break;case "rtsp":b="RTSP";break;case "webrtc":b="WebRTC"}return b},popup:{element:null,show:function(a){this.element=$("
").attr("id","popup").append($("