package com.github.sarxos.webcam.ds.fswebcam; import java.io.File; import java.util.ArrayList; import java.util.List; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import com.github.sarxos.webcam.WebcamDevice; import com.github.sarxos.webcam.WebcamDiscoverySupport; import com.github.sarxos.webcam.WebcamDriver; import com.github.sarxos.webcam.ds.fswebcam.impl.VideoDeviceFilenameFilter; public class FsWebcamDriver implements WebcamDriver, WebcamDiscoverySupport { private static final Logger LOG = LoggerFactory.getLogger(FsWebcamDriver.class); private static final VideoDeviceFilenameFilter VFFILTER = new VideoDeviceFilenameFilter(); private long scanInterval; @Override public List<WebcamDevice> getDevices() { List<WebcamDevice> devices = new ArrayList<WebcamDevice>(); for (File vfile : VFFILTER.getVideoFiles()) { LOG.info("Found video file {}", vfile); devices.add(new FsWebcamDevice(vfile)); } return devices; } @Override public boolean isThreadSafe() { return false; } /** * @see FsWebcamDriver#getScanInterval() */ public void setScanInterval(long scanInterval) { this.scanInterval = scanInterval; } @Override public long getScanInterval() { return scanInterval; } @Override public boolean isScanPossible() { return true; } @Override public String toString() { return getClass().getSimpleName(); } }