LibMedia: Don't keep PlaybackStreamPulseAudio alive in its thread

As soon as the promise is resolved, we need to unref it, so move it to
the deferred_invoke() callback. This allows PulseAudio streams to be
released properly and gives TestPlaybackStream a chance to pass instead
of timing out.
This commit is contained in:
Zaggy1024 2026-03-30 18:35:19 -05:00 committed by Gregory Bertilson
parent c77eae4a55
commit f1c05aefde

View file

@ -59,8 +59,8 @@ NonnullRefPtr<PlaybackStream::CreatePromise> PlaybackStreamPulseAudio::create(Ou
auto event_loop = main_thread_event_loop->take();
if (!event_loop)
return 1;
event_loop->deferred_invoke([promise = move(promise), playback_stream] {
promise->resolve(playback_stream);
event_loop->deferred_invoke([promise = move(promise), playback_stream = move(playback_stream)] mutable {
promise->resolve(move(playback_stream));
});
}