Internally, songbird converts i16 samples to f32 samples, which ultimately means that there isn't much value in using only i16 samples if the underlying audio backend can provide f32 samples natively (if anything, the additional resampling is likely to degrade the audio quality). In order to allow for audio backends that do not support f32 samples, the AudioStream interface should support indicating the sample format of the stream.
To support this, the sample_log consumer will need to be rewritten to unpack the raw binary floats correctly.
Internally, songbird converts i16 samples to f32 samples, which ultimately means that there isn't much value in using only i16 samples if the underlying audio backend can provide f32 samples natively (if anything, the additional resampling is likely to degrade the audio quality). In order to allow for audio backends that do not support f32 samples, the
AudioStreaminterface should support indicating the sample format of the stream.To support this, the
sample_logconsumer will need to be rewritten to unpack the raw binary floats correctly.