Audiokinetic Wwise Knowledge Base

Creating high-level I/O devices with the default Stream Manager

Different I/O devices should be created (using AK::StreamMgr::CreateDevice()) for each physical device. At the Stream Manager level (high-level), I/O devices are in fact scheduler threads, each with their own Streaming IO memory pool. Having separate I/O devices makes it possible to specify different I/O memory pool size, granularity and nominal buffering size, that are more adapted to their respective physical device.

In a system that uses multiple devices, you must register one and only one instance of an AK::StreamMgr::IAkFileLocationResolver to the Stream Manager (using AK::StreamMgr::SetFileLocationResolver()). When the Stream Manager needs to open a file, it calls AK::StreamMgr::IAkFileLocationResolver::Open(), and expects that the AkFileDesc structure that it passes gets filled with the file information and its associated device ID. Valid device IDs are returned from AK::StreamMgr::CreateDevice(). This is where you need to add implement your dispatching strategy.

The sound engine is not aware of where the files it needs are located, like SoundBanks and streamed audio files. It is up to you to resolve this in AK::StreamMgr::IAkFileLocationResolver::Open().


Article Details

Last Updated
17th o February, 2010

Would you like to...

Print this page Print this page

Email this page Email this page

Post a comment Post a comment

Subscribe me

Add to favorites Add to favorites

Remove Highlighting Remove Highlighting

Edit this Article

Quick Edit

Export to PDF

User Opinions (0 votes)

No users have voted.

How would you rate this answer?



Thank you for rating this answer.

Related Articles

No related articles were found.

Attachments

No attachments were found.

Continue