Fix new stream types `mix()` not returning 0 when inactive

This commit is contained in:
Adam Scott 2024-07-18 11:14:33 -04:00
parent ff8a2780ee
commit b22783b9b3
No known key found for this signature in database
GPG Key ID: F6BA2A0302E21A77
3 changed files with 4 additions and 13 deletions

View File

@ -858,10 +858,7 @@ int AudioStreamPlaybackInteractive::mix(AudioFrame *p_buffer, float p_rate_scale
}
if (!active) {
for (int i = 0; i < p_frames; i++) {
p_buffer[i] = AudioFrame(0.0, 0.0);
}
return p_frames;
return 0;
}
int todo = p_frames;

View File

@ -259,10 +259,7 @@ void AudioStreamPlaybackPlaylist::seek(double p_time) {
int AudioStreamPlaybackPlaylist::mix(AudioFrame *p_buffer, float p_rate_scale, int p_frames) {
if (!active) {
for (int i = 0; i < p_frames; i++) {
p_buffer[i] = AudioFrame(0.0, 0.0);
}
return p_frames;
return 0;
}
double time_dec = (1.0 / AudioServer::get_singleton()->get_mix_rate());

View File

@ -204,11 +204,8 @@ void AudioStreamPlaybackSynchronized::seek(double p_time) {
}
int AudioStreamPlaybackSynchronized::mix(AudioFrame *p_buffer, float p_rate_scale, int p_frames) {
if (active != true) {
for (int i = 0; i < p_frames; i++) {
p_buffer[i] = AudioFrame(0.0, 0.0);
}
return p_frames;
if (!active) {
return 0;
}
int todo = p_frames;