Null Stream Handler

The SSM provides a null stream creation capability to enable multimedia applications to synchronize nonstreaming devices with streaming devices. The null stream is created and started for the nonstreaming device, but has no data flow associated with it. The Duet Player II Sample Program provides an example of synchronizing the CD-DA device, which is a nonstreaming device.

Any application or media driver can create a null stream, or several null streams. Since the null stream has no default resync tolerance value, the creating module must establish this value by calling SpiGetProtocol followed by SpiInstallProtocol, modifying the resync tolerance field between these two calls. This establishes the frequency of event notification to the calling process, allowing the system to maintain sync without the burden of running the notification thread on every sync pulse.

A given process can create multiple null streams. These streams are notified of sync pulses in the same way as real stream handlers; therefore, each null stream handler must support some capabilities a real stream handler supports. Each null stream thus created can have different sync pulse timing characteristics. Sync pulse granularity for each stream is governed by changing the resync tolerance value in the respective SPCBs.

Null stream handlers must support the following Stream Handler Command (SHC) messages:


[Back: Sync/Stream Subsystem Events]
[Next: Stream Protocols]