Skip to content

v1.6.9

@codingncaffeine codingncaffeine tagged this 21 May 20:15
- VideoPlaybackService warms LibVLC on a worker at App.OnStartup so the
  first GameDetailWindow snap-video doesn't pay the multi-second native
  init cost on the dispatcher.
- PlaySnapVideoAsync allocates WriteableBitmap + native frame buffer on
  the UI thread first (display callback always sees a populated bitmap),
  then runs MediaPlayer construction, SetVideoFormat, SetVideoCallbacks,
  Media open, and Play() under Task.Run. A _closed flag plus a
  Dispatcher.Invoke critical section guard against OnClosed racing the
  assignment/Play pair.
- OnClosed zeros _videoBitmap and _videoBuffer before FreeHGlobal so any
  in-flight VLC display callback bails before memcpying into freed memory.
- ShowCoverArtPlaceholder decodes BitmapImage on a worker (Freeze()d
  before crossing back) and assigns on UI.
- DarkComboBox style added to DarkTheme; FriendsAddButton picks up
  PlayButtonStyle; minor friend card/detail polish.
Assets 2
Loading