1
0
Fork 0
forked from suyu/suyu

audio: Use WriteBuffer instead of BufferDescriptorB.

This commit is contained in:
bunnei 2018-02-13 22:48:31 -05:00
parent f16bb1dfcf
commit d6e52581ac
2 changed files with 3 additions and 9 deletions

View file

@ -99,8 +99,6 @@ private:
void GetReleasedAudioOutBuffer_1(Kernel::HLERequestContext& ctx) { void GetReleasedAudioOutBuffer_1(Kernel::HLERequestContext& ctx) {
LOG_WARNING(Service_Audio, "(STUBBED) called"); LOG_WARNING(Service_Audio, "(STUBBED) called");
const auto& buffer = ctx.BufferDescriptorB()[0];
// TODO(st4rk): This is how libtransistor currently implements the // TODO(st4rk): This is how libtransistor currently implements the
// GetReleasedAudioOutBuffer, it should return the key (a VAddr) to the app and this address // GetReleasedAudioOutBuffer, it should return the key (a VAddr) to the app and this address
// is used to know which buffer should be filled with data and send again to the service // is used to know which buffer should be filled with data and send again to the service
@ -112,7 +110,7 @@ private:
queue_keys.pop_back(); queue_keys.pop_back();
} }
Memory::WriteBlock(buffer.Address(), &key, sizeof(u64)); ctx.WriteBuffer(&key, sizeof(u64));
IPC::ResponseBuilder rb{ctx, 3}; IPC::ResponseBuilder rb{ctx, 3};
rb.Push(RESULT_SUCCESS); rb.Push(RESULT_SUCCESS);
@ -158,10 +156,8 @@ void AudOutU::ListAudioOuts(Kernel::HLERequestContext& ctx) {
LOG_WARNING(Service_Audio, "(STUBBED) called"); LOG_WARNING(Service_Audio, "(STUBBED) called");
IPC::RequestParser rp{ctx}; IPC::RequestParser rp{ctx};
auto& buffer = ctx.BufferDescriptorB()[0];
const std::string audio_interface = "AudioInterface"; const std::string audio_interface = "AudioInterface";
ctx.WriteBuffer(audio_interface.c_str(), audio_interface.size());
Memory::WriteBlock(buffer.Address(), &audio_interface[0], audio_interface.size());
IPC::ResponseBuilder rb = rp.MakeBuilder(3, 0, 0); IPC::ResponseBuilder rb = rp.MakeBuilder(3, 0, 0);

View file

@ -69,9 +69,7 @@ private:
response_data.state_entries[i].state = 5; response_data.state_entries[i].state = 5;
} }
auto& buffer = ctx.BufferDescriptorB()[0]; ctx.WriteBuffer(&response_data, response_data.total_size);
Memory::WriteBlock(buffer.Address(), &response_data, response_data.total_size);
IPC::ResponseBuilder rb{ctx, 2}; IPC::ResponseBuilder rb{ctx, 2};