pub trait CaptureStream<'a>: Stream {
// Required methods
fn queue(&mut self, index: usize) -> Result<(), Error>;
fn dequeue(&mut self) -> Result<usize, Error>;
fn next(&'a mut self) -> Result<(&'a Self::Item, &'a Metadata, bool), Error>;
}
Insert a buffer into the drivers’ incoming queue
Remove a buffer from the drivers’ outgoing queue
Fetch a new frame by first queueing and then dequeueing.
First time initialization is performed if necessary.
The last item in the tuple is True if another frame is pending.