<B>unsigned int </B><B></B><I>mode</I><B>,</B><BR>
<B>int </B><B></B><I>samplerate</I><B>,</B><BR>
<B>void *</B><I>userdata</I><BR>
<B>);</B><BR>
<H3>Parameters</H3>
<TABLE>
<TRVALIGN=top><TD><I>callback</I></TD>
<TD>A pointer to a user defined stream callback function.<BR>
</TD><TRVALIGN=top><TD><I>lenbytes</I></TD>
<TD>Size of the data in BYTES the callback will require to be written to the buffer.<BR>
</TD><TRVALIGN=top><TD><I>mode</I></TD>
<TD>Description of the raw sample data being opened. see FSOUND_MODES for a description of these modes.<BR>
</TD><TRVALIGN=top><TD><I>samplerate</I></TD>
<TD>Rate of playback. Be careful you dont set the sample rate too high so that the stream servicer (ie the harddisk) may not keep up. <BR>
</TD><TRVALIGN=top><TD><I>userdata</I></TD>
<TD>User data that is passed back into the stream callback when triggered.<BR>
</TD></TABLE>
<H3>Return Value</H3>
On success, a pointer to an opened stream is returned.<BR>
On failure, NULL is returned.<BR>
<H3>Remarks</H3>
This method only supports SIGNED RAW streams to be written to the buffer supplied by the callback. <BR>
They can be 8 or 16 bit, mono or stereo.<BR>
'lenbytes' may be rounded down to the nearest sample alignment in bytes. Ie if you specified 1001 bytes for a 16bit stereo sample stream, len would return 1000 in the callback. (250 samples * 4 bytes per sample)<BR>
PlayStation 2 IMPORTANT! : if FSOUND_SendData is NOT called from the stream callback the IOP will hang because it is waiting for this command to be executed before it can unlock its buffer.<BR>
___________________<BR>
Supported on the following platforms : Win32, WinCE, Linux, Macintosh, XBox, PlayStation 2, GameCube<BR>