package com.github.sarxos.webcam.ds.cgt; import java.awt.image.BufferedImage; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import com.github.sarxos.webcam.WebcamDevice; import com.github.sarxos.webcam.WebcamDriver; import com.github.sarxos.webcam.WebcamTask; public class WebcamGetImageTask extends WebcamTask { private static final Logger LOG = LoggerFactory.getLogger(WebcamGetImageTask.class); private volatile BufferedImage image = null; public WebcamGetImageTask(WebcamDriver driver, WebcamDevice device) { super(driver, device); } public BufferedImage getImage() { try { process(); } catch (InterruptedException e) { LOG.debug("Interrupted exception", e); return null; } return image; } @Override protected void handle() { WebcamDevice device = getDevice(); if (!device.isOpen()) { return; } image = device.getImage(); } }