Capturer
Represents a media capturer that controls the start and stop of media capture operations.
This interface provides a unified abstraction for different types of media capture devices such as cameras, synthetic video generators, or other media sources. Implementations handle the underlying platform-specific capture mechanisms while providing a consistent API.
Threading
Interface doesn't guarantee thread-safety. All operations should be performed on the same thread.
Lifecycle and Idempotency
startCapture begins media capture. Repeated calls are safe but will throw IllegalArgumentException if capture is already active.
stopCapture ends media capture. Repeated calls are safe but will throw IllegalStateException if capture is not currently active.
isCapturing reflects the current capture state and can be checked at any time.
Resources are typically allocated during startCapture and released during stopCapture.
close ensures cleanup of all resources and stops capture if still active.