MCPcopy
hub / github.com/CapSoftware/Cap / processNextFrame

Function processNextFrame

apps/desktop/src/utils/socket.ts:1051–1081  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

1049 }
1050
1051 function processNextFrame() {
1052 if (isProcessing) return;
1053
1054 const buffer = nextFrame || pendingFrame;
1055 if (!buffer) return;
1056
1057 if (nextFrame) {
1058 nextFrame = null;
1059 } else {
1060 pendingFrame = null;
1061 }
1062
1063 isProcessing = true;
1064
1065 const frameWorker = ensureWorker();
1066 if (producer) {
1067 const written = producer.write(buffer);
1068 if (!written) {
1069 sharedBufferFallbacks++;
1070 isProcessingSharedFrame = false;
1071 frameWorker.postMessage({ type: "frame", buffer }, [buffer]);
1072 } else {
1073 sharedBufferWrites++;
1074 isProcessingSharedFrame = true;
1075 frameWorker.postMessage({ type: "wake" });
1076 }
1077 } else {
1078 isProcessingSharedFrame = false;
1079 frameWorker.postMessage({ type: "frame", buffer }, [buffer]);
1080 }
1081 }
1082
1083 ws.addEventListener("open", () => {
1084 setIsConnected(true);

Callers 2

handleWorkerMessageFunction · 0.85
createImageDataWSFunction · 0.85

Calls 2

ensureWorkerFunction · 0.85
writeMethod · 0.80

Tested by

no test coverage detected