diff options
| author | 2018-12-06 09:15:47 -0800 | |
|---|---|---|
| committer | 2018-12-06 09:46:08 -0800 | |
| commit | 117b1f3ec1bae4d9be68cf401f739fc7d35fcc40 (patch) | |
| tree | 1baa2c45bf3c1f63b0820a10ef8cae69c410bcd4 /src/audio_core/audio_renderer.cpp | |
| parent | Merge pull request #1824 from ReinUsesLisp/fbcache (diff) | |
| download | yuzu-117b1f3ec1bae4d9be68cf401f739fc7d35fcc40.tar.gz yuzu-117b1f3ec1bae4d9be68cf401f739fc7d35fcc40.tar.xz yuzu-117b1f3ec1bae4d9be68cf401f739fc7d35fcc40.zip | |
Avoid (expensive) audio interpolation when sample rates already match
Diffstat (limited to 'src/audio_core/audio_renderer.cpp')
| -rw-r--r-- | src/audio_core/audio_renderer.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/audio_core/audio_renderer.cpp b/src/audio_core/audio_renderer.cpp index 2e59894ab..2683f3a5f 100644 --- a/src/audio_core/audio_renderer.cpp +++ b/src/audio_core/audio_renderer.cpp | |||
| @@ -285,8 +285,11 @@ void AudioRenderer::VoiceState::RefreshBuffer() { | |||
| 285 | break; | 285 | break; |
| 286 | } | 286 | } |
| 287 | 287 | ||
| 288 | samples = | 288 | // Only interpolate when necessary, expensive. |
| 289 | Interpolate(interp_state, std::move(samples), GetInfo().sample_rate, STREAM_SAMPLE_RATE); | 289 | if (GetInfo().sample_rate != STREAM_SAMPLE_RATE) { |
| 290 | samples = Interpolate(interp_state, std::move(samples), GetInfo().sample_rate, | ||
| 291 | STREAM_SAMPLE_RATE); | ||
| 292 | } | ||
| 290 | 293 | ||
| 291 | is_refresh_pending = false; | 294 | is_refresh_pending = false; |
| 292 | } | 295 | } |