
com.github.sarxos.webcam.ds.buildin.cgt.GetDevicesTask Maven / Gradle / Ivy
Go to download
This library allows you to use your PC webcam, IP or network cameras directly from Java. It's compatible with most operating systems (Windows, Linux, MacOS).
package com.github.sarxos.webcam.ds.buildin.cgt;
import java.util.List;
import java.util.concurrent.atomic.AtomicReference;
import com.github.sarxos.webcam.ds.buildin.WebcamGrabberProcessor;
import com.github.sarxos.webcam.ds.buildin.WebcamGrabberTask;
import com.github.sarxos.webcam.ds.buildin.natives.Device;
/**
* Processor task used to discover native webcam devices.
*
* @author Bartosz Firyn (SarXos)
*/
public class GetDevicesTask extends WebcamGrabberTask {
/**
* Devices list.
*/
private AtomicReference> devices = new AtomicReference>();
/**
* Processor.
*/
private WebcamGrabberProcessor processor = null;
/**
* Creates new task used to discover native webcam devices.
*
* @param processor
*/
public GetDevicesTask(WebcamGrabberProcessor processor) {
this.processor = processor;
}
/**
* @return Discovered devices
*/
public List getDevices() {
process(processor);
return devices.get();
}
@Override
protected void handle() {
List devices = grabber.getVideoDevices().get().asArrayList();
this.devices.set(devices);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy