nixamp 0.32.0 → 0.34.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (74) hide show
  1. package/dist/channels.d.ts +11 -2
  2. package/dist/channels.js +26 -4
  3. package/dist/handoff-routes.d.ts +17 -0
  4. package/dist/handoff-routes.js +64 -0
  5. package/dist/handoff.d.ts +89 -0
  6. package/dist/handoff.js +358 -0
  7. package/dist/library-index.d.ts +9 -0
  8. package/dist/library-index.js +19 -0
  9. package/dist/oauth-server.d.ts +1 -0
  10. package/dist/oauth-server.js +1 -0
  11. package/dist/owner.js +4 -1
  12. package/dist/server.d.ts +3 -0
  13. package/dist/server.js +53 -4
  14. package/dist/station-page.d.ts +1 -1
  15. package/dist/station-page.js +25 -4
  16. package/dist/station-routes.js +54 -1
  17. package/package.json +1 -1
  18. package/src/channels.ts +23 -4
  19. package/src/handoff-routes.ts +73 -0
  20. package/src/handoff.ts +383 -0
  21. package/src/library-index.ts +21 -0
  22. package/src/oauth-server.ts +1 -0
  23. package/src/owner.ts +5 -2
  24. package/src/server.ts +55 -4
  25. package/src/station-page.ts +25 -4
  26. package/src/station-routes.ts +53 -1
  27. package/web/dist/assets/ar-DoW0wbjC.js +1 -0
  28. package/web/dist/assets/cs-CjKqCjy5.js +1 -0
  29. package/web/dist/assets/da-BQERb7Qz.js +1 -0
  30. package/web/dist/assets/de-CKKbRy6c.js +1 -0
  31. package/web/dist/assets/es-CL3v5Og9.js +1 -0
  32. package/web/dist/assets/fi-DgV81qNU.js +1 -0
  33. package/web/dist/assets/fr-BGumytzF.js +1 -0
  34. package/web/dist/assets/hi-CAQ9elqo.js +1 -0
  35. package/web/dist/assets/hls-3VKVEQE3-Ceri0flt.js +1 -0
  36. package/web/dist/assets/hu-UJNgJVWX.js +1 -0
  37. package/web/dist/assets/id-BqQOlrF-.js +1 -0
  38. package/web/dist/assets/it-Cs8G6mvW.js +1 -0
  39. package/web/dist/assets/{index-D-PZ4nGC.js → main-Y1Rvn1GX.js} +2 -2
  40. package/web/dist/assets/mpegts-LO6RVLD6-CPI8xaZ-.js +1 -0
  41. package/web/dist/assets/{mpegts-CabjhxTI.js → mpegts-jS_Diizz.js} +1 -1
  42. package/web/dist/assets/nl-BJXQ9nqo.js +1 -0
  43. package/web/dist/assets/radio-B58WgC1j.js +1 -0
  44. package/web/dist/assets/radio-CC8ihiO_.css +1 -0
  45. package/web/dist/assets/ru-XmVkvNY8.js +1 -0
  46. package/web/dist/assets/styles-D70tSrIe.js +1 -0
  47. package/web/dist/assets/styles-qC62Gona.css +1 -0
  48. package/web/dist/assets/sv-pVm9p66e.js +1 -0
  49. package/web/dist/assets/uk-4hcyaD3e.js +1 -0
  50. package/web/dist/assets/vi-B7MipBlv.js +1 -0
  51. package/web/dist/assets/zh-B5YVExOW.js +1 -0
  52. package/web/dist/index.html +4 -2
  53. package/web/dist/radio.html +134 -0
  54. package/web/dist/sw.js +26 -23
  55. package/web/dist/assets/ar-C_4gIadE.js +0 -1
  56. package/web/dist/assets/cs-B18R5adY.js +0 -1
  57. package/web/dist/assets/da-B6w5URQ2.js +0 -1
  58. package/web/dist/assets/de-Dlhr9ikG.js +0 -1
  59. package/web/dist/assets/es-BIpArFOC.js +0 -1
  60. package/web/dist/assets/fi-o9W4XS3X.js +0 -1
  61. package/web/dist/assets/fr-BgVwhPsP.js +0 -1
  62. package/web/dist/assets/hi-zIXqrXNC.js +0 -1
  63. package/web/dist/assets/hls-3VKVEQE3-5pAjDDLr.js +0 -1
  64. package/web/dist/assets/hu-Dpn_DIRi.js +0 -1
  65. package/web/dist/assets/id-Cu1V6gAm.js +0 -1
  66. package/web/dist/assets/index-Bo3utcDw.css +0 -1
  67. package/web/dist/assets/it-BNcoJEYQ.js +0 -1
  68. package/web/dist/assets/mpegts-LO6RVLD6-CRSxiR1J.js +0 -1
  69. package/web/dist/assets/nl-gvivlDEE.js +0 -1
  70. package/web/dist/assets/ru-BxQnVrHu.js +0 -1
  71. package/web/dist/assets/sv-BP1JhAR8.js +0 -1
  72. package/web/dist/assets/uk-ChYhgzlf.js +0 -1
  73. package/web/dist/assets/vi-CD7vzLwP.js +0 -1
  74. package/web/dist/assets/zh-BmGS-RcE.js +0 -1
@@ -0,0 +1 @@
1
+ import{t as e}from"./main-Y1Rvn1GX.js";var t=Object.create,n=Object.defineProperty,r=Object.getOwnPropertyDescriptor,i=Object.getOwnPropertyNames,a=Object.getPrototypeOf,o=Object.prototype.hasOwnProperty,s=(e,t)=>()=>(t||(e((t={exports:{}}).exports,t),e=null),t.exports),c=(e,t,a,s)=>{if(t&&typeof t==`object`||typeof t==`function`)for(var c=i(t),l=0,u=c.length,d;l<u;l++)d=c[l],!o.call(e,d)&&d!==a&&n(e,d,{get:(e=>t[e]).bind(null,d),enumerable:!(s=r(t,d))||s.enumerable});return e},l=(e,r,i)=>(i=e==null?{}:t(a(e)),c(r||!e||!e.__esModule||!o.call(e,`default`)?n(i,`default`,{value:e,enumerable:!0}):i,e)),u=[[/^(hvc1|hev1)/i,`H.265`],[/^av01/i,`AV1`],[/^(vp09|vp9)/i,`VP9`],[/^(ec-3|ec3)/i,`Dolby Digital Plus audio`],[/^(ac-3|ac3)/i,`Dolby Digital audio`],[/^dts/i,`DTS audio`],[/^(mp4a\.69|mp4a\.6b)/i,`MP2 audio`],[/^mp3$/i,`MP3 audio`],[/^mp4a\.40\./i,`AAC audio`]];function d(e){if(!e)return null;for(let[t,n]of u)if(t.test(e))return n;return e}function f(e,t){if(!t||!e)return[];if(e===`audio`){if(/^mp4a\.40\./i.test(t))return[`audio/mp4; codecs="mp4a.40.2"`];if(/^mp3$/i.test(t))return[`audio/mpeg`,`audio/mp4; codecs="mp3"`];if(/^opus$/i.test(t))return[`audio/mp4; codecs="opus"`,`audio/mp4; codecs="Opus"`]}return[`${e}/mp4; codecs="${t}"`]}function p(e,t,n=``,r=`stream`){if(!e||typeof t!=`function`)return null;let i=[[`video`,e.videoCodec],[`audio`,e.audioCodec]],a=[];for(let[e,n]of i)if(n&&!f(e,n).some(e=>{try{return t(e)}catch{return!1}})){let e=d(n);e&&a.push(e)}if(a.length===0)return null;let o=a.length===1?a[0]:`${String(a[0])} and ${String(a[1])}`;return`This ${r} is ${String(o)}, which this browser cannot decode.${n?` ${n}`:``}`}var m=2e3,h=5e3,g=3;function _(e,t={}){return{enableWorker:t.enableWorker??!1,enableStashBuffer:!0,stashInitialSize:393216,liveBufferLatencyChasing:!1,liveBufferLatencyMaxLatency:5,liveBufferLatencyMinRemain:1,autoCleanupSourceBuffer:!0,autoCleanupMaxBackwardDuration:30,autoCleanupMinBackwardDuration:10,lazyLoad:!1,lazyLoadMaxDuration:60,lazyLoadRecoverDuration:30,seekType:`range`}}async function v(t,n={}){let{media:r,src:i,isTv:a}=t,o=await e(()=>import(`./mpegts-jS_Diizz.js`).then(e=>l(e.default,1)),[]),s=o.default??o;if(!s.getFeatureList().mseLivePlayback)return t.onError(`This browser cannot play transport streams.`),{destroy:()=>void 0,levels:()=>[]};let c=_(a,n),u=null,d=!1,f=0,v=null,y=null,b=-1,x=0,S=()=>{v&&clearTimeout(v),y&&clearInterval(y),v=null,y=null},C=()=>{if(!u)return;let e=u;u=null;try{e.destroy()}catch{}},w=e=>{d||(d=!0,S(),C(),t.onError(e))},T=e=>{if(!d){if(f>=5){w(e);return}f+=1,S(),C(),t.onNotice(`Reconnecting\u2026 (${String(f)}/5)`),v=setTimeout(()=>{v=null,d||D()},m*2**(f-1))}},E=()=>{y&&clearInterval(y),b=r.currentTime,x=0,y=setInterval(()=>{if(!d&&u){if(r.paused||r.ended||r.seeking){x=0,b=r.currentTime;return}if(r.currentTime===b){x+=1,x>=g&&(x=0,T(`The stream stopped sending.`));return}b=r.currentTime,x=0}},h)};function D(){u=s.createPlayer({type:`mpegts`,isLive:t.live,url:i,withCredentials:n.withCredentials??!1},c),u.on(s.Events.MEDIA_INFO??`media_info`,(...e)=>{let t=e[0],r=p(t,e=>globalThis.MediaSource?.isTypeSupported?.(e)??!1,n.unplayableAdvice??``);r&&w(r)}),u.on(s.Events.ERROR??`error`,(...e)=>{let t=String(e[1]??``);T(`This stream could not be played (${t}).`)}),u.attachMediaElement(r),u.load(),E(),t.onReady?.({live:t.live,levels:[]})}let O=()=>{f=0,t.onNotice(null)};return r.addEventListener(`playing`,O),D(),{destroy(){d=!0,S(),r.removeEventListener(`playing`,O),C()},levels:()=>[]}}export{v as createMpegtsEngine,s as t};