diff options
| author | 2026-03-21 08:30:24 -0400 | |
|---|---|---|
| committer | 2026-03-21 08:30:24 -0400 | |
| commit | f35d749527426d1e18155232f0846e271eb26c63 (patch) | |
| tree | c2303eddba65238a00b8b5679110514bab9fce63 /src/osd | |
| parent | 85b6891f26be0b4c4756465bd8100bd688ba34af (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.cpp | 7 |
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()); } |
