KSCAMERA_PROFILE_CONCURRENCYINFO structure (ksmedia.h)
An array of KSCAMERA_PROFILE_CONCURRENCYINFO structures form the Camera.Concurrency parameter of the KSDEVICE_PROFILE_INFO structure (whose array size is specified by Camera.CountOfConcurrency parameter) indicating which profiles the profile identified in the KSCAMERA_PROFILE_INFO structure may run simultaneously on different cameras.
Syntax
typedef struct _KSCAMERA_PROFILE_CONCURRENCYINFO {
GUID ReferenceGuid;
UINT32 Reserved;
UINT32 ProfileCount;
PKSCAMERA_PROFILE_INFO Profiles;
} KSCAMERA_PROFILE_CONCURRENCYINFO, *PKSCAMERA_PROFILE_CONCURRENCYINFO;
Members
ReferenceGuid
Must be set to the ReferenceGuid of the KSFILTER_DESCRIPTOR which corresponds to the other device with which this profile is concurrent.
Reserved
Unused. Must be 0.
ProfileCount
Number of profile IDs contained in the Profiles array. Must be greater than 0.
Profiles
This is an array of KSCAMERA_PROFILE_INFO structures that can be simultaneously used on the other camera device specified by the ReferenceGuid. This field must not be NULL.
Remarks
Currently, an application has no knowledge as to whether it can attempt to stream from more than one camera until the attempt succeeds or fails. In the case of web blogging scenario, this means the application will have to attempt to activate both streams before it paints the UI with a picture in picture video element.
For multiple applications, concurrency will not be sufficient to guarantee concurrent operation. The concurrency information will not attempt to solve this scenario. Instead, the existing camera yanking feature will be leveraged.
If both Camera.CountOfConcurrency and the Camera.Concurrency fields are 0 and NULL respectively, it indicates to the OS that the profile defined by the KSCAMERA_PROFILE_INFO is not a concurrent profile.
Requirements
Requirement | Value |
---|---|
Header | ksmedia.h |