|
|
|
@ -17,10 +17,10 @@ AudioRenderer::AudioRenderer(AudioRendererParameter params, |
|
|
|
Kernel::SharedPtr<Kernel::Event> buffer_event) |
|
|
|
: worker_params{params}, buffer_event{buffer_event}, voices(params.voice_count) { |
|
|
|
|
|
|
|
audio_core = std::make_unique<AudioCore::AudioOut>(); |
|
|
|
stream = audio_core->OpenStream(STREAM_SAMPLE_RATE, STREAM_NUM_CHANNELS, "AudioRenderer", |
|
|
|
audio_out = std::make_unique<AudioCore::AudioOut>(); |
|
|
|
stream = audio_out->OpenStream(STREAM_SAMPLE_RATE, STREAM_NUM_CHANNELS, "AudioRenderer", |
|
|
|
[=]() { buffer_event->Signal(); }); |
|
|
|
audio_core->StartStream(stream); |
|
|
|
audio_out->StartStream(stream); |
|
|
|
|
|
|
|
QueueMixedBuffer(0); |
|
|
|
QueueMixedBuffer(1); |
|
|
|
@ -236,11 +236,11 @@ void AudioRenderer::QueueMixedBuffer(Buffer::Tag tag) { |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
audio_core->QueueBuffer(stream, tag, std::move(buffer)); |
|
|
|
audio_out->QueueBuffer(stream, tag, std::move(buffer)); |
|
|
|
} |
|
|
|
|
|
|
|
void AudioRenderer::ReleaseAndQueueBuffers() { |
|
|
|
const auto released_buffers{audio_core->GetTagsAndReleaseBuffers(stream, 2)}; |
|
|
|
const auto released_buffers{audio_out->GetTagsAndReleaseBuffers(stream, 2)}; |
|
|
|
for (const auto& tag : released_buffers) { |
|
|
|
QueueMixedBuffer(tag); |
|
|
|
} |
|
|
|
|