WatcherRobot-example.sdk_media_lab / web /video-frame-queue.mjs
yuzou1121's picture
Publish example.sdk_media_lab 1.1.0
e264252 verified
Raw
History Blame Contribute Delete
562 Bytes
export function admitVideoFrame(queue, frame) {
if (!queue.decodeBusy) {
queue.decodeBusy = true;
return { ownsDecoder: true, replacedPending: false };
}
const replacedPending = queue.pendingFrame !== null;
queue.pendingFrame = frame;
return { ownsDecoder: false, replacedPending };
}
export function takePendingVideoFrame(queue) {
const frame = queue.pendingFrame;
queue.pendingFrame = null;
return frame;
}
export function finishVideoFrameDecode(queue, ownsDecoder) {
if (ownsDecoder) queue.decodeBusy = false;
}