001package com.github.sarxos.webcam.ds.cgt;
002
003import org.slf4j.Logger;
004import org.slf4j.LoggerFactory;
005
006import com.github.sarxos.webcam.WebcamDevice;
007import com.github.sarxos.webcam.WebcamDriver;
008import com.github.sarxos.webcam.WebcamTask;
009
010
011public class WebcamOpenTask extends WebcamTask {
012
013        private static final Logger LOG = LoggerFactory.getLogger(WebcamOpenTask.class);
014
015        public WebcamOpenTask(WebcamDriver driver, WebcamDevice device) {
016                super(driver, device);
017        }
018
019        public void open() throws InterruptedException {
020                process();
021        }
022
023        @Override
024        protected void handle() {
025
026                WebcamDevice device = getDevice();
027
028                if (device.isOpen()) {
029                        return;
030                }
031
032                if (device.getResolution() == null) {
033                        device.setResolution(device.getResolutions()[0]);
034                }
035
036                LOG.info("Opening webcam {}", device.getName());
037
038                device.open();
039        }
040}