이 파일의 문서화 페이지로 가기
30 #ifndef _IAK_STREAM_MGR_H_
31 #define _IAK_STREAM_MGR_H_
42 #define AK_MONITOR_STREAMNAME_MAXLENGTH (64)
43 #define AK_MONITOR_DEVICENAME_MAXLENGTH (16)
120 #pragma pack(push, 4)
463 bool * out_pbEndOfStream
631 bool * out_pbEndOfStream
747 bool in_bCaching =
false
840 #endif //_IAK_STREAM_MGR_H_
bool bIsOpen
True when the file is open (implementations may defer file opening)
const AkOSChar * pszFileName
File name. Only one of pszFileName or fileID should be valid (pszFileName null while fileID is not AK...
AkUInt32 uCachePinnedBytes
Number of bytes that can be pinned into cache.
static IAkStreamMgr * Get()
AkUInt32 uBufferedSize
Size of available data (specific to IAkAutoStream)
virtual void * GetData(AkUInt32 &out_uSize)=0
AkUInt64 uLoopEnd
Set to the end of loop (byte offset from the beginning of the stream) for streams that loop,...
virtual IAkStreamMgrProfile * GetStreamMgrProfile()=0
Definition of data structures for AkAudioObject
#define AK_MONITOR_DEVICENAME_MAXLENGTH
AkDeviceID deviceID
Device ID
AkUInt64 uFileSize
File size
virtual AKRESULT SetMinimalBufferSize(AkUInt32 in_uMinBufferSize)=0
virtual AkUInt64 GetPosition(bool *out_pbEndOfStream)=0
bool bCanRead
Specifies whether or not the device is readable
Automatic streams buffer settings/constraints.
AkUInt32 uPriority
Stream priority
virtual void * GetFileDescriptor()=0
virtual AKRESULT CreateStd(const AkFileOpenData &in_FileOpen, IAkStdStream *&out_pStream, bool in_bSyncOpen)=0
virtual IAkDeviceProfile * GetDeviceProfile(AkUInt32 in_uDeviceIndex)=0
AkUInt32 uVirtualBufferingSize
Size of available data including requested data (specific to IAkAutoStream)
virtual AKRESULT ReleaseBuffer()=0
AkUInt32 uPeakRefdMemUsed
Memory peak since monitoring started
virtual ~IAkStreamMgr()
Virtual destructor on interface to avoid warnings.
@ AK_OpenModeWriteOvrwr
Write-only access (deletes the file if it already exists)
virtual void GetInfo(AkStreamInfo &out_info)=0
virtual AkUInt32 GetBlockSize()=0
AKRESULT
Standard function call result.
AkUInt32 AkDeviceID
I/O device ID
virtual AkUInt32 GetNumStreams()=0
@ AK_OpenModeReadWrite
Read and write access
AkUInt32 uNumBytesTransferedLowLevel
Transfered amount (from low-level IO only) since last query (Accumulate/Reset)
virtual void GetStreamData(AkStreamData &out_streamData)=0
@ AK_OpenModeRead
Read-only access
AkUInt32 uBlockSize
Hard user constraint: When non-zero, buffer size will be a multiple of that number,...
virtual AKRESULT Stop()=0
bool bIsAutoStream
True for auto streams
AkUInt32 uLowLevelBytesTransferred
Number of bytes transferred exclusively via low-level
virtual void OnProfileEnd()=0
Notify device when monitor sampling ends.
uint8_t AkUInt8
Unsigned 8-bit integer
virtual AkUInt32 GetNominalBuffering()=0
@ AK_MoveEnd
Move offset from the end of the stream
virtual AkUInt32 GetBlockSize()=0
bool bIsLanguageSpecific
True when the file was found in a language specific location
virtual AkStmStatus GetStatus()=0
virtual AKRESULT Read(void *in_pBuffer, AkUInt32 in_uReqSize, bool in_bWait, AkPriority in_priority, AkReal32 in_fDeadline, AkUInt32 &out_uSize)=0
@ AK_MoveBegin
Move offset from the start of the stream
float AkReal32
32-bit floating point
AkUInt32 uStreamID
Unique stream identifier
virtual void OnProfileStart()=0
Notify device when monitor sampling starts.
AkUInt32 uStringSize
Device name string's size (number of characters)
@ AK_StmStatusIdle
The stream is idle
AkUInt32 AkFileID
Integer-type file identifier
virtual AKRESULT SetStreamName(const AkOSChar *in_pszStreamName)=0
virtual void GetData(AkDeviceData &out_deviceData)=0
virtual void ClearNew()=0
AkOpenMode eOpenMode
Open mode.
virtual ~IAkStreamMgrProfile()
Virtual destructor on interface to avoid warnings.
virtual void StopMonitoring()=0
virtual AKRESULT SetHeuristics(const AkAutoStmHeuristics &in_heuristics)=0
#define AKSOUNDENGINE_API
AkUInt64 uLoopStart
Set to the start of loop (byte offset from the beginning of the stream) for streams that loop,...
AkUInt32 uTargetBufferingSize
Total stream buffer size (specific to IAkAutoStream)
AkReal32 fThroughput
Average throughput in bytes/ms
virtual AKRESULT SetStreamName(const AkOSChar *in_pszStreamName)=0
AkUInt32 uGranularity
IO memory pool block size
AkUInt32 uFrees
Cumulative number of deallocations
virtual AkStmStatus WaitForPendingOperation()=0
AkUInt32 uNumLowLevelRequestsCancelled
Number of low-level transfers that were cancelled in the previous monitoring frame
virtual AKRESULT CreateAuto(void *in_pBuffer, AkUInt64 in_uSize, const AkAutoStmHeuristics &in_heuristics, IAkAutoStream *&out_pStream)=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...
AkFileOpenData(AkFileID in_idFile, AkFileSystemFlags *in_pFlags)
AkUInt32 uMemUsed
IO memory pool used
@ AK_MoveCurrent
Move offset from the current stream position
AkUInt32 uStreamID
Unique stream identifier
@ AK_StmStatusPending
Operation pending / The stream is waiting for I/O
virtual ~IAkDeviceProfile()
Virtual destructor on interface to avoid warnings.
Stream general information.
virtual AKRESULT RelocateMemoryStream(IAkAutoStream *in_pStream, AkUInt8 *in_pNewStart)=0
Make a memory stream point to a new area in memory, otherwise keeping the exact same state.
AkInt8 AkPriority
Priority
virtual AKRESULT StartMonitoring()=0
AkDeviceID deviceID
Device ID
AkUInt32 uNumActiveStreams
Number of streams that have been active in the previous frame
virtual AKRESULT QueryBufferingStatus(AkUInt32 &out_uNumBytesAvailable)=0
const AkOSChar * pszName
User-defined stream name (specified through AK::IAkStdStream::SetStreamName() or AK::IAkAutoStream::S...
AkUInt32 uCustomParam
Custom number queried from low-level IO.
virtual ~IAkStdStream()
Virtual destructor on interface to avoid warnings.
AkUInt32 uTotalBytesTransferred
Number of bytes transferred, including cached transfers
virtual void GetInfo(AkStreamInfo &out_info)=0
virtual AKRESULT PinFileInCache(AkFileID in_fileID, AkFileSystemFlags *in_pFSFlags, AkPriority in_uPriority)=0
AkUInt32 uUnreferencedCachedBytes
IO memory that is cached but is not currently used for active streams.
AkDeviceID deviceID
Device ID
virtual IAkStreamProfile * GetStreamProfile(AkUInt32 in_uStreamIndex)=0
virtual AKRESULT GetBuffer(void *&out_pBuffer, AkUInt32 &out_uSize, bool in_bWait)=0
AkReal32 fEstimatedThroughput
Estimated throughput heuristic
virtual void GetHeuristics(AkAutoStmHeuristics &out_heuristics)=0
AkUInt32 uAllocs
Cumulative number of allocations
File system flags for file descriptors mapping.
AkUInt32 uMemSize
IO memory pool size
AkUInt32 uNumLowLevelRequestsPending
Number of low-level transfers that are currently pending
int64_t AkInt64
Signed 64-bit integer
@ AK_OpenModeWrite
Write-only access (opens the file if it already exists)
uint64_t AkUInt64
Unsigned 64-bit integer
@ AK_StmStatusCompleted
Operation completed / Automatic stream reached end
AkUInt32 uNumBytesTransfered
Transfered amount since last query (Accumulate/Reset)
virtual void GetDesc(AkDeviceDesc &out_deviceDesc)=0
AkStmStatus
Stream status.
bool bCanWrite
Specifies whether or not the device is writable
AkFileSystemFlags * pFlags
Flags for opening, null when unused
AkOpenMode
File open mode.
AkUInt32 uNumLowLevelRequestsCompleted
Number of low-level transfers that have completed in the previous monitoring frame
AkUInt64 uSize
Total stream/file size in bytes
virtual ~IAkAutoStream()
Virtual destructor on interface to avoid warnings.
AkFileOpenData(AkFileID in_idFile, AkOpenMode in_eOpenMode=AK_OpenModeRead, AkFileSystemFlags *in_pFlags=NULL)
virtual AKRESULT Start()=0
virtual AKRESULT SetPosition(AkInt64 in_iMoveOffset, AkMoveMethod in_eMoveMethod)=0
AkReal32 fAvgCacheEfficiency
Total bytes from cache as a percentage of total bytes.
virtual AKRESULT SetPosition(AkInt64 in_iMoveOffset, AkMoveMethod in_eMoveMethod)=0
uint32_t AkUInt32
Unsigned 32-bit integer
static const AkFileID AK_INVALID_FILE_ID
Invalid file ID
AkFileOpenData(const AkOSChar *in_pszFileName, AkOpenMode in_eOpenMode=AK_OpenModeRead, AkFileSystemFlags *in_pFlags=NULL)
AkDeviceID deviceID
Device ID
virtual ~IAkStreamProfile()
Virtual destructor on interface to avoid warnings.
@ AK_StmStatusError
The low-level I/O reported an error
virtual AKRESULT CreateAuto(const AkFileOpenData &in_FileOpen, const AkAutoStmHeuristics &in_heuristics, AkAutoStmBufSettings *in_pBufferSettings, IAkAutoStream *&out_pStream, bool in_bSyncOpen, bool in_bCaching=false)=0
AkUtf16 szStreamName[AK_MONITOR_STREAMNAME_MAXLENGTH]
Stream name
AkFileOpenData(const AkOSChar *in_pszFileName, AkFileSystemFlags *in_pFlags)
AkUInt32 uStringSize
Stream name string's size (number of characters)
virtual AkUInt32 GetNumDevices()=0
AkPriority priority
The stream priority. it should be between AK_MIN_PRIORITY and AK_MAX_PRIORITY (included).
AkUInt32 uMemoryReferenced
Amount of streaming memory referenced by this stream
virtual AKRESULT Write(void *in_pBuffer, AkUInt32 in_uReqSize, bool in_bWait, AkPriority in_priority, AkReal32 in_fDeadline, AkUInt32 &out_uSize)=0
Automatic streams heuristics.
virtual AKRESULT UnpinFileInCache(AkFileID in_fileID, AkPriority in_uPriority)=0
bool bIsCachingStream
True for caching streams
static IAkStreamMgr * m_pStreamMgr
virtual void GetStreamRecord(AkStreamRecord &out_streamRecord)=0
AkUtf16 szDeviceName[AK_MONITOR_DEVICENAME_MAXLENGTH]
Device name
AkFileID fileID
File ID. Only one of pszFileName or fileID should be valid (pszFileName null while fileID is not AK_I...
#define AK_MONITOR_STREAMNAME_MAXLENGTH
virtual AKRESULT GetBufferStatusForPinnedFile(AkFileID in_fileID, AkReal32 &out_fPercentBuffered, bool &out_bCacheFull)=0
virtual AKRESULT UpdateCachingPriority(AkFileID in_fileID, AkPriority in_uPriority, AkPriority in_uOldPriority)=0
virtual void * GetFileDescriptor()=0
AkUInt64 uFilePosition
Current position
virtual AkUInt64 GetPosition(bool *out_pbEndOfStream)=0
virtual void ClearNew()=0
@ AK_StmStatusCancelled
Operation cancelled
지원이 필요하신가요?
질문이 있으신가요? 문제를 겪고 계신가요? 더 많은 정보가 필요하신가요? 저희에게 문의해주시면 도와드리겠습니다!
지원 페이지를 방문해 주세요
작업하는 프로젝트에 대해 알려주세요. 언제든지 도와드릴 준비가 되어 있습니다.
프로젝트를 등록하세요. 아무런 조건이나 의무 사항 없이 빠른 시작을 도와드리겠습니다.
Wwise를 시작해 보세요