USBCAMD_Pipe_Config_Descriptor structure (usbcamdi.h)
The USBCAMD_Pipe_Config_Descriptor structure describes the association between pipes and streams.
Syntax
typedef struct _pipe_config_descriptor {
CHAR StreamAssociation;
UCHAR PipeConfigFlags;
} USBCAMD_Pipe_Config_Descriptor, *PUSBCAMD_Pipe_Config_Descriptor;
Members
StreamAssociation
Specifies the type of stream. This should be set to one of the following values:
Flag | Meaning |
---|---|
USBCAMD_VIDEO_STREAM | Indicates that the stream contains video data. |
USBCAMD_STILL_STREAM | Indicates that the stream contains still data. |
USBCAMD_VIDEO_STILL_STREAM | Indicates that the stream contains both video and still data. |
PipeConfigFlags
Specifies the pipe characteristics. This should be set to one of the following values:
Flag | Meaning |
---|---|
USBCAMD_DATA_PIPE | Indicates a video or still data pipe. |
USBCAMD_MULTIPLEX_PIPE | Indicates a video and still data pipe. |
USBCAMD_SYNC_PIPE | Indicates an out-of-band signaling pipe. |
USBCAMD_DONT_CARE_PIPE | Indicates a pipe that is not to be used for video or still streaming. |
Remarks
The camera minidriver indicates pipe stream associations by identifying all streams associated with a particular pipe. If there is more than one stream association, USBCAMD creates a virtual still pin. The still stream pin always follows the video stream pin (that is, the video stream pin is the first stream pin).
The CamConfigureEx routine uses the USBCAMD_Pipe_Config_Descriptor structure to establish a connection between pipes and streams. An array of USBCAMD_Pipe_Config_Descriptor structures is passed into CamConfigureEx, along with the array size, which is equal to the number of pipes found.
The camera minidriver must set the PipeConfigFlags member to the value USBCAMD_DONT_CARE_PIPE if a particular pipe should not be used by USBCAMD. For example, when using an audio and video isochronous pipe, and a camera device that supports stills and video, the PipeConfigFlags member in the first structure should be set to USBCAMD_DONT_CARE_PIPE. The second USBCAMD_Pipe_Config_Descriptor structure should have its StreamAssociation member value set to USBCAMD_VIDEO_STILL_STREAM and its PipeConfigFlags member value set to USBCAMD_MULTIPLEX_PIPE.
The USBCAMD library requires that the camera must have a single configuration description, and all alternate settings within the USB video streaming interface must have the same number and type of pipes.
USBCAMD_Pipe_Config_Descriptor is not supported in the original USBCAMD.
Requirements
Requirement | Value |
---|---|
Header | usbcamdi.h (include Usbcamdi.h) |