IVideoDeviceManager
Video device management methods.
IVideoDeviceManager provides the methods related to testing video devices. You can get an IVideoDeviceManager interface by instantiating the IVideoDeviceManager class.
enumerateVideoDevices
Enumerates the video devices.
virtual IVideoDeviceCollection* enumerateVideoDevices() = 0;
This method returns a IVideoDeviceCollection object including all video devices in the system. With the IVideoDeviceCollection object, the application can enumerate video devices. The application must call the release method to release the returned object after using it.
Returns
- Success: A IVideoDeviceCollection object including all video devices in the system.
- Failure: NULL.
getCapability
Gets the detailed video frame information of the video capture device in the specified video format.
virtual int getCapability(const char* deviceIdUTF8, const uint32_t deviceCapabilityNumber, VideoFormat& capability) = 0;
After calling numberOfCapabilities to get the number of video formats supported by the video capture device, you can call this method to get the specific video frame information supported by the specified index number.
Parameters
- deviceIdUTF8
- The ID of the video capture device.
- deviceCapabilityNumber
- The index number of the video format. If the return value of numberOfCapabilities is i, the value range of this parameter is [0,i).
- capability
- Output parameter. Indicates the specific information of the specified video format, including width (px), height (px), and frame rate (fps). See VideoFormat.
Returns
- 0: Success.
- < 0: Failure.
getDevice
Retrieves the current video capture device.
virtual int getDevice(char deviceIdUTF8[MAX_DEVICE_ID_LENGTH]) = 0;
Parameters
- deviceIdUTF8
- Output parameter. The device ID. The maximum length is MAX_DEVICE_ID_LENGTH_TYPE.
Returns
- 0: Success.
- < 0: Failure.
numberOfCapabilities
Gets the number of video formats supported by the specified video capture device.
virtual int numberOfCapabilities(const char* deviceIdUTF8) = 0;
Video capture devices may support multiple video formats, and each format supports different combinations of video frame width, video frame height, and frame rate.
You can call this method to get how many video formats the specified video capture device can support, and then call getCapability to get the specific video frame information in the specified video format.
Parameters
- deviceIdUTF8
- The ID of the video capture device.
Returns
- 0: Success. Returns the number of video formats supported by this device. For example: If the specified camera supports 10 different video formats, the return value is 10.
- < 0: Failure.
release
Releases all the resources occupied by the IVideoDeviceManager object.
virtual void release() = 0;
setDevice
Specifies the video capture device with the device ID.
virtual int setDevice(const char deviceId[MAX_DEVICE_ID_LENGTH]) = 0;
Parameters
- deviceId
-
The device ID. You can get the device ID by calling enumerateVideoDevices.
The maximum length is MAX_DEVICE_ID_LENGTH_TYPE.
Returns
- 0: Success.
- < 0: Failure.