sink_context.cpp 856 B

12345678910111213141516171819202122232425262728293031
  1. // Copyright 2020 yuzu Emulator Project
  2. // Licensed under GPLv2 or any later version
  3. // Refer to the license.txt file included.
  4. #include "audio_core/sink_context.h"
  5. namespace AudioCore {
  6. SinkContext::SinkContext(std::size_t sink_count) : sink_count(sink_count) {}
  7. SinkContext::~SinkContext() = default;
  8. std::size_t SinkContext::GetCount() const {
  9. return sink_count;
  10. }
  11. void SinkContext::UpdateMainSink(SinkInfo::InParams& in) {
  12. in_use = in.in_use;
  13. use_count = in.device.input_count;
  14. std::memcpy(buffers.data(), in.device.input.data(), AudioCommon::MAX_CHANNEL_COUNT);
  15. }
  16. bool SinkContext::InUse() const {
  17. return in_use;
  18. }
  19. std::vector<u8> SinkContext::OutputBuffers() const {
  20. std::vector<u8> buffer_ret(use_count);
  21. std::memcpy(buffer_ret.data(), buffers.data(), use_count);
  22. return buffer_ret;
  23. }
  24. } // namespace AudioCore