소스 검색

audio_manager: move std::functions in SetOutManager/SetInManager

Prevents unnecessary reallocations in the event the captured variables
are larger than the internal std::function buffer.
Lioncash 3 년 전
부모
커밋
e48e22eb52
1개의 변경된 파일2개의 추가작업 그리고 2개의 파일을 삭제
  1. 2 2
      src/audio_core/audio_manager.cpp

+ 2 - 2
src/audio_core/audio_manager.cpp

@@ -25,7 +25,7 @@ Result AudioManager::SetOutManager(BufferEventFunc buffer_func) {
 
     const auto index{events.GetManagerIndex(Event::Type::AudioOutManager)};
     if (buffer_events[index] == nullptr) {
-        buffer_events[index] = buffer_func;
+        buffer_events[index] = std::move(buffer_func);
         needs_update = true;
         events.SetAudioEvent(Event::Type::AudioOutManager, true);
     }
@@ -41,7 +41,7 @@ Result AudioManager::SetInManager(BufferEventFunc buffer_func) {
 
     const auto index{events.GetManagerIndex(Event::Type::AudioInManager)};
     if (buffer_events[index] == nullptr) {
-        buffer_events[index] = buffer_func;
+        buffer_events[index] = std::move(buffer_func);
         needs_update = true;
         events.SetAudioEvent(Event::Type::AudioInManager, true);
     }