36 #ifndef _AK_STREAM_MGR_MODULE_H_
37 #define _AK_STREAM_MGR_MODULE_H_
88 #define AK_SCHEDULER_BLOCKING (0x01)
92 #define AK_SCHEDULER_DEFERRED_LINED_UP (0x02)
382 bool & io_bCancelAllTransfersForThisFile
546 IAkFileLocationResolver * in_pFileLocationResolver
583 IAkLowLevelIOHook * in_pLowLevelHook
639 const AkOSChar *
const in_pLanguageName,
676 #endif //_AK_STREAM_MGR_MODULE_H_
virtual ~IAkIOHookBlocking()
Virtual destructor on interface to avoid warnings.
AkOpenMode
File open mode.
AkDeviceID deviceID
Device ID, obtained from CreateDevice()
AkUInt32 uBufferSize
Size of the buffer in which the I/O hook can write to.
#define AK_CALLBACK(__TYPE__, __NAME__)
virtual ~IAkLowLevelIOHook()
Virtual destructor on interface to avoid warnings.
void * pBuffer
Buffer for data transfer.
virtual AKRESULT Read(AkFileDesc &in_fileDesc, const AkIoHeuristics &in_heuristics, AkAsyncIOTransferInfo &io_transferInfo)=0
AkUInt32 uCustomParamSize
Size of the custom parameter.
virtual void Cancel(AkFileDesc &in_fileDesc, AkAsyncIOTransferInfo &io_transferInfo, bool &io_bCancelAllTransfersForThisFile)=0
AkUInt32 uGranularity
I/O requests granularity (typical bytes/request).
void(* AkIOCallback)(AkAsyncIOTransferInfo *in_pTransferInfo, AKRESULT in_eResult)
AKRESULT
Standard function call result.
AKRESULT __cdecl AddLanguageChangeObserver(AkLanguageChangeHandler in_handler, void *in_pCookie)
virtual AKRESULT Read(AkFileDesc &in_fileDesc, const AkIoHeuristics &in_heuristics, void *out_pBuffer, AkIOTransferInfo &in_transferInfo)=0
File system flags for file descriptors mapping.
Base interface for Low-Level I/O hooks. Defines common methods across both types of hooks.
virtual AKRESULT Write(AkFileDesc &in_fileDesc, const AkIoHeuristics &in_heuristics, AkAsyncIOTransferInfo &io_transferInfo)=0
AKRESULT __cdecl DestroyDevice(AkDeviceID in_deviceID)
virtual ~IAkFileLocationResolver()
Virtual destructor on interface to avoid warnings.
#define AK_EXTERNAPIFUNC(__TYPE__, __NAME__)
AkUInt32 uRequestedSize
Exact number of requested bytes for this transfer. Always equal to or smaller than uBufferSize.
AkUInt32 AkDeviceID
I/O device ID.
virtual AkUInt32 GetDeviceData()=0
void __cdecl FlushAllCaches()
AkDeviceID __cdecl CreateDevice(const AkDeviceSettings &in_settings, IAkLowLevelIOHook *in_pLowLevelHook)
void __cdecl RemoveLanguageChangeObserver(void *in_pCookie)
virtual AkUInt32 GetBlockSize(AkFileDesc &in_fileDesc)=0
IAkFileLocationResolver *__cdecl GetFileLocationResolver()
AkUInt32 uMaxCachePinnedBytes
Maximum number of bytes that can be "pinned" using AK::SoundEngine::PinEventInStreamCache() or AK::IA...
AkIOCallback pCallback
Callback function used to notify the high-level device when the transfer is complete.
AkUInt32 uIOMemorySize
Size of memory pool for I/O (for automatic streams). It is passed directly to AK::MemoryMgr::CreatePo...
void __cdecl SetFileLocationResolver(IAkFileLocationResolver *in_pFileLocationResolver)
AkMemPoolId __cdecl GetPoolID()
AkInt8 AkPriority
Priority.
AkMemPoolAttributes ePoolAttributes
Attributes for internal I/O memory pool. Note that these pools are always allocated internally as AkF...
bool bUseStreamCache
If true the device attempts to reuse IO buffers that have already been streamed from disk....
AkUInt64 uFilePosition
File offset where transfer should begin.
virtual ~IAkIOHookDeferred()
Virtual destructor on interface to avoid warnings.
void * pCustomParam
Custom parameter.
virtual AKRESULT Write(AkFileDesc &in_fileDesc, const AkIoHeuristics &in_heuristics, void *in_pData, AkIOTransferInfo &io_transferInfo)=0
virtual AKRESULT Open(const AkOSChar *in_pszFileName, AkOpenMode in_eOpenMode, AkFileSystemFlags *in_pFlags, bool &io_bSyncOpen, AkFileDesc &io_fileDesc)=0
void(* AkLanguageChangeHandler)(const AkOSChar *const in_pLanguageName, void *in_pCookie)
void * pUserData
Custom user data.
virtual void GetDeviceDesc(AkDeviceDesc &out_deviceDesc)=0
AKRESULT __cdecl SetCurrentLanguage(const AkOSChar *in_pszLanguageName)
void __cdecl GetDefaultDeviceSettings(AkDeviceSettings &out_settings)
AkReal32 fDeadline
Operation deadline (ms).
AkUInt32 AkFileID
Integer-type file identifier.
AkInt64 iFileSize
File size in bytes.
virtual AKRESULT Close(AkFileDesc &in_fileDesc)=0
AkUInt32 uSchedulerTypeFlags
Scheduler type flags.
AkReal32 fTargetAutoStmBufferLength
Targetted automatic stream buffer length (ms). When a stream reaches that buffering,...
void __cdecl GetDefaultSettings(AkStreamMgrSettings &out_settings)
const AkOSChar *__cdecl GetCurrentLanguage()
AkThreadProperties threadProperties
Scheduler thread properties.
void * pCookie
Reserved. The I/O device uses this cookie to retrieve the owner of the transfer.
AkUInt32 uMaxConcurrentIO
Maximum number of transfers that can be sent simultaneously to the Low-Level I/O (applies to AK_SCHED...
AkUInt32 uIOMemoryAlignment
I/O memory pool alignment. It is passed directly to AK::MemoryMgr::CreatePool().
AkPriority priority
Operation priority (at the time it was scheduled and sent to the Low-Level I/O). Range is [AK_MIN_PRI...
AkInt32 AkMemPoolId
Memory pool ID.
AkFileHandle hFile
File handle/identifier.
IAkStreamMgr *__cdecl Create(const AkStreamMgrSettings &in_settings)