#include "Sound/FlacDecoder.h" #include #include namespace flac { TEST_CASE("FlacDecoder: Ensure properly decodes flac stream info", "[sound][flac]") { // clang-format off constexpr uint8_t testData[] { // Magic 'f', 'L', 'a', 'C', // Block header 0x00, 0x00, 0x00, 0x22, // StreamInfo block 0x04, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0B, 0xB8, 0x02, 0xF0, 0x00, 0x02, 0xF9, 0x36, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, }; // clang-format on FlacMetaData metaData; const auto result = GetFlacMetaData(testData, sizeof(testData), metaData); REQUIRE(result == true); REQUIRE(metaData.m_minimum_block_size == 1024); REQUIRE(metaData.m_maximum_block_size == 1024); REQUIRE(metaData.m_minimum_frame_size == 0); REQUIRE(metaData.m_maximum_frame_size == 0); REQUIRE(metaData.m_sample_rate == 48000); REQUIRE(metaData.m_number_of_channels == 2); REQUIRE(metaData.m_bits_per_sample == 16); REQUIRE(metaData.m_total_samples == 194870); } } // namespace flac