Signal Information Structure
A dedicated C structure of the type PMCSIGNALINFO is specified to provide information on a specific MultiCam signal issued by a specific channel object.
The signal information type is declared in the MultiCam system MultiCam.h header file.
There are three usages:
- Usage with the callback function
- Usage with the waiting function
- Usage with the signal information retrieving function
The user-written code implementing a callback function is informed on the signal that caused the callback with an argument of the signal information type.
The waiting function returns the information of the thread releasing signal with an argument of the signal information type.
This signal information structure can be retrieved with the MultiCam function McGetSignalInfo, which specifies a target channel or processor. In that case, the structure holds the information associated to the last signal issued by the target object.
Signal Info
SignalInfo is a member of the signal information structure available in the callback function or returned by the signal information retrieving function.
Its value only makes sense when the relevant signal is the Surface Processing or Surface Filled signal.
In that case, SignalInfo contains the handle of the surface that experienced the designated state transition, i.e. the surface presently in the state PROCESSING or FILLED (see SurfaceState).
This handle enable the user to retrieve the reference of the surface where the acquisition phase just stored the acquire image. The application can advantageously use the surface parameter SurfaceContext accessed using this surface handle.
Surface Context
A MultiCam integer parameter called SurfaceContext is available. This parameter is not written or read by the MultiCam driver. It is included for user's convenience.
Typically, the user assigns to this parameter an indexing information of its own. This assignment occurs after the surface instantiation and before the acquisition process.
After acquisition of a frame or a page, the SignalInfo member of the signal information structure directly designates the surface that experienced the acquisition. It is just a matter of getting the corresponding SurfaceContext parameter to get back the indexing information previously provided.
This greatly eases any surface filling sequence control the user may need to implement.