mirror of
https://git.eden-emu.dev/eden-emu/eden
synced 2026-02-04 02:51:18 +01:00
[audio] Fix release buffer for audio input (#3336)
fixes microphone release buffer and data. Tested with Let's Sing 2025 Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3336 Reviewed-by: MaranBr <maranbr@eden-emu.dev> Reviewed-by: CamilleLaVey <camillelavey99@gmail.com> Co-authored-by: Maufeat <sahyno1996@gmail.com> Co-committed-by: Maufeat <sahyno1996@gmail.com>
This commit is contained in:
@@ -113,6 +113,8 @@ public:
|
||||
break;
|
||||
}
|
||||
|
||||
session.ReleaseBuffer(buffers[index]);
|
||||
|
||||
ReleaseBuffer(index, core_timing.GetGlobalTimeNs().count());
|
||||
buffer_released = true;
|
||||
}
|
||||
|
||||
@@ -151,7 +151,17 @@ void SinkStream::ProcessAudioIn(std::span<const s16> input_buffer, std::size_t n
|
||||
playing_buffer.consumed = true;
|
||||
}
|
||||
|
||||
std::memcpy(&last_frame[0], &input_buffer[(frames_written - 1) * frame_size], frame_size_bytes);
|
||||
if (frames_written > 0) {
|
||||
std::memcpy(&last_frame[0], &input_buffer[(frames_written - 1) * frame_size], frame_size_bytes);
|
||||
}
|
||||
|
||||
// update sample counts für audio-ins
|
||||
{
|
||||
std::scoped_lock lk{sample_count_lock};
|
||||
last_sample_count_update_time = system.CoreTiming().GetGlobalTimeNs();
|
||||
min_played_sample_count = max_played_sample_count;
|
||||
max_played_sample_count += frames_written;
|
||||
}
|
||||
}
|
||||
|
||||
void SinkStream::ProcessAudioOutAndRender(std::span<s16> output_buffer, std::size_t num_frames) {
|
||||
|
||||
Reference in New Issue
Block a user