@Override public boolean isScanPossible() { return OsUtils.getOS() != OsUtils.WIN; }
/** * Get capture device protocol. This will be: * <ul> * <li><code>dshow://</code> for Windows</li> * <li><code>qtcapture://</code> for Mac</li> * <li><code>v4l2://</code> for linux</li> * </ul> * * @return Capture device protocol * @throws WebcamException in case when there is no support for given operating system */ public String getCaptureDevice() { switch (OsUtils.getOS()) { case WIN: return "dshow://"; case OSX: return "qtcapture://"; case NIX: return "v4l2://"; default: throw new WebcamException("Capture device not supported on " + OsUtils.getOS()); } }
private VideoCapture getVideoCaptureForOs() { switch (OsUtils.getOS()) { case WIN: case OSX: return new VideoCapture(address); case NIX: return new VideoCapture(vfile.getAbsolutePath()); default: throw new UnsupportedOperationException("Unsupported operating system"); } }
private OpenCVFrameGrabber buildGrabber() throws FrameGrabber.Exception { switch (OsUtils.getOS()) { case WIN: case OSX: return OpenCVFrameGrabber.createDefault(address); case NIX: return OpenCVFrameGrabber.createDefault(vfile); default: throw new UnsupportedOperationException("Current OS is not supported"); } }
private String getWebcamNameForOs() { switch (OsUtils.getOS()) { case WIN: return videoInput.getDeviceName(address).getString(); case OSX: return "Webcam " + address; // XXX: any clues how to get webcam name on mac? case NIX: return vfile.getAbsolutePath(); default: throw new UnsupportedOperationException("Unsupported operating system"); } }
@Override public List<WebcamDevice> getDevices() { switch (OsUtils.getOS()) { case WIN: return getDevicesWindows(); case NIX: return getDevicesLinux(); case OSX: return getDevicesMacOs(); default: throw new WebcamException("Operating system not supported"); } }
switch (OsUtils.getOS()) { case WIN: LOG.debug("Open VLC device {}", getName());
@Override public List<WebcamDevice> getDevices() { LOG.debug("Searching devices"); if (OsUtils.getOS() == OsUtils.WIN) { System.err.println("WARNING: VLCj does not support webcam devices discovery on Windows platform"); } List<WebcamDevice> devices = new ArrayList<WebcamDevice>(); if (mediaListItems != null) { for (MediaListItem item : mediaListItems) { devices.add(mediaListItemToDevice(item)); } } else { MediaPlayerFactory mediaPlayerFactory = createMediaPlayerFactory(); MediaDiscoverer videoMediaDiscoverer = mediaPlayerFactory.newVideoMediaDiscoverer(); MediaList videoDeviceList = videoMediaDiscoverer.getMediaList(); List<MediaListItem> videoDevices = videoDeviceList.items(); for (MediaListItem item : videoDevices) { LOG.debug("Found item {}", item); devices.add(mediaListItemToDevice(item)); } videoDeviceList.release(); videoMediaDiscoverer.release(); mediaPlayerFactory.release(); } return devices; }