From a7a5835ffb75f13fbb8d895f6dab756e8ddacb1e Mon Sep 17 00:00:00 2001
From: FearlessTobi <thm.frey@gmail.com>
Date: Wed, 30 Aug 2023 18:29:43 +0200
Subject: [PATCH] hwopus: Implement GetWorkBufferSizeExEx

Allows Sea of Stars to boot.

Fixes https://github.com/yuzu-emu/yuzu/issues/11415.
---
 src/core/hle/service/audio/hwopus.cpp | 6 +++++-
 src/core/hle/service/audio/hwopus.h   | 1 +
 2 files changed, 6 insertions(+), 1 deletion(-)

diff --git a/src/core/hle/service/audio/hwopus.cpp b/src/core/hle/service/audio/hwopus.cpp
index 4a8276ed15..1557e60885 100644
--- a/src/core/hle/service/audio/hwopus.cpp
+++ b/src/core/hle/service/audio/hwopus.cpp
@@ -267,6 +267,10 @@ void HwOpus::GetWorkBufferSizeEx(HLERequestContext& ctx) {
     GetWorkBufferSize(ctx);
 }
 
+void HwOpus::GetWorkBufferSizeExEx(HLERequestContext& ctx) {
+    GetWorkBufferSizeEx(ctx);
+}
+
 void HwOpus::GetWorkBufferSizeForMultiStreamEx(HLERequestContext& ctx) {
     OpusMultiStreamParametersEx param;
     std::memcpy(&param, ctx.ReadBuffer().data(), ctx.GetReadBufferSize());
@@ -409,7 +413,7 @@ HwOpus::HwOpus(Core::System& system_) : ServiceFramework{system_, "hwopus"} {
         {6, &HwOpus::OpenHardwareOpusDecoderForMultiStreamEx,
          "OpenHardwareOpusDecoderForMultiStreamEx"},
         {7, &HwOpus::GetWorkBufferSizeForMultiStreamEx, "GetWorkBufferSizeForMultiStreamEx"},
-        {8, nullptr, "GetWorkBufferSizeExEx"},
+        {8, &HwOpus::GetWorkBufferSizeExEx, "GetWorkBufferSizeExEx"},
         {9, nullptr, "GetWorkBufferSizeForMultiStreamExEx"},
     };
     RegisterHandlers(functions);
diff --git a/src/core/hle/service/audio/hwopus.h b/src/core/hle/service/audio/hwopus.h
index 91d9998ac8..90867bf74d 100644
--- a/src/core/hle/service/audio/hwopus.h
+++ b/src/core/hle/service/audio/hwopus.h
@@ -34,6 +34,7 @@ private:
     void OpenHardwareOpusDecoderForMultiStreamEx(HLERequestContext& ctx);
     void GetWorkBufferSize(HLERequestContext& ctx);
     void GetWorkBufferSizeEx(HLERequestContext& ctx);
+    void GetWorkBufferSizeExEx(HLERequestContext& ctx);
     void GetWorkBufferSizeForMultiStreamEx(HLERequestContext& ctx);
 };