void hold_device(unsigned index);
void release_device(unsigned index); // Note: index is allowed to go out of bounds.
+ bool device_is_held(unsigned index); // Same here.
// If device is held, start or restart capture. If device is not held,
// stop capture if it isn't already.