Pulp 1.88.0
Cross-platform audio plugin framework
Loading...
Searching...
No Matches
wav_decoder.hpp
Go to the documentation of this file.
1#pragma once
2
4
5#include <cstdint>
6#include <optional>
7#include <span>
8
9namespace pulp::audio {
10
15 std::uint64_t max_frames = 100'000'000u;
16 std::uint32_t max_channels = 64u;
17 std::uint64_t max_output_bytes = 512u * 1024u * 1024u;
18};
19
21[[nodiscard]] std::optional<AudioFileInfo> inspect_wav(
22 std::span<const std::uint8_t> bytes);
23
29[[nodiscard]] std::optional<AudioFileData> decode_wav(
30 std::span<const std::uint8_t> bytes,
31 WavDecodeLimits limits = {});
32
33} // namespace pulp::audio
Definition analyzer_provider.hpp:12
std::optional< AudioFileData > decode_wav(std::span< const std::uint8_t > bytes, WavDecodeLimits limits={})
Decode a complete in-memory RIFF/WAVE file into deinterleaved float channels.
std::optional< AudioFileInfo > inspect_wav(std::span< const std::uint8_t > bytes)
Inspect a complete in-memory RIFF/WAVE file without decoding its samples.
Resource ceilings checked before the decoder allocates output storage.
Definition wav_decoder.hpp:14
std::uint64_t max_frames
Definition wav_decoder.hpp:15
std::uint64_t max_output_bytes
Definition wav_decoder.hpp:17
std::uint32_t max_channels
Definition wav_decoder.hpp:16