struct AudioFormat;
} // namespace bmusb
+// Convert the given audio from {16,24,32}-bit M-channel to 32-bit N-channel PCM.
+// Assumes little-endian and chunky, signed PCM throughout.
+std::vector<int32_t> convert_audio_to_fixed32(const uint8_t *data, unsigned num_samples, bmusb::AudioFormat audio_format, unsigned num_destination_channels);
+
enum EQBand {
EQ_BAND_BASS = 0,
EQ_BAND_MID,
// Which channels we consider interesting (ie., are part of some input_mapping).
std::set<unsigned> interesting_channels;
bool silenced = false;
+
+ // Positive means the audio is delayed, negative means we try to have it earlier
+ // (although we can't time-travel!). Stored together with the input mapping.
+ double extra_delay_ms = 0.0;
};
const AudioDevice *find_audio_device(DeviceSpec device_spec) const