Stores sound pcm data buffers. More...
#include <sound_data.h>
Inheritance diagram for sound::ISoundDataOpen:
Collaboration diagram for sound::ISoundDataOpen:Public Member Functions | |
| ISoundDataOpen (const OggFileDecodeInfo &decode_info) | |
| virtual | ~ISoundDataOpen ()=default |
| virtual bool | isStreaming () const noexcept=0 |
| Iff the data is streaming, there is more than one buffer. | |
| virtual std::tuple< ALuint, ALuint, ALuint > | getOrLoadBufferAt (ALuint offset)=0 |
| Load a buffer containing data starting at the given offset. | |
Static Public Member Functions | |
| static std::shared_ptr< ISoundDataOpen > | fromOggFile (std::unique_ptr< RAIIOggFile > oggfile, const std::string &filename_for_logging) |
Public Attributes | |
| OggFileDecodeInfo | m_decode_info |
Stores sound pcm data buffers.
|
inlineexplicit |
|
virtualdefault |
|
static |
References sound::SOUND_DURATION_MAX_SINGLE, and warningstream.
Referenced by sound::SoundDataUnopenBuffer::open(), and sound::SoundDataUnopenFile::open().
Here is the caller graph for this function:
|
pure virtual |
Load a buffer containing data starting at the given offset.
Or just get it if it was already loaded.
This function returns multiple values:
buffer: The OpenAL buffer.buffer_end: The offset (in the file) where buffer ends (exclusive).offset_in_buffer: Offset relative to buffer's start where the requested offset is. offset_in_buffer == 0 is guaranteed if some loaded buffer ends at offset.| offset | The start of the buffer. |
{buffer, buffer_end, offset_in_buffer} or {0, sound_data_end, 0} if offset is invalid. Implemented in sound::SoundDataOpenBuffer, and sound::SoundDataOpenStream.
|
pure virtualnoexcept |
Iff the data is streaming, there is more than one buffer.
Implemented in sound::SoundDataOpenBuffer, and sound::SoundDataOpenStream.
| OggFileDecodeInfo sound::ISoundDataOpen::m_decode_info |