//! If seeking is supported, will return the length of the audio steam in seconds. Returns a negative number if the total time cannot be determined.
virtualfloatgetTotalTime()=0;
//! If available, returns the total decoded size of the audio stream. Returns a negative number if this cannot be determined.
virtualintgetTotalSize()=0;
//! Returns the compressed (original) size of the audio stream, before decoding.
virtualintgetCompressedSize()=0;
//! If seeking is supported, will return the current position in the stream in seconds. Returns a negative number if the current time cannot be determined.
virtualfloatgetCurrentTime()=0;
//! If available, returns the current position in the decoded audio stream in bytes. Returns a negative number if this cannot be determined.
virtualintgetCurrentPosition()=0;
//! Returns the position in the compressed (original) audio stream before decoding.
virtualintgetCurrentCompressedPosition()=0;
protected:
//! Pointer to the data source to take audio data from.