The plug-in needs to call this function to pass decoded audio to the output plug-ins for rendering.
|
Parameters |
Description |
|
writeData |
[in] data and details about decoded audio to write to output |
|
Return Values |
Description |
|
0 |
write to output unsuccessful |
|
1 |
write to output successful |
The writeData must accurately describe the audio data being sent on this call. The data must also match the audio parameter set by OutputOpen.
This is a blocking call. The call will only return once all the data consumed by the output plug-in. This does not mean the data will have been rendered (played) on return as the output plug-in may have cached the data. In the case where the playback plug-in has been paused, this may be a lengthy wait, as the data may not be able to be processed until playback resumes.
The markerstart parameter of the writeData must reflect the position of the audio being sent relative to the entire song, and using the same units as described in the last TrackExtents sent to the player (see GetTrackExtents). The markerend parameter is currently not being used.
The data size of each write is not fixed. A plug-in can choose to send as much or as little as is convenient. However, the larger the data chunks, the less granular the marker will be, and the longer the call to OutputWrite may block.
|
Copyright (c) Quinnware 2007. All rights reserved.
|