Skip to content

Commit

Permalink
Fix new stream types mix() not returning 0 when inactive
Browse files Browse the repository at this point in the history
  • Loading branch information
adamscott committed Jul 18, 2024
1 parent ff8a278 commit b22783b
Show file tree
Hide file tree
Showing 3 changed files with 4 additions and 13 deletions.
5 changes: 1 addition & 4 deletions modules/interactive_music/audio_stream_interactive.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down
5 changes: 1 addition & 4 deletions modules/interactive_music/audio_stream_playlist.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -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());
Expand Down
7 changes: 2 additions & 5 deletions modules/interactive_music/audio_stream_synchronized.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down

0 comments on commit b22783b

Please sign in to comment.