31 #ifndef _IAK_STREAM_MGR_H_
32 #define _IAK_STREAM_MGR_H_
42 #define AK_MONITOR_STREAMNAME_MAXLENGTH (64)
43 #define AK_MONITOR_DEVICENAME_MAXLENGTH (16)
244 virtual bool IsNew() = 0;
287 virtual bool IsNew() = 0;
432 bool * out_pbEndOfStream
453 virtual void Cancel() = 0;
605 bool * out_pbEndOfStream
819 #endif //_IAK_STREAM_MGR_H_
AkUInt32 uCustomParamSize
Size of the custom parameter.
AkOpenMode
File open mode.
bool bIsAutoStream
True for auto streams.
virtual void OnProfileEnd()=0
Notify device when monitor sampling ends.
AkUInt64 uFilePosition
Current position.
AkUtf16 szStreamName[AK_MONITOR_STREAMNAME_MAXLENGTH]
Stream name.
virtual AKRESULT Stop()=0
virtual ~IAkStreamMgrProfile()
Virtual destructor on interface to avoid warnings.
AkStmStatus
Stream status.
static const AkFileID AK_INVALID_FILE_ID
Invalid file ID.
AkPriority priority
The stream priority. it should be between AK_MIN_PRIORITY and AK_MAX_PRIORITY (included).
AkUInt32 uTotalBytesTransferred
Number of bytes transferred, including cached transfers.
bool bCanRead
Specifies whether or not the device is readable.
virtual AkUInt32 GetNumDevices()=0
AkUInt32 uCustomParamSize
File descriptor's uCustomParamSize.
Operation pending / The stream is waiting for I/O.
#define AKSOUNDENGINE_API
virtual ~IAkStdStream()
Virtual destructor on interface to avoid warnings.
AkUInt32 uLowLevelBytesTransferred
Number of bytes transferred exclusively via low-level.
AkReal32 fAvgCacheEfficiency
Total bytes from cache as a percentage of total bytes.
AkUInt32 uStreamID
Unique stream identifier.
Automatic streams heuristics.
AkUInt32 uUnreferencedCachedBytes
IO memory that is cached but is not currently used for active streams.
AKRESULT
Standard function call result.
Write-only access (opens the file if it already exists)
AkUInt32 uAllocs
Cumulative number of allocations.
AkDeviceID deviceID
Device ID.
Move offset from the end of the stream.
virtual void ClearNew()=0
File system flags for file descriptors mapping.
virtual AKRESULT Write(void *in_pBuffer, AkUInt32 in_uReqSize, bool in_bWait, AkPriority in_priority, AkReal32 in_fDeadline, AkUInt32 &out_uSize)=0
AkUInt32 uNumLowLevelRequestsCompleted
Number of low-level transfers that have completed in the previous monitoring frame.
virtual AKRESULT GetBufferStatusForPinnedFile(AkFileID in_fileID, AkReal32 &out_fPercentBuffered, bool &out_bCacheFull)=0
AkUInt32 uLoopStart
Set to the start of loop (byte offset from the beginning of the stream) for streams that loop,...
virtual AKRESULT QueryBufferingStatus(AkUInt32 &out_uNumBytesAvailable)=0
virtual ~IAkAutoStream()
Virtual destructor on interface to avoid warnings.
AkUInt32 uNumLowLevelRequestsPending
Number of low-level transfers that are currently pending.
AkUInt32 uNumLowLevelRequestsCancelled
Number of low-level transfers that were cancelled in the previous monitoring frame.
AkUInt32 AkDeviceID
I/O device ID.
virtual AKRESULT SetPosition(AkInt64 in_iMoveOffset, AkMoveMethod in_eMoveMethod, AkInt64 *out_piRealOffset)=0
virtual AkUInt32 GetNominalBuffering()=0
Move offset from the start of the stream.
AkUInt32 uStringSize
Device name string's size (number of characters)
virtual AkUInt32 GetNumStreams()=0
virtual ~IAkDeviceProfile()
Virtual destructor on interface to avoid warnings.
Automatic streams buffer settings/constraints.
AkUInt32 uNumBytesTransfered
Transfered amount since last query (Accumulate/Reset)
bool bIsCachingStream
True for caching streams.
Operation completed / Automatic stream reached end.
AkReal32 fThroughput
Average throughput in bytes/ms.
virtual void StopMonitoring()=0
bool bIsLanguageSpecific
True when the file location depends on language.
AkReal32 fEstimatedThroughput
Estimated throughput heuristic.
virtual AKRESULT UpdateCachingPriority(AkFileID in_fileID, AkPriority in_uPriority, AkPriority in_uOldPriority)=0
virtual AKRESULT UnpinFileInCache(AkFileID in_fileID, AkPriority in_uPriority)=0
virtual AkUInt64 GetPosition(bool *out_pbEndOfStream)=0
AkUInt32 uCustomParam
File descriptor's pCustomParam (on 32 bits)
virtual void GetStreamRecord(AkStreamRecord &out_streamRecord)=0
virtual void GetData(AkDeviceData &out_deviceData)=0
bool bIsOpen
True when the file is open (implementations may defer file opening)
virtual AKRESULT SetStreamName(const AkOSChar *in_pszStreamName)=0
virtual void * GetData(AkUInt32 &out_uSize)=0
AkDeviceID deviceID
Device ID.
virtual void * GetFileDescriptor()=0
AkInt8 AkPriority
Priority.
virtual IAkStreamMgrProfile * GetStreamMgrProfile()=0
virtual AkUInt32 GetBlockSize()=0
virtual AKRESULT SetHeuristics(const AkAutoStmHeuristics &in_heuristics)=0
virtual void GetInfo(AkStreamInfo &out_info)=0
Write-only access (deletes the file if it already exists)
AkUInt64 uSize
Total stream/file size in bytes.
virtual ~IAkStreamProfile()
Virtual destructor on interface to avoid warnings.
The low-level I/O reported an error.
AkUInt64 uFileSize
File size.
AkUInt32 uStreamID
Unique stream identifier.
virtual AKRESULT SetMinimalBufferSize(AkUInt32 in_uMinBufferSize)=0
AkUInt32 uPriority
Stream priority.
virtual void GetInfo(AkStreamInfo &out_info)=0
virtual void * GetFileDescriptor()=0
static IAkStreamMgr * m_pStreamMgr
AkUInt32 uGranularity
IO memory pool block size.
virtual AKRESULT GetBuffer(void *&out_pBuffer, AkUInt32 &out_uSize, bool in_bWait)=0
static IAkStreamMgr * Get()
AkUInt32 uNumBytesTransferedLowLevel
Transfered amount (from low-level IO only) since last query (Accumulate/Reset)
virtual IAkDeviceProfile * GetDeviceProfile(AkUInt32 in_uDeviceIndex)=0
AkUInt32 uNumBytesPrefetch
#define AK_MONITOR_STREAMNAME_MAXLENGTH
AkUInt32 uMemoryReferenced
Amount of streaming memory referenced by this stream.
AkUInt32 uVirtualBufferingSize
Size of available data including requested data (specific to IAkAutoStream)
AkUInt32 uCustomParam
Custom number queried from low-level IO.
AkUInt32 uPeakRefdMemUsed
Memory peak since monitoring started.
void * pCustomParam
Custom parameter.
#define AK_MONITOR_DEVICENAME_MAXLENGTH
AkUInt32 uMemSize
IO memory pool size.
virtual AKRESULT CreateAuto(const AkOSChar *in_pszFileName, AkFileSystemFlags *in_pFSFlags, const AkAutoStmHeuristics &in_heuristics, AkAutoStmBufSettings *in_pBufferSettings, IAkAutoStream *&out_pStream, bool in_bSyncOpen)=0
virtual AkUInt64 GetPosition(bool *out_pbEndOfStream)=0
AkUInt32 uCompanyID
Company ID (Wwise uses AKCOMPANYID_AUDIOKINETIC, defined in AkTypes.h, for soundbanks and standard st...
AkUInt32 AkFileID
Integer-type file identifier.
Move offset from the current stream position.
virtual void GetDesc(AkDeviceDesc &out_deviceDesc)=0
virtual AkUInt32 GetBlockSize()=0
AkUInt32 uCodecID
File/codec type ID (defined in AkTypes.h)
virtual ~IAkStreamMgr()
Virtual destructor on interface to avoid warnings.
virtual IAkStreamProfile * GetStreamProfile(AkUInt32 in_uStreamIndex)=0
AkUInt32 uMemUsed
IO memory pool used.
AkFileSystemFlags(AkUInt32 in_uCompanyID, AkUInt32 in_uCodecID, AkUInt32 in_uCustomParamSize, void *in_pCustomParam, bool in_bIsLanguageSpecific, AkFileID in_uCacheID)
virtual AKRESULT PinFileInCache(AkFileID in_fileID, AkFileSystemFlags *in_pFSFlags, AkPriority in_uPriority)=0
AkUInt32 uStringSize
Stream name string's size (number of characters)
virtual AKRESULT ReleaseBuffer()=0
virtual AKRESULT CreateStd(const AkOSChar *in_pszFileName, AkFileSystemFlags *in_pFSFlags, AkOpenMode in_eOpenMode, IAkStdStream *&out_pStream, bool in_bSyncOpen)=0
virtual AkStmStatus GetStatus()=0
virtual void GetHeuristics(AkAutoStmHeuristics &out_heuristics)=0
AkUInt32 uCachePinnedBytes
Number of bytes that can be pinned into cache.
virtual AKRESULT SetPosition(AkInt64 in_iMoveOffset, AkMoveMethod in_eMoveMethod, AkInt64 *out_piRealOffset)=0
AkDeviceID deviceID
Device ID.
const AkOSChar * pszName
User-defined stream name (specified through AK::IAkStdStream::SetStreamName() or AK::IAkAutoStream::S...
AkUInt32 uBlockSize
Hard user constraint: When non-zero, buffer size will be a multiple of that number,...
virtual AKRESULT Read(void *in_pBuffer, AkUInt32 in_uReqSize, bool in_bWait, AkPriority in_priority, AkReal32 in_fDeadline, AkUInt32 &out_uSize)=0
AkUInt32 uFrees
Cumulative number of deallocations.
virtual void ClearNew()=0
virtual void OnProfileStart()=0
Notify device when monitor sampling starts.
virtual AKRESULT Start()=0
bool bActive
True if this stream has been active (that is, was ready for I/O or had at least one pending I/O trans...
AkUInt32 uLoopEnd
Set to the end of loop (byte offset from the beginning of the stream) for streams that loop,...
AkUInt32 uTargetBufferingSize
Total stream buffer size (specific to IAkAutoStream)
virtual AKRESULT SetMinTargetBufferSize(AkUInt32 in_uMinTargetBufferSize)=0
AkUtf16 szDeviceName[AK_MONITOR_DEVICENAME_MAXLENGTH]
Device name.
virtual AKRESULT StartMonitoring()=0
AkUInt32 uBufferedSize
Size of available data (specific to IAkAutoStream)
AkDeviceID deviceID
Device ID.
virtual AKRESULT SetStreamName(const AkOSChar *in_pszStreamName)=0
bool bCanWrite
Specifies whether or not the device is writable.
virtual void GetStreamData(AkStreamData &out_streamData)=0
AkUInt32 uNumActiveStreams
Number of streams that have been active in the previous frame.
Stream general information.