Fix UI thread update in unified player adapter

This commit is contained in:
Stu Leak 2026-01-07 02:20:53 -05:00
parent e81cc27ea8
commit 4eef2a0320

View File

@ -331,15 +331,16 @@ func (p *UnifiedPlayerAdapter) startFrameDisplayLoop() {
return return
case <-ticker.C: case <-ticker.C:
p.mu.Lock() p.mu.Lock()
if !p.paused && p.player != nil { if !p.paused && p.player != nil {
// Get frame from UnifiedPlayer // Get frame from UnifiedPlayer
frame, err := p.player.GetFrameImage() frame, err := p.player.GetFrameImage()
if err == nil && frame != nil { if err == nil && frame != nil {
// Update the Fyne canvas image fyne.CurrentApp().Driver().DoFromGoroutine(func() {
p.img.Image = frame p.img.Image = frame
p.img.Refresh() p.img.Refresh()
}, false)
}
} }
}
p.mu.Unlock() p.mu.Unlock()
} }
} }