3#include "AUI/Audio/ISoundInputStream.h"
4#include "AUI/Url/AUrl.h"
14 explicit AWavSoundStream(
aui::non_null<_unique<IInputStream>> stream);
18 size_t read(
char* dst,
size_t size)
override;
21 struct WavFileHeader {
27 int32_t subchunk1Size;
33 int16_t bitsPerSample;
36 int32_t subchunk2Size;
39 static_assert(
sizeof(WavFileHeader) == 44);
41 _unique<IInputStream> mStream;
43 WavFileHeader mHeader{};
44 size_t mChunkReadPos = 0;
Utility wrapper implementing the stack-allocated (fast) optional idiom.
Definition AOptional.h:33
AAudioFormat info() override
Get general info about sound stream.
size_t read(char *dst, size_t size) override
Reads up to size bytes from stream. Blocking (waiting for new data) is allowed.