mirror of
https://github.com/RGBCube/serenity
synced 2025-07-26 08:37:45 +00:00
LibAudio: Don't auto-start the convenience enqueuer thread
This will conflict with apps that don't use this thread and it also creates unnecessary overhead for non-enqueuing clients like AudioApplet. Use the new Thread is_started info to start the thread only if necessary (on first call to async_enqueue).
This commit is contained in:
parent
91913fba59
commit
763cda227f
1 changed files with 4 additions and 1 deletions
|
@ -33,7 +33,7 @@ ConnectionToServer::ConnectionToServer(NonnullOwnPtr<Core::Stream::LocalSocket>
|
||||||
return (intptr_t) nullptr;
|
return (intptr_t) nullptr;
|
||||||
}))
|
}))
|
||||||
{
|
{
|
||||||
m_background_audio_enqueuer->start();
|
async_pause_playback();
|
||||||
set_buffer(*m_buffer);
|
set_buffer(*m_buffer);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -56,6 +56,9 @@ void ConnectionToServer::die()
|
||||||
|
|
||||||
ErrorOr<void> ConnectionToServer::async_enqueue(FixedArray<Sample>&& samples)
|
ErrorOr<void> ConnectionToServer::async_enqueue(FixedArray<Sample>&& samples)
|
||||||
{
|
{
|
||||||
|
if (!m_background_audio_enqueuer->is_started())
|
||||||
|
m_background_audio_enqueuer->start();
|
||||||
|
|
||||||
update_good_sleep_time();
|
update_good_sleep_time();
|
||||||
m_user_queue->append(move(samples));
|
m_user_queue->append(move(samples));
|
||||||
// Wake the background thread to make sure it starts enqueuing audio.
|
// Wake the background thread to make sure it starts enqueuing audio.
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue