# ssplPlayData

Waits for next available buffer then sends a block full of data to the spooler. (convenience routine).

### Synopsis

`int32 ssplPlayData ( SoundSpooler *sspl, char *Data, int32 NumBytes )`

### Description

`ssplPlayData()` is a convenience function that does the following operations:

- Requests an available SoundBufferNode. If none are available, waits for one to become available.

- Attaches sample data to the SoundBufferNode.

- Submits the SoundBufferNode to the active queue.

### Arguments

sspl
  Pointer to a SoundSpooler structure.

Data
  Pointer to data buffer.

NumBytes
  Number of bytes to send.

### Return Value

Positive value on success indicating the signal to be sent when the buffer finishes playing, or negative 3DO error code on failure. Never returns zero.

### Implementation

Convenience call implemented in music.lib V21.

### Notes

This function calls `ssplProcessSignals()` when forced to wait for a SoundBufferNode, but doesn't have a mechanism for the client to supply a UserBufferProcessor callback function. If you use this function and require completion notification, use a SoundBufferFunc instead of a UserBufferProcessor.

### Associated Files

soundspooler.h, music.lib

### See Also

``ssplSpoolData`(), ssplRequestBuffer(), ssplSendBuffer(), ssplSetBufferAddressLength(), ssplSetUserData(), ssplProcessSignals(), SoundBufferFunc()`