Skylicht Engine
Loading...
Searching...
No Matches
Skylicht::Audio::IStreamCursor Class Referenceabstract

Interface for a stream cursor, providing seek and read operations on an audio stream. More...

#include <Stream/IStream.h>

Inheritance diagram for Skylicht::Audio::IStreamCursor:
Skylicht::Audio::CFileStreamCursor Skylicht::Audio::CMemoryStreamCursor Skylicht::Audio::COnlineMemoryStreamCursor Skylicht::CZipAudioFileStreamCursor

Public Types

enum  EOrigin { OriginStart , OriginCurrent , OriginEnd }
 Origin for seek operations. More...

Public Member Functions

virtual int seek (int pos, EOrigin origin)=0
 Move the cursor position.
virtual int tell ()=0
 Get current cursor position.
virtual int read (unsigned char *buff, int len)=0
 Read data from the stream.
virtual bool endOfStream ()=0
 Check if the cursor is at the end of the stream.
virtual int size ()=0
 Get total size of the stream.
virtual bool readyReadData (int len)=0
 Check if a certain amount of data is ready to be read.
virtual void trim ()
 Trim read data from the stream (used in dynamic streams).

Detailed Description

Interface for a stream cursor, providing seek and read operations on an audio stream.

Member Enumeration Documentation

◆ EOrigin

Origin for seek operations.

Enumerator
OriginStart 

Seek from the beginning of the stream.

OriginCurrent 

Seek from the current position.

OriginEnd 

Seek from the end of the stream.

Member Function Documentation

◆ endOfStream()

virtual bool Skylicht::Audio::IStreamCursor::endOfStream ( )
pure virtual

Check if the cursor is at the end of the stream.

Returns
True if at EOF

Implemented in Skylicht::Audio::CFileStreamCursor, Skylicht::Audio::CMemoryStreamCursor, Skylicht::Audio::COnlineMemoryStreamCursor, and Skylicht::CZipAudioFileStreamCursor.

◆ read()

virtual int Skylicht::Audio::IStreamCursor::read ( unsigned char * buff,
int len )
pure virtual

Read data from the stream.

Parameters
buffDestination buffer
lenNumber of bytes to read
Returns
Number of bytes actually read

Implemented in Skylicht::Audio::CFileStreamCursor, Skylicht::Audio::CMemoryStreamCursor, Skylicht::Audio::COnlineMemoryStreamCursor, and Skylicht::CZipAudioFileStreamCursor.

◆ readyReadData()

virtual bool Skylicht::Audio::IStreamCursor::readyReadData ( int len)
pure virtual

Check if a certain amount of data is ready to be read.

Parameters
lenNumber of bytes to check
Returns
True if data is available

Implemented in Skylicht::Audio::CFileStreamCursor, Skylicht::Audio::CMemoryStreamCursor, Skylicht::Audio::COnlineMemoryStreamCursor, and Skylicht::CZipAudioFileStreamCursor.

◆ seek()

virtual int Skylicht::Audio::IStreamCursor::seek ( int pos,
EOrigin origin )
pure virtual

Move the cursor position.

Parameters
posOffset in bytes
originWhere to seek from
Returns
0 on success, or -1 on error

Implemented in Skylicht::Audio::CFileStreamCursor, Skylicht::Audio::CMemoryStreamCursor, Skylicht::Audio::COnlineMemoryStreamCursor, and Skylicht::CZipAudioFileStreamCursor.

◆ size()

virtual int Skylicht::Audio::IStreamCursor::size ( )
pure virtual

◆ tell()

virtual int Skylicht::Audio::IStreamCursor::tell ( )
pure virtual

◆ trim()

virtual void Skylicht::Audio::IStreamCursor::trim ( )
inlinevirtual

Trim read data from the stream (used in dynamic streams).

Reimplemented in Skylicht::Audio::COnlineMemoryStreamCursor.


The documentation for this class was generated from the following file: