Warning: session_start(): open(/var/lib/php/sessions/sess_he3ht0t8feoh3g4449l9ddjf6q, 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
sclass JFFMPEGVideoPlayer is Swingable {
ImageSurface imageSurface = imageSurface();
JPanel buttons = rightAlignedLine();
ImageStreamFromVideoFile stream;
{
buttons.add(jbutton("Open video...", rThread openDialog));
bindToComponent(imageSurface, null, rThread closeStream);
}
visual
centerAndSouthWithMargin(
jscroll_center_borderless(imageSurface),
buttons
);
void openDialog swing {
new JFileChooser fc;
fc.setDialogTitle("Open video");
play(execFileChooser(fc));
}
void play(File videoFile) {
if (videoFile == null) ret;
pcall-infobox {
closeStream();
stream = new ImageStreamFromVideoFile;
stream.open(videoFile);
stream.onHaveImage((image, pos) -> {
// TODO: sleep
imageSurface.setImage(image);
});
stream.startDecodeThread();
}
}
void closeStream {
imageSurface.noImage();
dispose stream;
}
}