summaryrefslogtreecommitdiffstatshomepage
path: root/src/osd/modules
diff options
context:
space:
mode:
author 987123879113 <63495610+987123879113@users.noreply.github.com>2021-04-01 21:12:10 +0900
committer GitHub <noreply@github.com>2021-04-01 23:12:10 +1100
commit3e33bd1bcbcb7620e45fe08814685cf1d621d75e (patch)
treebe69e2aeb8332cab75fae2c558cab0cb819a6888 /src/osd/modules
parent499ddb2af859b946a32a4131be6f7ad654cfce57 (diff)
Changed audio_latency valid range from 1-5 to 0-5 (#7916)
Diffstat (limited to 'src/osd/modules')
-rw-r--r--src/osd/modules/lib/osdobj_common.cpp2
-rw-r--r--src/osd/modules/sound/direct_sound.cpp3
-rw-r--r--src/osd/modules/sound/xaudio2_sound.cpp3
3 files changed, 5 insertions, 3 deletions
diff --git a/src/osd/modules/lib/osdobj_common.cpp b/src/osd/modules/lib/osdobj_common.cpp
index 932beed416b..cedc39a17e0 100644
--- a/src/osd/modules/lib/osdobj_common.cpp
+++ b/src/osd/modules/lib/osdobj_common.cpp
@@ -129,7 +129,7 @@ const options_entry osd_options::s_option_entries[] =
{ nullptr, nullptr, OPTION_HEADER, "OSD SOUND OPTIONS" },
{ OSDOPTION_SOUND, OSDOPTVAL_AUTO, OPTION_STRING, "sound output method: " },
- { OSDOPTION_AUDIO_LATENCY "(1-5)", "2", OPTION_INTEGER, "set audio latency (increase to reduce glitches, decrease for responsiveness)" },
+ { OSDOPTION_AUDIO_LATENCY "(0-5)", "2", OPTION_INTEGER, "set audio latency (increase to reduce glitches, decrease for responsiveness)" },
#ifndef NO_USE_PORTAUDIO
{ nullptr, nullptr, OPTION_HEADER, "PORTAUDIO OPTIONS" },
diff --git a/src/osd/modules/sound/direct_sound.cpp b/src/osd/modules/sound/direct_sound.cpp
index 05333674541..45c3d8a0d44 100644
--- a/src/osd/modules/sound/direct_sound.cpp
+++ b/src/osd/modules/sound/direct_sound.cpp
@@ -428,7 +428,8 @@ HRESULT sound_direct_sound::dsound_init()
stream_format.nAvgBytesPerSec = stream_format.nSamplesPerSec * stream_format.nBlockAlign;
// compute the buffer size based on the output sample rate
- DWORD stream_buffer_size = stream_format.nSamplesPerSec * stream_format.nBlockAlign * m_audio_latency / 10;
+ int audio_latency = std::max(m_audio_latency, 1);
+ DWORD stream_buffer_size = stream_format.nSamplesPerSec * stream_format.nBlockAlign * audio_latency / 10;
stream_buffer_size = std::max(DWORD(1024), (stream_buffer_size / 1024) * 1024);
LOG(("stream_buffer_size = %u\n", (unsigned)stream_buffer_size));
diff --git a/src/osd/modules/sound/xaudio2_sound.cpp b/src/osd/modules/sound/xaudio2_sound.cpp
index 1d9e1036f9a..9c76e16c07b 100644
--- a/src/osd/modules/sound/xaudio2_sound.cpp
+++ b/src/osd/modules/sound/xaudio2_sound.cpp
@@ -479,7 +479,8 @@ void sound_xaudio2::create_buffers(const WAVEFORMATEX &format)
{
// Compute the buffer size
// buffer size is equal to the bytes we need to hold in memory per X tenths of a second where X is audio_latency
- float audio_latency_in_seconds = m_audio_latency / 10.0f;
+ int audio_latency = std::max(m_audio_latency, 1);
+ float audio_latency_in_seconds = audio_latency / 10.0f;
uint32_t format_bytes_per_second = format.nSamplesPerSec * format.nBlockAlign;
uint32_t total_buffer_size = format_bytes_per_second * audio_latency_in_seconds * RESAMPLE_TOLERANCE;