mirror of
https://github.com/kilyabin/psysonic.git
synced 2026-07-22 14:35:41 +00:00
42dcbb9323
Third defence for #1094: on a device change while paused/stopped, reopen_output_stream stopped the old sink without bumping the engine generation (the bump only happened on a successful internal resume). The still-running progress task could then flip done_flag and emit a spurious audio:ended, which the frontend turns into a restart. Bump the generation before sink.stop() in the non-playing case so the progress task bails out; the active-playback path keeps bumping inside try_resume_after_device_change. (cherry picked from commit 9034882bf6d305a5cc3c51c21f6effdab15450e8)