This is the main class of the IC Imaging Control Class Library. It provides the basic functionality to control the flow of image buffers in an image stream from the source (a video capture device) to the sink (a collection of image buffers or a media file). The display of a live image can be toggled on and off. The idea behind this class is to provide the functionality of a standard frame grabber to users of WDM streaming devices.
Using this class, programmers can:
Header File: tisudshl.h
Namespace: DShowLib
Method | Description | ||
Grabber | Constructs a new Grabber object. |
||
addListener | This method registers a callback handler object for the specified events. |
||
closeDev | Closes the currently active video capture device. |
||
execI2COperation | Performs a read/write operation on the I²C bus of the currently used video capture device. |
||
getAcqSizeMaxX | Returns the width in pixels of the currently selected video format. |
||
getAcqSizeMaxY | Returns the height in pixels of the currently selected video format. |
||
getAvailableFPS | Returns the available frame rates. |
||
getAvailableInputChannels | Returns a list of input channels supported by the current device. |
||
getAvailableVCDProperties | Returns a collection of the IVCDPropertyItems of the currently opened device. |
||
getAvailableVideoCaptureDevices | Returns a list of all currently available video capture devices. |
||
getAvailableVideoFormatDescs | Returns a list of VideoFormatDesc objects describing all video formats supported by the current video capture device according to the current video norm. |
||
getAvailableVideoFormats | Returns a list of all video formats supported by the current video capture device according to the current video norm. |
||
getAvailableVideoNorms | Returns a list of all video norms supported by the current video capture device. |
||
getCountOfFramesDropped | Returns the number of frames that were dropped by the video capture device. |
||
getCountOfFramesNotDropped | Returns the number of frames that were delivered by the device. |
||
getCurReferenceTime | Retrieves the current reference time. |
||
getCurrentActualFPS | [Deprecated] Retrieves the actual frame rate achieved by the device. |
||
getCurrentMaxAvailableFPS | [Deprecated] Returns the current maximal frames per second (FPS) that the device can achieve on the bus. |
||
getDeBayerTransform | Returns a pointer to a DeBayerTransform object. If a BY8 Bayer video format is selected, the image data will be debayered automatically. The DeBayerTransform class allows the debayering to be checked. |
||
getDefaultWindowPosition | This method returns the current value of the grabber's default window position flag. |
||
getDev | Returns the currently active video capture device. |
||
getDeviceFrameFilters | Returns the list of frame filters that are currently set behind the device. |
||
getDisplayFrameFilters | Returns the list of frame filters that are currently set in front of the display. |
||
getDriverFrameDropInformation | Retrieves frame drop information from the driver if supported by it. |
||
getExternalTrigger | Returns true, if the external trigger is enabled. |
||
getFPS | Returns the frame rate currently set. |
||
getFlipH | This method returns whether horizontal flipping is enabled. |
||
getFlipV | This method returns whether vertical flipping is enabled. |
||
getGraphStartReferenceTime | This method retrieves the reference time at which the image stream (the filter graph) was started. |
||
getHWND | This method returns a handle to the window, which is used to display the live image. |
||
getInputChannel | Returns the currently active input channel. This method will fail, if there is no video capture device open. |
||
getLastError | Returns information about an error that occurred, during the last library-method call. |
||
getOverlay | This method returns a pointer to an instance of the OverlayBitmap object. The OverlayBitmap is used to draw text and graphics on the video stream. |
||
getOverlayBitmapPathPosition | Returns the current position of OverlayBitmap objects in the graph. |
||
getPauseLive | Returns whether pause mode is enabled. |
||
getSignalDetected | Returns whether a signal was detected by the device. |
||
getSinkTypePtr | Returns a pointer to the currently selected sink. |
||
getVCDPropertyElement | Retrieves the specified IVCDPropertyElement. |
||
getVCDPropertyInterface | Retrieves the specified IVCDPropertyInterface. |
||
getVCDPropertyItem | Retrieves the specified IVCDPropertyItem. |
||
getVideoDataDimension | Returns the actual dimension of the image data which is passed to the display. This may be different from the video format of the currently active video capture device, if you have used setDeviceFrameFilters or setDisplayFrameFilters to insert frame filters in the image stream behind the device or in front of the display. If IFrameFilter objects are used by the FrameHandlerSink, the dimension of the MemBufferCollection may be different from the video data dimension as well. |
||
getVideoFormat | This method returns the currently selected video format or an invalid object, if no video format is set (ie. the device is not open). |
||
getVideoNorm | This method returns the currently selected video norm or an invalid object, if no video norm is selected. |
||
getWindowPosition | This method retrieves the current position and size of the grabber's live video window. |
||
hasCountOfFrames | Returns whether the device supports retrieving the current dropped frames counter. |
||
hasExternalTrigger | Returns true, if the current device has an external trigger. |
||
hasFPSList | Checks whether the currently selected video capture device supports different frame rates that can be set by the user. |
||
hasI2CInterface | Checks whether the currently opened video capture device supports access to its on-board I²C bus. |
||
hasInputChannels | This method checks whether the currently opened video capture device supports input channels. |
||
hasSignalDetected | Checks whether a device can be queried if it has a video stream. (Some analog to digital video converters have this property). |
||
hasVideoNorms | Checks whether the current video capture device supports video norms. |
||
isCountOfFramesDroppedAvailable | [Deprecated] Returns whether the device supports retrieving the current dropped frames counter. |
||
isDevOpen | Checks whether a video capture device is opened. |
||
isDevValid | Checks whether the video capture device associated with this object still exists. A video capture device may become invalid at any time (e.g. if the device has been unplugged). |
||
isFlipHAvailable | This method returns whether horizontal flipping is available. |
||
isFlipVAvailable | This method returns whether vertical flipping is available. |
||
isFrameRateListAvailable | [Deprecated] Checks whether the currently selected video capture device supports different frame rates that can be set by the user. |
||
isInputChannelAvailableWithCurDev | This method checks whether the currently active video capture device supports input channels. |
||
isListenerRegistered | This method checks whether the specified callback handler is registered for the specified events. |
||
isLive | Checks whether the current video capture device is in live mode. |
||
isLivePrepared | Returns whether the image stream is in 'prepared' state. |
||
isSignalDetectedAvailable | [Deprecated] Checks whether a device can be queried for a list of available video stream. |
||
isVideoNormAvailableWithCurDev | [Deprecated] Checks whether the current video capture device supports the selection of the video norm. |
||
loadDeviceState | Restores grabber settings that were saved by saveDeviceState. |
||
loadDeviceStateFromFile | Restores the device settings from a file that was previously saved by saveDeviceStateToFile. |
||
openDev | Opens a video capture device for grabbing. |
||
openDevByDisplayName | Opens a device by its display name. |
||
openDevByUniqueName | Opens a device by its unique name. |
||
prepareLive | Tries to setup the image stream by connecting the device with the display and the sink and inserting frame filters and overlays. |
||
removeListener | This method unregisters a callback handler object for the specified events. |
||
saveDeviceState | Saves the state of the opened device. A saved state can be restored using loadDeviceState. |
||
saveDeviceStateToFile | Saves the state of the currently opened device to a file. The grabber state can be restored using loadDeviceStateFromFile. |
||
setDefaultWindowPosition | Enables or disables the default window size lock of the video window. |
||
setDeviceFrameFilters | Inserts a list of frame filters in the device path of the image stream. If an overlay is present in the device path, the filter list is inserted in front it. This means that the filter list is located between the device and the overlay. |
||
setDisplayFrameFilters | Inserts a list of frame filters in the display path of the image stream. If an overlay is present in the display path, the filter list is inserted in front of it. This means that the overlay is located between the filter list and the display. If there is no overlay in the display path, the filter list is inserted in front of the the display. |
||
setExternalTrigger | Enables/disables the external trigger. |
||
setFPS | Sets the frame rate of the device. |
||
setFlipH | Specifies whether all frames of an image stream should be flipped horizontally. |
||
setFlipV | Specifies whether all frames of an image stream will be flipped vertically. |
||
setHWND | Sets the handle to the window in which the live image will be displayed. |
||
setInputChannel | Sets the input channel of the currently active video capture device. |
||
setOverlayBitmapPathPosition | Sets the positions of OverlayBitmap objects in the graph. |
||
setPauseLive | Pauses the live mode. |
||
setSinkType | Sets the format of the sink. A sink specifies the output target of an image stream. A sink may only be set, if the image stream is in neither live mode, nor prepared mode. |
||
setVideoFormat | This method sets the video format to be used by the currently active video capture device. |
||
setVideoNorm | This method sets the video of the currently active video capture device. A list of available video norms may be retrieved by calling Grabber::getAvailableVideoNorms. |
||
setWindowPosition | Sets the position of the grabber's live video window. |
||
setWindowSize | Sets the size of the video window. |
||
showDevicePage | Shows a device settings page. |
||
showVCDPropertyPage | Shows the property page for this device. With the property page, the user can adjust property settings like brightness. |
||
startLive | Puts the grabber in live mode. |
||
stopLive | Stops the grabber |
||
suspendLive | Suspends an image stream and puts it into prepared state. |
||
Enumeration | Description | ||
tCameraPropertyEnum | tCameraPropertyEnum enumerates the properties of a video camera. |
||
tVideoPropertyEnum | tVideoPropertyEnum specifies video property types. This enumeration comes directly from DirectX 8. |
||
Type | Description | ||
tFPSList | An array of double values that describe the number of frames per second. |
||
tFPSListPtr | A pointer to a tFPSList. |
||
tInChnList | A list of AnalogChannelItems. |
||
tInChnListPtr | A pointer to a list of tVideoFormatItems. |
||
tInputChannelItem | |||
tMemBufferCollectionPtr | A pointer to a MemBufferCollection. |
||
tMemBufferPtr | A pointer to a MemBuffer. |
||
tVidCapDevList | A list of tVideoCaptureDeviceItems. |
||
tVidCapDevListPtr | A pointer to a list of tVideoCaptureDeviceItems. |
||
tVidFmtDescList | A tVidFmtDescList is a std::vector of smart pointers to VideoFormatDesc objects. |
||
tVidFmtDescListPtr | A tVidFmtDescListPtr is smart pointer to a tVidFmtDescList. objects. |
||
tVidFmtDescPtr | A tVidFmtDescPtr is a smart pointer to a VideoFormatDesc object. |
||
tVidFmtList | A list of tVideoFormatItems. |
||
tVidFmtListPtr | A pointer to a list of tVideoFormatItems. |
||
tVidNrmList | A list of tVideoNormItems. |
||
tVidNrmListPtr | A pointer to a list of tVideoNormItems. |
||
tVideoCaptureDeviceItem | |||
tVideoFormatItem | |||
tVideoNormItem | |||