summaryrefslogtreecommitdiffstatshomepage
path: root/src/osd
diff options
context:
space:
mode:
author arbee <rb6502@users.noreply.github.com>2026-03-21 08:30:24 -0400
committer arbee <rb6502@users.noreply.github.com>2026-03-21 08:30:24 -0400
commitf35d749527426d1e18155232f0846e271eb26c63 (patch)
treec2303eddba65238a00b8b5679110514bab9fce63 /src/osd
parent85b6891f26be0b4c4756465bd8100bd688ba34af (diff)
Revert "sdl3_sound: don't hardcode max frames to 8"
This reverts commit 2ad7438fb07efd2ebcfa439f001522ad614cefcf. This is not the correct way to implement max_latency for SDL3.
Diffstat (limited to 'src/osd')
-rw-r--r--src/osd/modules/sound/sdl3_sound.cpp7
1 files changed, 3 insertions, 4 deletions
diff --git a/src/osd/modules/sound/sdl3_sound.cpp b/src/osd/modules/sound/sdl3_sound.cpp
index d519aa9de33..57fcc48df89 100644
--- a/src/osd/modules/sound/sdl3_sound.cpp
+++ b/src/osd/modules/sound/sdl3_sound.cpp
@@ -86,7 +86,6 @@ private:
uint32_t m_default_sink, m_default_source;
uint32_t m_stream_next_id;
osd::audio_info m_deviceinfo;
- uint32_t m_max_frames;
std::map<uint32_t, std::unique_ptr<stream_info>> m_streams;
};
@@ -108,8 +107,8 @@ int sound_sdl3::init(osd_interface &osd, const osd_options &options)
char const *const audio_driver = SDL_GetCurrentAudioDriver();
osd_printf_verbose("SDL Audio: Driver is %s\n", audio_driver ? audio_driver : "not initialized");
- const float latency = options.audio_latency();
- m_max_frames = (latency > 0.0f) ? latency + 3 : 8;
+ if(options.audio_latency() > 0.0f)
+ osd_printf_verbose("SDL Audio: %s module does not support audio_latency option\n", name());
int dev_count = 0;
SDL_AudioSpec spec;
@@ -350,7 +349,7 @@ void sound_sdl3::stream_sink_update(uint32_t id, const int16_t *buffer, int samp
const stream_info *stream = si->second.get();
const auto queue_size = SDL_GetAudioStreamQueued(stream->m_sdl_stream);
- if (queue_size < m_max_frames * samples_this_frame)
+ if (queue_size <= 8 * samples_this_frame)
{
SDL_PutAudioStreamData(stream->m_sdl_stream, (void *)buffer, samples_this_frame * sizeof(int16_t) * stream->m_buffer.channels());
}