citra-emu
/
citra-canary
Archived
1
0
Fork 0

audio_core: Tweak audio latency

This commit is contained in:
MerryMage 2016-09-07 15:26:38 +01:00
parent c3307b41db
commit 991cdda3fc
2 changed files with 2 additions and 2 deletions

View File

@ -105,7 +105,7 @@ static void OutputCurrentFrame(const StereoFrame16& frame) {
std::vector<s16> stretched_samples = time_stretcher.Process(sink->SamplesInQueue()); std::vector<s16> stretched_samples = time_stretcher.Process(sink->SamplesInQueue());
sink->EnqueueSamples(stretched_samples.data(), stretched_samples.size() / 2); sink->EnqueueSamples(stretched_samples.data(), stretched_samples.size() / 2);
} else { } else {
constexpr size_t maximum_sample_latency = 1024; // about 32 miliseconds constexpr size_t maximum_sample_latency = 2048; // about 64 miliseconds
if (sink->SamplesInQueue() > maximum_sample_latency) { if (sink->SamplesInQueue() > maximum_sample_latency) {
// This can occur if we're running too fast and samples are starting to back up. // This can occur if we're running too fast and samples are starting to back up.
// Just drop the samples. // Just drop the samples.

View File

@ -38,7 +38,7 @@ SDL2Sink::SDL2Sink() : impl(std::make_unique<Impl>()) {
desired_audiospec.format = AUDIO_S16; desired_audiospec.format = AUDIO_S16;
desired_audiospec.channels = 2; desired_audiospec.channels = 2;
desired_audiospec.freq = native_sample_rate; desired_audiospec.freq = native_sample_rate;
desired_audiospec.samples = 1024; desired_audiospec.samples = 512;
desired_audiospec.userdata = impl.get(); desired_audiospec.userdata = impl.get();
desired_audiospec.callback = &Impl::Callback; desired_audiospec.callback = &Impl::Callback;