SDL_audiolib 0.0.0
An audio decoding, resampling and mixing library
|
Abstract base class for audio decoders. More...
#include <Decoder.h>
Public Member Functions | |
Decoder () | |
virtual | ~Decoder () |
Decoder (const Decoder &)=delete | |
auto | operator= (const Decoder &) -> Decoder &=delete |
auto | isOpen () const -> bool |
auto | decode (float buf[], int len, bool &callAgain) -> int |
virtual auto | open (SDL_RWops *rwops) -> bool=0 |
virtual auto | getChannels () const -> int=0 |
virtual auto | getRate () const -> int=0 |
virtual auto | rewind () -> bool=0 |
virtual auto | duration () const -> std::chrono::microseconds=0 |
virtual auto | seekToTime (std::chrono::microseconds pos) -> bool=0 |
Static Public Member Functions | |
template<class... Decoders> | |
static auto | decoderFor (const std::string &filename) -> std::unique_ptr< Decoder > |
Find and return an instance of the first decoder that can open the specified file. More... | |
template<class... Decoders> | |
static auto | decoderFor (SDL_RWops *rwops) -> std::unique_ptr< Decoder > |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More... | |
static auto | decoderFor (const std::string &filename) -> std::unique_ptr< Decoder > |
Find and return an instance of the first decoder that can open the specified file. More... | |
static auto | decoderFor (SDL_RWops *rwops) -> std::unique_ptr< Decoder > |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More... | |
Protected Member Functions | |
void | setIsOpen (bool f) |
virtual auto | doDecoding (float buf[], int len, bool &callAgain) -> int=0 |
Abstract base class for audio decoders.
Aulib::Decoder::Decoder | ( | ) |
|
virtual |
|
delete |
auto Aulib::Decoder::decode | ( | float | buf[], |
int | len, | ||
bool & | callAgain | ||
) | -> int |
|
inlinestatic |
Find and return an instance of the first decoder that can open the specified file.
Only the specified decoder types will be tried.
|
static |
Find and return an instance of the first decoder that can open the specified file.
All decoders known by SDL_Audiolib will be tried. If you want to try your own decoders or limit the list of tried decoders, then use the templated version of this function instead.
|
inlinestatic |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
|
static |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
|
protectedpure virtual |
Implemented in Aulib::DecoderAdlmidi, Aulib::DecoderBassmidi, Aulib::DecoderDrflac, Aulib::DecoderDrmp3, Aulib::DecoderDrwav, Aulib::DecoderFlac, Aulib::DecoderFluidsynth, Aulib::DecoderModplug, Aulib::DecoderMpg123, Aulib::DecoderMusepack, Aulib::DecoderOpenmpt, Aulib::DecoderOpus, Aulib::DecoderSndfile, Aulib::DecoderVorbis, Aulib::DecoderWildmidi, and Aulib::DecoderXmp.
|
pure virtual |
Implemented in Aulib::DecoderAdlmidi, Aulib::DecoderBassmidi, Aulib::DecoderDrflac, Aulib::DecoderDrmp3, Aulib::DecoderDrwav, Aulib::DecoderFlac, Aulib::DecoderFluidsynth, Aulib::DecoderModplug, Aulib::DecoderMpg123, Aulib::DecoderMusepack, Aulib::DecoderOpenmpt, Aulib::DecoderOpus, Aulib::DecoderSndfile, Aulib::DecoderVorbis, Aulib::DecoderWildmidi, and Aulib::DecoderXmp.
|
pure virtual |
Implemented in Aulib::DecoderAdlmidi, Aulib::DecoderBassmidi, Aulib::DecoderDrflac, Aulib::DecoderDrmp3, Aulib::DecoderDrwav, Aulib::DecoderFlac, Aulib::DecoderFluidsynth, Aulib::DecoderModplug, Aulib::DecoderMpg123, Aulib::DecoderMusepack, Aulib::DecoderOpenmpt, Aulib::DecoderOpus, Aulib::DecoderSndfile, Aulib::DecoderVorbis, Aulib::DecoderWildmidi, and Aulib::DecoderXmp.
|
pure virtual |
Implemented in Aulib::DecoderAdlmidi, Aulib::DecoderBassmidi, Aulib::DecoderDrflac, Aulib::DecoderDrmp3, Aulib::DecoderDrwav, Aulib::DecoderFlac, Aulib::DecoderFluidsynth, Aulib::DecoderModplug, Aulib::DecoderMpg123, Aulib::DecoderMusepack, Aulib::DecoderOpenmpt, Aulib::DecoderOpus, Aulib::DecoderSndfile, Aulib::DecoderVorbis, Aulib::DecoderWildmidi, and Aulib::DecoderXmp.
auto Aulib::Decoder::isOpen | ( | ) | const -> bool |
|
pure virtual |
Implemented in Aulib::DecoderAdlmidi, Aulib::DecoderBassmidi, Aulib::DecoderDrflac, Aulib::DecoderDrmp3, Aulib::DecoderDrwav, Aulib::DecoderFlac, Aulib::DecoderFluidsynth, Aulib::DecoderModplug, Aulib::DecoderMpg123, Aulib::DecoderMusepack, Aulib::DecoderOpenmpt, Aulib::DecoderOpus, Aulib::DecoderSndfile, Aulib::DecoderVorbis, Aulib::DecoderWildmidi, and Aulib::DecoderXmp.
|
pure virtual |
Implemented in Aulib::DecoderAdlmidi, Aulib::DecoderBassmidi, Aulib::DecoderDrflac, Aulib::DecoderDrmp3, Aulib::DecoderDrwav, Aulib::DecoderFlac, Aulib::DecoderFluidsynth, Aulib::DecoderModplug, Aulib::DecoderMpg123, Aulib::DecoderMusepack, Aulib::DecoderOpenmpt, Aulib::DecoderOpus, Aulib::DecoderSndfile, Aulib::DecoderVorbis, Aulib::DecoderWildmidi, and Aulib::DecoderXmp.
|
pure virtual |
Implemented in Aulib::DecoderAdlmidi, Aulib::DecoderBassmidi, Aulib::DecoderDrflac, Aulib::DecoderDrmp3, Aulib::DecoderDrwav, Aulib::DecoderFlac, Aulib::DecoderFluidsynth, Aulib::DecoderModplug, Aulib::DecoderMpg123, Aulib::DecoderMusepack, Aulib::DecoderOpenmpt, Aulib::DecoderOpus, Aulib::DecoderSndfile, Aulib::DecoderVorbis, Aulib::DecoderWildmidi, and Aulib::DecoderXmp.
|
protected |