Merge pull request #94514 from adamscott/fix-new-stream-types-playing

Fix new stream types `mix()` not returning 0 when inactive
This commit is contained in:
Rémi Verschelde 2024-07-22 14:12:54 +02:00
commit f640ba6f2c
No known key found for this signature in database
GPG key ID: C3336907360768E1
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) { if (!active) {
for (int i = 0; i < p_frames; i++) { return 0;
p_buffer[i] = AudioFrame(0.0, 0.0);
}
return p_frames;
} }
int todo = p_frames; 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) { int AudioStreamPlaybackPlaylist::mix(AudioFrame *p_buffer, float p_rate_scale, int p_frames) {
if (!active) { if (!active) {
for (int i = 0; i < p_frames; i++) { return 0;
p_buffer[i] = AudioFrame(0.0, 0.0);
}
return p_frames;
} }
double time_dec = (1.0 / AudioServer::get_singleton()->get_mix_rate()); 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) { int AudioStreamPlaybackSynchronized::mix(AudioFrame *p_buffer, float p_rate_scale, int p_frames) {
if (active != true) { if (!active) {
for (int i = 0; i < p_frames; i++) { return 0;
p_buffer[i] = AudioFrame(0.0, 0.0);
}
return p_frames;
} }
int todo = p_frames; int todo = p_frames;