Synchronization

DLL stream handlers can process sync pulses as either a master or slave stream. A master of a sync group must have the SPCBHAND_GENSYNC or the SPCBHAND_NOSYNC bits set in the SPCB that is returned to the SSM on the SHC_CREATE call. Otherwise, the stream handler cannot be a master.

If you would like to create a stream handler that can generate sync pulses, you must either use a hardware device (such as an audio card) to generate timing interrupts at a fixed rate, or use the OS/2 timer services such as the OS/2 device driver SetTimer DevHelp or the OS/2 DosAsyncTimer functions. You can then call GetDOSVar to query the address of the global information segment structure (GlobalInfoSeg). This allows you to get the real time so that you can detect missed timing messages. For further information, refer to the Physical Device Driver Reference for OS/2.

Note: We provide the architecture for synchronization. The audio stream handler can be a master (generate sync pulses). The audio stream handler can also be a slave, but it does not support the ability to re-synchronize to a master stream.