|
|
|
@ -50,7 +50,7 @@ struct RiffChunk { |
|
|
|
#pragma pack(1) |
|
|
|
#pragma pack(1) |
|
|
|
/** @brief WAV file header */ |
|
|
|
/** @brief WAV file header */ |
|
|
|
struct WavHeaderChunk { |
|
|
|
struct WavHeaderChunk { |
|
|
|
RiffChunk chunk; |
|
|
|
RiffChunk chunk; /**< @brief Starting RIFF chunk */ |
|
|
|
char format[4]; /**< @brief `WAVE` characters */ |
|
|
|
char format[4]; /**< @brief `WAVE` characters */ |
|
|
|
}; |
|
|
|
}; |
|
|
|
#pragma pack() |
|
|
|
#pragma pack() |
|
|
|
@ -58,7 +58,7 @@ struct WavHeaderChunk { |
|
|
|
#pragma pack(1) |
|
|
|
#pragma pack(1) |
|
|
|
/** @brief WAV 'fmt' header */ |
|
|
|
/** @brief WAV 'fmt' header */ |
|
|
|
struct WavFormatChunk { |
|
|
|
struct WavFormatChunk { |
|
|
|
RiffChunk chunk; |
|
|
|
RiffChunk chunk; /**< @brief Starting RIFF chunk */ |
|
|
|
UnsignedShort audioFormat; /**< @brief 1 = PCM */ |
|
|
|
UnsignedShort audioFormat; /**< @brief 1 = PCM */ |
|
|
|
UnsignedShort numChannels; /**< @brief 1 = Mono, 2 = Stereo */ |
|
|
|
UnsignedShort numChannels; /**< @brief 1 = Mono, 2 = Stereo */ |
|
|
|
UnsignedInt sampleRate; /**< @brief Sample rate in Hz */ |
|
|
|
UnsignedInt sampleRate; /**< @brief Sample rate in Hz */ |
|
|
|
@ -68,21 +68,6 @@ struct WavFormatChunk { |
|
|
|
}; |
|
|
|
}; |
|
|
|
#pragma pack() |
|
|
|
#pragma pack() |
|
|
|
|
|
|
|
|
|
|
|
#pragma pack(1) |
|
|
|
|
|
|
|
/** @brief WAV 'fact' header */ |
|
|
|
|
|
|
|
struct WavFactChunk { |
|
|
|
|
|
|
|
RiffChunk chunk; |
|
|
|
|
|
|
|
UnsignedInt dwSampleLength; /**< @brief sample length */ |
|
|
|
|
|
|
|
}; |
|
|
|
|
|
|
|
#pragma pack() |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#pragma pack(1) |
|
|
|
|
|
|
|
/** @brief WAV 'data' header */ |
|
|
|
|
|
|
|
struct WavDataChunk { |
|
|
|
|
|
|
|
RiffChunk chunk; |
|
|
|
|
|
|
|
}; |
|
|
|
|
|
|
|
#pragma pack() |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
static_assert(sizeof(WavHeaderChunk) + sizeof(WavFormatChunk) + sizeof(WavDataChunk) == 44, "WavHeader size is not 44 bytes"); |
|
|
|
static_assert(sizeof(WavHeaderChunk) + sizeof(WavFormatChunk) + sizeof(WavDataChunk) == 44, "WavHeader size is not 44 bytes"); |
|
|
|
|
|
|
|
|
|
|
|
}} |
|
|
|
}} |
|
|
|
|