Files
haos_config/www/community/advanced-camera-card/live-provider-845afb16.js
2026-01-30 23:31:00 -06:00

2 lines
1.4 KiB
JavaScript

import{dx as e,eu as r,l as t,er as a,dw as o,dj as n}from"./card-b98d578d.js";const i=a.object({medias:a.array(a.string()).optional()}),s=a.object({producers:a.array(i).optional()}),c=async(a,o)=>{try{return await(async(a,o,n,i)=>{let s,c,d=o.endpoint;if(o.sign){try{d=await e(a,d)}catch(e){throw new r(t("error.failed_sign"),{endpoint:o,error:e})}if(!d)throw new r(t("error.failed_sign"),{endpoint:o})}try{s=await fetch(d,{...i?.timeoutSeconds&&{signal:AbortSignal.timeout(1e3*i.timeoutSeconds)}})}catch(e){throw new r(`${t("error.failed_fetch")}: ${d}`,{endpoint:o,error:e})}if(!s.ok)throw new r(t("error.failed_response"),{endpoint:o,response:s});try{c=await s.json()}catch(e){throw new r(t("error.invalid_response"),{endpoint:o,response:s,error:e})}const l=n.safeParse(c);if(!l.success)throw new r(t("error.invalid_response"),{endpoint:o,data:c,error:l.error});return l.data})(a,o,s,{timeoutSeconds:2})}catch(e){return n(e),null}},d=e=>"auto"===e?.live_provider?e.webrtc_card?.entity||e.webrtc_card?.url?"webrtc-card":e.camera_entity?"ha":e.frigate?.camera_name?"jsmpeg":"image":e?.live_provider??"image",l=async(e,r,t,a)=>"go2rtc"===d(r)&&(async(e,r,t)=>{if(!r)return!1;const a=await o(e,r,t,{context:"live",openLimit:1});return n=await c(e,a),!!n?.producers&&n.producers.some((e=>e.medias?.some((e=>e.includes("audio")&&(e.includes("sendonly")||e.includes("sendrecv"))))??!1));var n})(e,t,a);export{d as g,l};