diff options
| author | 2016-09-21 11:29:48 -0700 | |
|---|---|---|
| committer | 2016-09-21 11:29:48 -0700 | |
| commit | d5d2ca8058a0f1c00ab7ca9fe2c058ba47546c0a (patch) | |
| tree | 8a22ca73ff838f3f0090b29a548ae81087fc90ed /src/audio_core/sdl2_sink.cpp | |
| parent | README: Specify master branch for Travis CI badge (diff) | |
| parent | Fix Travis clang-format check (diff) | |
| download | yuzu-d5d2ca8058a0f1c00ab7ca9fe2c058ba47546c0a.tar.gz yuzu-d5d2ca8058a0f1c00ab7ca9fe2c058ba47546c0a.tar.xz yuzu-d5d2ca8058a0f1c00ab7ca9fe2c058ba47546c0a.zip | |
Merge pull request #2086 from linkmauve/clang-format
Add clang-format as part of our {commit,travis}-time checks
Diffstat (limited to 'src/audio_core/sdl2_sink.cpp')
| -rw-r--r-- | src/audio_core/sdl2_sink.cpp | 25 |
1 files changed, 13 insertions, 12 deletions
diff --git a/src/audio_core/sdl2_sink.cpp b/src/audio_core/sdl2_sink.cpp index 1d7912715..75cc0d6dd 100644 --- a/src/audio_core/sdl2_sink.cpp +++ b/src/audio_core/sdl2_sink.cpp | |||
| @@ -3,16 +3,13 @@ | |||
| 3 | // Refer to the license.txt file included. | 3 | // Refer to the license.txt file included. |
| 4 | 4 | ||
| 5 | #include <list> | 5 | #include <list> |
| 6 | #include <numeric> | ||
| 6 | #include <vector> | 7 | #include <vector> |
| 7 | |||
| 8 | #include <SDL.h> | 8 | #include <SDL.h> |
| 9 | |||
| 10 | #include "audio_core/audio_core.h" | 9 | #include "audio_core/audio_core.h" |
| 11 | #include "audio_core/sdl2_sink.h" | 10 | #include "audio_core/sdl2_sink.h" |
| 12 | |||
| 13 | #include "common/assert.h" | 11 | #include "common/assert.h" |
| 14 | #include "common/logging/log.h" | 12 | #include "common/logging/log.h" |
| 15 | #include <numeric> | ||
| 16 | 13 | ||
| 17 | namespace AudioCore { | 14 | namespace AudioCore { |
| 18 | 15 | ||
| @@ -45,7 +42,8 @@ SDL2Sink::SDL2Sink() : impl(std::make_unique<Impl>()) { | |||
| 45 | SDL_AudioSpec obtained_audiospec; | 42 | SDL_AudioSpec obtained_audiospec; |
| 46 | SDL_zero(obtained_audiospec); | 43 | SDL_zero(obtained_audiospec); |
| 47 | 44 | ||
| 48 | impl->audio_device_id = SDL_OpenAudioDevice(nullptr, false, &desired_audiospec, &obtained_audiospec, 0); | 45 | impl->audio_device_id = |
| 46 | SDL_OpenAudioDevice(nullptr, false, &desired_audiospec, &obtained_audiospec, 0); | ||
| 49 | if (impl->audio_device_id <= 0) { | 47 | if (impl->audio_device_id <= 0) { |
| 50 | LOG_CRITICAL(Audio_Sink, "SDL_OpenAudioDevice failed"); | 48 | LOG_CRITICAL(Audio_Sink, "SDL_OpenAudioDevice failed"); |
| 51 | return; | 49 | return; |
| @@ -86,11 +84,12 @@ size_t SDL2Sink::SamplesInQueue() const { | |||
| 86 | 84 | ||
| 87 | SDL_LockAudioDevice(impl->audio_device_id); | 85 | SDL_LockAudioDevice(impl->audio_device_id); |
| 88 | 86 | ||
| 89 | size_t total_size = std::accumulate(impl->queue.begin(), impl->queue.end(), static_cast<size_t>(0), | 87 | size_t total_size = std::accumulate(impl->queue.begin(), impl->queue.end(), |
| 90 | [](size_t sum, const auto& buffer) { | 88 | static_cast<size_t>(0), [](size_t sum, const auto& buffer) { |
| 91 | // Division by two because each stereo sample is made of two s16. | 89 | // Division by two because each stereo sample is made of |
| 92 | return sum + buffer.size() / 2; | 90 | // two s16. |
| 93 | }); | 91 | return sum + buffer.size() / 2; |
| 92 | }); | ||
| 94 | 93 | ||
| 95 | SDL_UnlockAudioDevice(impl->audio_device_id); | 94 | SDL_UnlockAudioDevice(impl->audio_device_id); |
| 96 | 95 | ||
| @@ -100,7 +99,8 @@ size_t SDL2Sink::SamplesInQueue() const { | |||
| 100 | void SDL2Sink::Impl::Callback(void* impl_, u8* buffer, int buffer_size_in_bytes) { | 99 | void SDL2Sink::Impl::Callback(void* impl_, u8* buffer, int buffer_size_in_bytes) { |
| 101 | Impl* impl = reinterpret_cast<Impl*>(impl_); | 100 | Impl* impl = reinterpret_cast<Impl*>(impl_); |
| 102 | 101 | ||
| 103 | size_t remaining_size = static_cast<size_t>(buffer_size_in_bytes) / sizeof(s16); // Keep track of size in 16-bit increments. | 102 | size_t remaining_size = static_cast<size_t>(buffer_size_in_bytes) / |
| 103 | sizeof(s16); // Keep track of size in 16-bit increments. | ||
| 104 | 104 | ||
| 105 | while (remaining_size > 0 && !impl->queue.empty()) { | 105 | while (remaining_size > 0 && !impl->queue.empty()) { |
| 106 | if (impl->queue.front().size() <= remaining_size) { | 106 | if (impl->queue.front().size() <= remaining_size) { |
| @@ -111,7 +111,8 @@ void SDL2Sink::Impl::Callback(void* impl_, u8* buffer, int buffer_size_in_bytes) | |||
| 111 | } else { | 111 | } else { |
| 112 | memcpy(buffer, impl->queue.front().data(), remaining_size * sizeof(s16)); | 112 | memcpy(buffer, impl->queue.front().data(), remaining_size * sizeof(s16)); |
| 113 | buffer += remaining_size * sizeof(s16); | 113 | buffer += remaining_size * sizeof(s16); |
| 114 | impl->queue.front().erase(impl->queue.front().begin(), impl->queue.front().begin() + remaining_size); | 114 | impl->queue.front().erase(impl->queue.front().begin(), |
| 115 | impl->queue.front().begin() + remaining_size); | ||
| 115 | remaining_size = 0; | 116 | remaining_size = 0; |
| 116 | } | 117 | } |
| 117 | } | 118 | } |