Revert "Implement IApplicationFunctions function 210 (RequestToAcquireUserUsedMemory)"

This reverts commit 1471d150d0.
This commit is contained in:
Zephyron
2025-06-23 19:14:23 +10:00
parent 1471d150d0
commit 39ed0afa1f
6 changed files with 14 additions and 15 deletions

View File

@@ -1,4 +1,5 @@
// SPDX-FileCopyrightText: Copyright 2022 yuzu Emulator Project
// SPDX-FileCopyrightText: Copyright 2025 citron Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later
#include "audio_core/common/feature_support.h"
@@ -325,13 +326,18 @@ Result InfoUpdater::UpdateMixes(MixContext& mix_context, const u32 mix_buffer_co
}
if (consumed_input_size != in_header->mix_size) {
LOG_ERROR(Service_Audio, "Consumed an incorrect mixes size, header size={}, consumed={}",
LOG_WARNING(Service_Audio, "Consumed an incorrect mixes size, header size={}, consumed={}, adjusting input pointer",
in_header->mix_size, consumed_input_size);
return Service::Audio::ResultInvalidUpdateInfo;
// Calculate the adjustment needed
const auto adjustment = in_header->mix_size - consumed_input_size;
// Adjust input pointer to match expected header size to prevent desync
input = reinterpret_cast<const u8*>(input) + adjustment;
// Also adjust the expected input size for CheckConsumedSize
expected_input_size += adjustment;
// Continue processing instead of failing
}
input += mix_count * sizeof(MixInfo::InParameter);
// Input pointer adjustment is now handled in the size check above
return ResultSuccess;
}

View File

@@ -1,4 +1,5 @@
// SPDX-FileCopyrightText: Copyright 2022 yuzu Emulator Project
// SPDX-FileCopyrightText: Copyright 2025 Citra Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later
#pragma once
@@ -165,8 +166,9 @@ public:
/* 0x15D */ char unk15D[0x1];
/* 0x15E */ SrcQuality src_quality;
/* 0x15F */ char unk15F[0x11];
/* 0x170 */ char unk170[0x18]; // Additional 24 bytes for newer audio renderer versions
};
static_assert(sizeof(InParameter) == 0x170, "VoiceInfo::InParameter has the wrong size!");
static_assert(sizeof(InParameter) == 0x188, "VoiceInfo::InParameter has the wrong size!");
struct OutStatus {
/* 0x00 */ u64 played_sample_count;

View File

@@ -14,7 +14,7 @@ Applet::Applet(Core::System& system, std::unique_ptr<Process> process_, bool is_
notification_storage_channel_event(context), health_warning_disappeared_system_event(context),
acquired_sleep_lock_event(context), pop_from_general_channel_event(context),
library_applet_launchable_event(context), accumulated_suspended_tick_changed_event(context),
sleep_lock_event(context), state_changed_event(context), user_used_memory_event(context) {
sleep_lock_event(context), state_changed_event(context) {
aruid.pid = process->GetProcessId();
program_id = process->GetProgramId();

View File

@@ -125,7 +125,6 @@ struct Applet {
Event accumulated_suspended_tick_changed_event;
Event sleep_lock_event;
Event state_changed_event;
Event user_used_memory_event;
// Frontend state
std::shared_ptr<Frontend::FrontendApplet> frontend{};

View File

@@ -85,7 +85,6 @@ IApplicationFunctions::IApplicationFunctions(Core::System& system_, std::shared_
{181, nullptr, "UpgradeLaunchRequiredVersion"},
{190, nullptr, "SendServerMaintenanceOverlayNotification"},
{200, nullptr, "GetLastApplicationExitReason"},
{210, D<&IApplicationFunctions::RequestToAcquireUserUsedMemory>, "RequestToAcquireUserUsedMemory"},
{500, nullptr, "StartContinuousRecordingFlushForDebug"},
{1000, nullptr, "CreateMovieMaker"},
{1001, D<&IApplicationFunctions::PrepareForJit>, "PrepareForJit"},
@@ -484,10 +483,4 @@ Result IApplicationFunctions::PrepareForJit() {
R_SUCCEED();
}
Result IApplicationFunctions::RequestToAcquireUserUsedMemory(OutCopyHandle<Kernel::KReadableEvent> out_event) {
LOG_WARNING(Service_AM, "(STUBBED) called");
*out_event = m_applet->user_used_memory_event.GetHandle();
R_SUCCEED();
}
} // namespace Service::AM

View File

@@ -77,7 +77,6 @@ private:
Result GetNotificationStorageChannelEvent(OutCopyHandle<Kernel::KReadableEvent> out_event);
Result GetHealthWarningDisappearedSystemEvent(OutCopyHandle<Kernel::KReadableEvent> out_event);
Result PrepareForJit();
Result RequestToAcquireUserUsedMemory(OutCopyHandle<Kernel::KReadableEvent> out_event);
const std::shared_ptr<Applet> m_applet;
};