From 9f846d3aa42d7ad269d3d5d0cd1ad68c43b37bb7 Mon Sep 17 00:00:00 2001 From: bunnei Date: Thu, 2 Aug 2018 18:27:22 -0400 Subject: audio_core: Streams need unique names for CoreTiming. --- src/core/hle/service/audio/audout_u.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/core/hle/service/audio/audout_u.cpp') diff --git a/src/core/hle/service/audio/audout_u.cpp b/src/core/hle/service/audio/audout_u.cpp index b317027b6..9f4c7855a 100644 --- a/src/core/hle/service/audio/audout_u.cpp +++ b/src/core/hle/service/audio/audout_u.cpp @@ -48,7 +48,7 @@ public: buffer_event = Kernel::Event::Create(Kernel::ResetType::Sticky, "IAudioOutBufferReleased"); stream = audio_core.OpenStream(audio_params.sample_rate, audio_params.channel_count, - [=]() { buffer_event->Signal(); }); + "IAudioOut", [=]() { buffer_event->Signal(); }); } private: -- cgit v1.2.3 From f1cb3903ac358183dcdc562ba19dc469b056e73f Mon Sep 17 00:00:00 2001 From: bunnei Date: Fri, 3 Aug 2018 15:30:01 -0400 Subject: audio_core: Port codec code from Citra for ADPCM decoding. --- src/core/hle/service/audio/audout_u.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'src/core/hle/service/audio/audout_u.cpp') diff --git a/src/core/hle/service/audio/audout_u.cpp b/src/core/hle/service/audio/audout_u.cpp index 9f4c7855a..f4a557634 100644 --- a/src/core/hle/service/audio/audout_u.cpp +++ b/src/core/hle/service/audio/audout_u.cpp @@ -4,6 +4,8 @@ #include #include + +#include "audio_core/codec.h" #include "common/logging/log.h" #include "core/core.h" #include "core/hle/ipc_helpers.h" @@ -200,7 +202,7 @@ void AudOutU::OpenAudioOutImpl(Kernel::HLERequestContext& ctx) { rb.Push(RESULT_SUCCESS); rb.Push(DefaultSampleRate); rb.Push(params.channel_count); - rb.Push(static_cast(PcmFormat::Int16)); + rb.Push(static_cast(AudioCore::Codec::PcmFormat::Int16)); rb.Push(static_cast(AudioState::Stopped)); rb.PushIpcInterface(audio_out_interface); } -- cgit v1.2.3 From 1dee8ceda1e5ecd5ebaee464b1450f323e82305f Mon Sep 17 00:00:00 2001 From: bunnei Date: Sat, 4 Aug 2018 00:03:12 -0400 Subject: audio_core: Use s16 where possible for audio samples. --- src/core/hle/service/audio/audout_u.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'src/core/hle/service/audio/audout_u.cpp') diff --git a/src/core/hle/service/audio/audout_u.cpp b/src/core/hle/service/audio/audout_u.cpp index f4a557634..108a7c6eb 100644 --- a/src/core/hle/service/audio/audout_u.cpp +++ b/src/core/hle/service/audio/audout_u.cpp @@ -113,10 +113,10 @@ private: std::memcpy(&audio_buffer, input_buffer.data(), sizeof(AudioBuffer)); const u64 tag{rp.Pop()}; - std::vector data(audio_buffer.buffer_size); - Memory::ReadBlock(audio_buffer.buffer, data.data(), data.size()); + std::vector samples(audio_buffer.buffer_size / sizeof(s16)); + Memory::ReadBlock(audio_buffer.buffer, samples.data(), audio_buffer.buffer_size); - if (!audio_core.QueueBuffer(stream, tag, std::move(data))) { + if (!audio_core.QueueBuffer(stream, tag, std::move(samples))) { IPC::ResponseBuilder rb{ctx, 2}; rb.Push(ResultCode(ErrorModule::Audio, ErrCodes::BufferCountExceeded)); } -- cgit v1.2.3