@Override
public void resume() {
isPaused = false;
- grabberThread.notify();
+ synchronized (grabberThread) {
+ grabberThread.notify();
+ }
}
@Override
while (!isInterrupted()) {
Optional<VideoFrame> frame = grabber.grabFrame();
if (isPaused) {
- wait();
+ synchronized (grabberThread) {
+ wait();
+ }
}
if (frameConsumer != null) frame.ifPresent(frameConsumer);
frame.ifPresent(VideoMode.this::onVideoFrame);