Warning: session_start(): open(/var/lib/php/sessions/sess_bhu8k7gri9v616t78go0p09g8r, O_RDWR) failed: No space left on device (28) in /var/www/tb-usercake/models/config.php on line 51
Warning: session_start(): Failed to read session data: files (path: /var/lib/php/sessions) in /var/www/tb-usercake/models/config.php on line 51
!7
cmodule VectorImageStream > DynImageSurfaceAndEnabled {
transient S fpsText;
transient new PerSecondCounter fpsCounter;
start {
set zoomToWindowOnSetImage;
dm_vmBus_onMessage_q vectorSDK_gotLine((mod, s) -> handleLine((S) s));
dm_doEvery(1.0, r {
setField(fpsText := formatDoubleX(fpsCounter.getLast(), 1) + " fps");
});
}
void handleLine(S s) {
S prefix = "img: ";
if (!enabled || !startsWith(s, prefix)) ret;
fpsCounter.inc();
BufferedImage img = imageFromBytes(base64decode(substring(s, prefix)));
vmBus_send haveVectorImage(module(), img);
setImage(img);
}
void startStream enter {
dm_call vectorSDK('startCamStream);
}
JPanel makeControlArea() {
JPanel buttons = super.makeControlArea();
enableDoubleBuffering(); // flickers when partially obscured otherwise
addComponent_inFront(buttons, jbutton("Start stream", rThread startStream));
ret centerAndEastWithMargin(dm_rightAlignedLabel fpsText(), buttons);
}
}