Audio: Make the period size (latency) configurable.
The default period size is 10ms, but this is inappropriate for certain platforms so it is useful to be able to allow those platforms to configure the period size as required.
This commit is contained in:
parent
3df5a975ee
commit
089ac4b208
|
|
@ -303,6 +303,7 @@
|
|||
#define AUDIO_DEVICE_FORMAT ma_format_f32 // Device output format (miniaudio: float-32bit)
|
||||
#define AUDIO_DEVICE_CHANNELS 2 // Device output channels: stereo
|
||||
#define AUDIO_DEVICE_SAMPLE_RATE 0 // Device sample rate (device default)
|
||||
#define AUDIO_DEVICE_PERIOD_SIZE_IN_FRAMES 0 // Device period size (controls latency, 0 defaults to 10ms)
|
||||
|
||||
#define MAX_AUDIO_BUFFER_POOL_CHANNELS 16 // Maximum number of audio pool channels
|
||||
|
||||
|
|
|
|||
|
|
@ -290,6 +290,9 @@ typedef struct tagBITMAPINFOHEADER {
|
|||
#ifndef AUDIO_DEVICE_SAMPLE_RATE
|
||||
#define AUDIO_DEVICE_SAMPLE_RATE 0 // Device output sample rate
|
||||
#endif
|
||||
#ifndef AUDIO_DEVICE_PERIOD_SIZE_IN_FRAMES
|
||||
#define AUDIO_DEVICE_PERIOD_SIZE_IN_FRAMES 0 // Device latency. 0 defaults to 10ms
|
||||
#endif
|
||||
|
||||
#ifndef MAX_AUDIO_BUFFER_POOL_CHANNELS
|
||||
#define MAX_AUDIO_BUFFER_POOL_CHANNELS 16 // Audio pool channels
|
||||
|
|
@ -478,6 +481,7 @@ void InitAudioDevice(void)
|
|||
config.playback.format = AUDIO_DEVICE_FORMAT;
|
||||
config.playback.channels = AUDIO_DEVICE_CHANNELS;
|
||||
config.sampleRate = AUDIO_DEVICE_SAMPLE_RATE;
|
||||
config.periodSizeInFrames = AUDIO_DEVICE_PERIOD_SIZE_IN_FRAMES;
|
||||
config.dataCallback = OnSendAudioDataToDevice;
|
||||
config.pUserData = NULL;
|
||||
config.noPreSilencedOutputBuffer = true; // raylib pre-silences the output buffer manually
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user