44 lines
1.2 KiB
JavaScript
44 lines
1.2 KiB
JavaScript
import { invoke } from "./@tauri-apps/api/index.js";
|
|
import { rtc_init } from "./rtc.js";
|
|
|
|
function call_camera_connect() {
|
|
invoke("connect_to_camera", {})
|
|
.then(() => {
|
|
let cam_button = document.getElementById("camera_connect_button");
|
|
cam_button.innerText = "Connecting to Camera";
|
|
cam_button.classList.remove("text-semibold");
|
|
cam_button.classList.remove("text-white");
|
|
cam_button.classList.add("text-neutral-400")
|
|
})
|
|
.catch((e) => console.error(e));
|
|
}
|
|
|
|
async function init() {
|
|
console.log("Setting up");
|
|
document.getElementById("camera_connect_button").addEventListener("click", call_camera_connect);
|
|
|
|
let webrtc_support = supports_webrtc();
|
|
|
|
invoke("supports_webrtc", { has_support: webrtc_support });
|
|
if (webrtc_support) {
|
|
await rtc_init();
|
|
}
|
|
}
|
|
|
|
function supports_webrtc() {
|
|
var isWebRTCSupported = false;
|
|
|
|
['RTCPeerConnection', 'webkitRTCPeerConnection', 'mozRTCPeerConnection', 'RTCIceGatherer'].forEach(function(item) {
|
|
if (isWebRTCSupported) {
|
|
return;
|
|
}
|
|
|
|
if (item in window) {
|
|
isWebRTCSupported = true;
|
|
}
|
|
});
|
|
|
|
return isWebRTCSupported;
|
|
}
|
|
|
|
export { init };
|