diff options
author | Anton Yabchinskiy <arn@bestmx.ru> | 2015-11-02 20:25:01 +0300 |
---|---|---|
committer | Anton Yabchinskiy <arn@bestmx.ru> | 2015-11-02 20:25:01 +0300 |
commit | 3b9868d2e44740c03861c64020a8b5d4d6da031d (patch) | |
tree | 8ff5f9671122f946487848ce286d336c9b650c2c /servers/audio/audio_server_sw.cpp | |
parent | dc8df8a91a995796f0f330bf6bb6b209f6dfce08 (diff) | |
parent | b2f9acb8c96aed0505cbac21661e21e4acef710f (diff) |
Merge branch 'master' of github.com:okamstudio/godot
Diffstat (limited to 'servers/audio/audio_server_sw.cpp')
-rw-r--r-- | servers/audio/audio_server_sw.cpp | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/servers/audio/audio_server_sw.cpp b/servers/audio/audio_server_sw.cpp index 8a3ab7ce70..417a582da6 100644 --- a/servers/audio/audio_server_sw.cpp +++ b/servers/audio/audio_server_sw.cpp @@ -455,12 +455,12 @@ void AudioServerSW::voice_play(RID p_voice, RID p_sample) { } -void AudioServerSW::voice_set_volume(RID p_voice, float p_db) { +void AudioServerSW::voice_set_volume(RID p_voice, float p_volume) { VoiceRBSW::Command cmd; cmd.type=VoiceRBSW::Command::CMD_SET_VOLUME; cmd.voice=p_voice; - cmd.volume.volume=p_db; + cmd.volume.volume=p_volume; voice_rb.push_command(cmd); } @@ -830,10 +830,14 @@ void AudioServerSW::finish() { void AudioServerSW::_update_streams(bool p_thread) { _THREAD_SAFE_METHOD_ - for(List<Stream*>::Element *E=active_audio_streams.front();E;E=E->next()) { + for(List<Stream*>::Element *E=active_audio_streams.front();E;) { //stream might be removed durnig this callback + + List<Stream*>::Element *N=E->next(); if (E->get()->audio_stream && p_thread == E->get()->audio_stream->can_update_mt()) E->get()->audio_stream->update(); + + E=N; } } @@ -916,7 +920,7 @@ float AudioServerSW::get_event_voice_global_volume_scale() const { double AudioServerSW::get_output_delay() const { - return _output_delay; + return _output_delay+AudioDriverSW::get_singleton()->get_latency(); } double AudioServerSW::get_mix_time() const { |