// Path: src/main/java/au/edu/jcu/v4l4j/exceptions/StateException.java
// public class StateException extends RuntimeException {
// 
// 	private static final long serialVersionUID = 1351714754008657462L;
// 
// 	public StateException(String message) {
// 		super(message);
// 	}
// 
// 	public StateException(String message, Throwable throwable) {
// 		super(message, throwable);
// 	}
// 
// 	public StateException(Throwable throwable) {
// 		super(throwable);
// 	}
// }
// 
// Path: src/main/java/au/edu/jcu/v4l4j/exceptions/V4L4JException.java
// public class V4L4JException extends Exception {
// 
// 	private static final long serialVersionUID = -8247407640809375121L;
// 	public V4L4JException(String message) {
// 		    super(message);
// 		  }
// 	public V4L4JException(String message, Throwable throwable) {
// 		super(message, throwable);
// 	}
// 	public V4L4JException(Throwable throwable) {
// 		super(throwable);
// 	}
// }


import java.util.List;
import java.util.Vector;
import au.edu.jcu.v4l4j.exceptions.StateException;
import au.edu.jcu.v4l4j.exceptions.V4L4JException;
		return doListIntervals(object, imf.getIndex(), width, height);
	}


	/**
	 * This constructor build a DeviceInfo object containing information about 
	 * the given V4L device.
	 * @param object the JNI C pointer to struct v4l4j_device
	 * @throws V4L4JException if there is an error retrieving information from
	 * the video device.
	 */	
	DeviceInfo(long object, String dev) throws V4L4JException{
		inputs = new Vector<InputInfo>();
		deviceFile = dev;
		getInfo(object);
		this.object = object;
	}
	
	/**
	 * This method releases the libvideo query interface
	 */
	synchronized void release() {
		doRelease(object);
	}
	
	/**
	 * checks if this object has been released (by the owning video device 
	 * object). If yes, throws a {@link StateException}
	 * @throws StateException if this object has been released 
	 */
// Path: src/main/java/au/edu/jcu/v4l4j/exceptions/StateException.java
// public class StateException extends RuntimeException {
// 
// 	private static final long serialVersionUID = 1351714754008657462L;
// 
// 	public StateException(String message) {
// 		super(message);
// 	}
// 
// 	public StateException(String message, Throwable throwable) {
// 		super(message, throwable);
// 	}
// 
// 	public StateException(Throwable throwable) {
// 		super(throwable);
// 	}
// }
// 
// Path: src/main/java/au/edu/jcu/v4l4j/exceptions/V4L4JException.java
// public class V4L4JException extends Exception {
// 
// 	private static final long serialVersionUID = -8247407640809375121L;
// 	public V4L4JException(String message) {
// 		    super(message);
// 		  }
// 	public V4L4JException(String message, Throwable throwable) {
// 		super(message, throwable);
// 	}
// 	public V4L4JException(Throwable throwable) {
// 		super(throwable);
// 	}
// }


// Path: src/main/java/au/edu/jcu/v4l4j/DeviceInfo.java
import java.util.List;
import java.util.Vector;
import au.edu.jcu.v4l4j.exceptions.StateException;
import au.edu.jcu.v4l4j.exceptions.V4L4JException;

		return doListIntervals(object, imf.getIndex(), width, height);
	}


	/**
	 * This constructor build a DeviceInfo object containing information about 
	 * the given V4L device.
	 * @param object the JNI C pointer to struct v4l4j_device
	 * @throws V4L4JException if there is an error retrieving information from
	 * the video device.
	 */	
	DeviceInfo(long object, String dev) throws V4L4JException{
		inputs = new Vector<InputInfo>();
		deviceFile = dev;
		getInfo(object);
		this.object = object;
	}
	
	/**
	 * This method releases the libvideo query interface
	 */
	synchronized void release() {
		doRelease(object);
	}
	
	/**
	 * checks if this object has been released (by the owning video device 
	 * object). If yes, throws a {@link StateException}
	 * @throws StateException if this object has been released 
	 */
	private void checkRelease() throws StateException{