|
|
|
@ -107,6 +107,11 @@ Stream::State AudioRenderer::GetStreamState() const {
|
|
|
|
|
return stream->GetState();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
static 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 >= 5) {
|
|
|
|
|
response_data.frame_count = 0x10;
|
|
|
|
|
response_data.total_size += 0x10;
|
|
|
|
|
}
|
|
|
|
|
std::memcpy(output_params.data(), &response_data, sizeof(UpdateDataHeader));
|
|
|
|
|
|
|
|
|
|
// Copy output memory pool entries
|
|
|
|
|