stats window

This commit is contained in:
Dmitry Sergeev
2026-09-01 22:59:09 +03:00
parent ca25bf88a7
commit a8d277ee3d
13 changed files with 524 additions and 80 deletions
+9 -4
View File
@@ -20,6 +20,7 @@ type playerPlayback struct {
Commands chan playback.SessionCommand
Video *playback.VideoBridge
Status *playback.StatusStore
MediaStats *playback.MediaStatsStore
Audio playerAudioSink
}
@@ -29,7 +30,10 @@ func newPlayerPlayback(
) (*playerPlayback, error) {
videoBridge := playback.NewVideoBridge()
statusStore := playback.NewStatusStore()
mediaStats := playback.NewMediaStatsStore()
audioSink := output.NewSDLAudioSink(audioDevice)
videoSink := playback.VideoStatsSink{Stats: mediaStats, Sink: videoBridge}
observedAudioSink := playback.AudioStatsSink{Stats: mediaStats, Sink: audioSink}
observe := func(status playback.Status) {
statusStore.Observe(status)
@@ -57,7 +61,7 @@ func newPlayerPlayback(
videoWorker, err := playback.NewVideoWorker(
mxladapter.VideoFactory{},
videoBridge,
videoSink,
retry,
mxladapter.ShouldRetry,
observe,
@@ -74,7 +78,7 @@ func newPlayerPlayback(
audioWorker, err := playback.NewAudioWorker(
mxladapter.AudioFactory{},
audioSink,
observedAudioSink,
retry,
mxladapter.ShouldRetry,
observe,
@@ -91,8 +95,8 @@ func newPlayerPlayback(
syncWorker, err := playback.NewSyncWorker(
mxladapter.SyncFactory{},
videoBridge,
audioSink,
videoSink,
observedAudioSink,
retry,
mxladapter.ShouldRetry,
observe,
@@ -125,6 +129,7 @@ func newPlayerPlayback(
Commands: make(chan playback.SessionCommand, 32),
Video: videoBridge,
Status: statusStore,
MediaStats: mediaStats,
Audio: audioSink,
}, nil
}