summaryrefslogtreecommitdiff
path: root/src/core
diff options
context:
space:
mode:
authorGravatar David Marcec2019-07-13 01:22:08 +1000
committerGravatar David Marcec2019-07-13 01:22:08 +1000
commit73b37886c10f771abe05b57f53d8a570ee80b178 (patch)
tree769f3d823a4783d42a1621798debb598e106466d /src/core
parentMerge pull request #2609 from FernandoS27/new-scan (diff)
downloadyuzu-73b37886c10f771abe05b57f53d8a570ee80b178.tar.gz
yuzu-73b37886c10f771abe05b57f53d8a570ee80b178.tar.xz
yuzu-73b37886c10f771abe05b57f53d8a570ee80b178.zip
"AudioRenderer" thread should have a unique name
Creating multiple "AudioRenderer" threads cause the previous thread to be overwritten. The thread will name be renamed to AudioRenderer-InstanceX, where X is the current instance number.
Diffstat (limited to 'src/core')
-rw-r--r--src/core/hle/service/audio/audren_u.cpp7
-rw-r--r--src/core/hle/service/audio/audren_u.h1
2 files changed, 4 insertions, 4 deletions
diff --git a/src/core/hle/service/audio/audren_u.cpp b/src/core/hle/service/audio/audren_u.cpp
index 3711e1ea1..b6158d16e 100644
--- a/src/core/hle/service/audio/audren_u.cpp
+++ b/src/core/hle/service/audio/audren_u.cpp
@@ -25,7 +25,7 @@ namespace Service::Audio {
25 25
26class IAudioRenderer final : public ServiceFramework<IAudioRenderer> { 26class IAudioRenderer final : public ServiceFramework<IAudioRenderer> {
27public: 27public:
28 explicit IAudioRenderer(AudioCore::AudioRendererParameter audren_params) 28 explicit IAudioRenderer(AudioCore::AudioRendererParameter audren_params, const std::size_t instance_number)
29 : ServiceFramework("IAudioRenderer") { 29 : ServiceFramework("IAudioRenderer") {
30 // clang-format off 30 // clang-format off
31 static const FunctionInfo functions[] = { 31 static const FunctionInfo functions[] = {
@@ -48,8 +48,7 @@ public:
48 auto& system = Core::System::GetInstance(); 48 auto& system = Core::System::GetInstance();
49 system_event = Kernel::WritableEvent::CreateEventPair( 49 system_event = Kernel::WritableEvent::CreateEventPair(
50 system.Kernel(), Kernel::ResetType::Manual, "IAudioRenderer:SystemEvent"); 50 system.Kernel(), Kernel::ResetType::Manual, "IAudioRenderer:SystemEvent");
51 renderer = std::make_unique<AudioCore::AudioRenderer>(system.CoreTiming(), audren_params, 51 renderer = std::make_unique<AudioCore::AudioRenderer>(system.CoreTiming(), audren_params, system_event.writable, instance_number);
52 system_event.writable);
53 } 52 }
54 53
55private: 54private:
@@ -607,7 +606,7 @@ void AudRenU::OpenAudioRendererImpl(Kernel::HLERequestContext& ctx) {
607 IPC::ResponseBuilder rb{ctx, 2, 0, 1}; 606 IPC::ResponseBuilder rb{ctx, 2, 0, 1};
608 607
609 rb.Push(RESULT_SUCCESS); 608 rb.Push(RESULT_SUCCESS);
610 rb.PushIpcInterface<IAudioRenderer>(params); 609 rb.PushIpcInterface<IAudioRenderer>(params, audren_instance_count++);
611} 610}
612 611
613bool AudRenU::IsFeatureSupported(AudioFeatures feature, u32_le revision) const { 612bool AudRenU::IsFeatureSupported(AudioFeatures feature, u32_le revision) const {
diff --git a/src/core/hle/service/audio/audren_u.h b/src/core/hle/service/audio/audren_u.h
index 1d3c8df61..49f2733cf 100644
--- a/src/core/hle/service/audio/audren_u.h
+++ b/src/core/hle/service/audio/audren_u.h
@@ -33,6 +33,7 @@ private:
33 }; 33 };
34 34
35 bool IsFeatureSupported(AudioFeatures feature, u32_le revision) const; 35 bool IsFeatureSupported(AudioFeatures feature, u32_le revision) const;
36 std::size_t audren_instance_count = 0;
36}; 37};
37 38
38} // namespace Service::Audio 39} // namespace Service::Audio