summaryrefslogtreecommitdiff
path: root/servers/audio/audio_server_sw.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'servers/audio/audio_server_sw.cpp')
-rw-r--r--servers/audio/audio_server_sw.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/servers/audio/audio_server_sw.cpp b/servers/audio/audio_server_sw.cpp
index f50813731e..55dde1b35b 100644
--- a/servers/audio/audio_server_sw.cpp
+++ b/servers/audio/audio_server_sw.cpp
@@ -332,6 +332,7 @@ void AudioServerSW::driver_process_chunk(int p_frames,int32_t *p_buffer) {
void AudioServerSW::driver_process(int p_frames,int32_t *p_buffer) {
+ _output_delay=p_frames/double(AudioDriverSW::get_singleton()->get_mix_rate());
//process in chunks to make sure to never process more than INTERNAL_BUFFER_SIZE
int todo=p_frames;
while(todo) {
@@ -795,6 +796,8 @@ void AudioServerSW::init() {
mixer = memnew( AudioMixerSW( sample_manager, latency, AudioDriverSW::get_singleton()->get_mix_rate(),mix_chans,mixer_use_fx,mixer_interp,_mixer_callback,this ) );
mixer_step_usecs=mixer->get_step_usecs();
+ _output_delay=0;
+
stream_volume=0.3;
// start the audio driver
if (AudioDriverSW::get_singleton())
@@ -911,6 +914,11 @@ float AudioServerSW::get_event_voice_global_volume_scale() const {
return event_voice_volume_scale;
}
+double AudioServerSW::get_output_delay() const {
+
+ return _output_delay;
+}
+
double AudioServerSW::get_mix_time() const {
return AudioDriverSW::get_singleton()->get_mix_time();