Drawing
Data
The following
example uses the ICDraw
DWORD
dwNumBuffers;
// Find out how many buffers need filling before
drawing starts.
ICGetBuffersWanted(hIC, &dwNumBuffers);
for (dw = 0; dw < dwNumBuffers; dw++)
{
ICDraw(hIC, 0, lpFormat, lpData, cbData, dw); // fill the pipeline
// Point
lpFormat and lpData to next format and buffer.
}
ICDrawStart(hIC);
// starts the clock
dw = 0;
while (fPlaying)
{
ICDraw(hIC, 0, lpFormat, lpData, chData, dw); // fill more buffers
// Point
lpFormat and lpData to next format and buffer,
// update
dw.
}
ICDrawStop(hIC);
// stops drawing and decompressing when done
ICDrawFlush(hIC);
// flushes any existing buffers
ICDrawEnd(hIC);
// ends decompression