diff options
author | David Marcec <dmarcecguzman@gmail.com> | 2019-09-20 10:42:09 +1000 |
---|---|---|
committer | David Marcec <dmarcecguzman@gmail.com> | 2019-09-20 10:42:09 +1000 |
commit | b54cdeb28448aade6eb84bc703d04d63348eea3d (patch) | |
tree | 3cb0347035a3069baddc993f9e7d45a5d425db25 /src/audio_core/audio_renderer.cpp | |
parent | b31880dc5e0d9aab1171d3476453ad2db00cfd3a (diff) |
Added frame_count for REV7 audio renderer
Added framecount
Diffstat (limited to 'src/audio_core/audio_renderer.cpp')
-rw-r--r-- | src/audio_core/audio_renderer.cpp | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/audio_core/audio_renderer.cpp b/src/audio_core/audio_renderer.cpp index da50a0bbcc..cf24527f30 100644 --- a/src/audio_core/audio_renderer.cpp +++ b/src/audio_core/audio_renderer.cpp @@ -107,6 +107,11 @@ Stream::State AudioRenderer::GetStreamState() const { return stream->GetState(); } +constexpr u32 VersionFromRevision(u32_le rev) { + // "REV7" -> 7 + return ((rev >> 24) & 0xff) - 0x30; +} + std::vector<u8> AudioRenderer::UpdateAudioRenderer(const std::vector<u8>& input_params) { // Copy UpdateDataHeader struct UpdateDataHeader config{}; @@ -166,6 +171,11 @@ std::vector<u8> AudioRenderer::UpdateAudioRenderer(const std::vector<u8>& input_ // Copy output header UpdateDataHeader response_data{worker_params}; std::vector<u8> output_params(response_data.total_size); + const auto audren_revision = VersionFromRevision(config.revision); + if (audren_revision >= 7) { + response_data.frame_count = 0x10; + response_data.total_size += 0x10; + } std::memcpy(output_params.data(), &response_data, sizeof(UpdateDataHeader)); // Copy output memory pool entries |