Implemented atomic session replacement.

This commit is contained in:
Dmitry Sergeev
2026-09-01 01:22:03 +03:00
parent e830da4a32
commit 047f334413
6 changed files with 108 additions and 27 deletions
+8 -1
View File
@@ -8,12 +8,19 @@ import (
"mxl-player/internal/playback"
)
type playerAudioSink interface {
playback.AudioSink
Close() error
}
var _ playerAudioSink = (*output.SDLAudioSink)(nil)
type playerPlayback struct {
Controller *playback.SessionController
Commands chan playback.SessionCommand
Video *playback.VideoBridge
Status *playback.StatusStore
Audio *output.SDLAudioSink
Audio playerAudioSink
}
func newPlayerPlayback(