|
OpenTTD Source 20260208-master-g43af8e94d0
|
Opus sound loader. More...
Public Member Functions | |
| bool | Load (SoundEntry &sound, bool new_format, std::vector< std::byte > &data) const override |
| Load a sound from the file and offset in the given sound entry. | |
| Public Member Functions inherited from SoundLoader | |
| SoundLoader (std::string_view name, std::string_view description, int priority) | |
| Public Member Functions inherited from PriorityBaseProvider< SoundLoader > | |
| constexpr | PriorityBaseProvider (std::string_view name, std::string_view description, int priority) |
| int | GetPriority () const |
| Public Member Functions inherited from BaseProvider< SoundLoader > | |
| constexpr | BaseProvider (std::string_view name, std::string_view description) |
| std::string_view | GetName () const |
| std::string_view | GetDescription () const |
Static Public Attributes | |
| static constexpr uint16_t | OPUS_SAMPLE_RATE = 48000 |
| OpusFile always decodes at 48kHz. | |
| static constexpr uint8_t | OPUS_SAMPLE_BITS = 16 |
| OpusFile op_read() uses 16 bits per sample. | |
| static constexpr size_t | MIN_OPUS_FILE_SIZE = 57U |
| static constexpr size_t | DECODE_BUFFER_SAMPLES = 5760 * 2 |
| static constexpr size_t | DECODE_BUFFER_BYTES = DECODE_BUFFER_SAMPLES * sizeof(opus_int16) |
Static Private Attributes | |
| static SoundLoader_Opus | instance {} |
Additional Inherited Members | |
| Protected Attributes inherited from PriorityBaseProvider< SoundLoader > | |
| const int | priority |
| Protected Attributes inherited from BaseProvider< SoundLoader > | |
| const std::string_view | name |
| const std::string_view | description |
Opus sound loader.
Definition at line 23 of file soundloader_opus.cpp.
|
inline |
Definition at line 25 of file soundloader_opus.cpp.
|
inlineoverridevirtual |
Load a sound from the file and offset in the given sound entry.
It is up to the implementations to update the sound's channels, bits_per_sample and rate.
| sound | The entry to load. | |
| new_format | Whether this is an old format soundset (with some buggy data), or the new format. | |
| [out] | data | The vector to write the decoded sound data into. |
true iff the entry was loaded correctly. Implements SoundLoader.
Definition at line 38 of file soundloader_opus.cpp.
References Debug, RandomAccessFile::GetPos(), OPUS_SAMPLE_BITS, OPUS_SAMPLE_RATE, RandomAccessFile::ReadBlock(), and RandomAccessFile::SeekTo().
|
staticconstexpr |
Definition at line 36 of file soundloader_opus.cpp.
|
staticconstexpr |
Definition at line 35 of file soundloader_opus.cpp.
|
staticprivate |
Definition at line 102 of file soundloader_opus.cpp.
|
staticconstexpr |
Definition at line 31 of file soundloader_opus.cpp.
|
staticconstexpr |
OpusFile op_read() uses 16 bits per sample.
Definition at line 28 of file soundloader_opus.cpp.
Referenced by Load().
|
staticconstexpr |
OpusFile always decodes at 48kHz.
Definition at line 27 of file soundloader_opus.cpp.
Referenced by Load().