Skip to content

Improve native macOS renderer layout, rotation, cover art, and audio stability - #505

Merged
fduncanh merged 5 commits into
FDH2:native-macos-rendererfrom
Acelogic:native-macos-renderer
Mar 9, 2026
Merged

fduncanh merged 5 commits into
FDH2:native-macos-rendererfrom
Acelogic:native-macos-renderer

Conversation

@Acelogic

@Acelogic Acelogic commented Mar 9, 2026 •

Copy link
Copy Markdown

Summary

  • fix the native macOS renderer view hierarchy so mirrored video fills the window and stays centered through connect-time resizes, manual rotation, fullscreen toggles, and stream resets
  • restore connect/fullscreen polish with an animated initial stream resize and distinct manual R / Shift+R rotation animation, while keeping protocol/device rotation immediate
  • keep playback state and window chrome in sync by clearing stale paused state on reconnect and showing streaming/paused resolution plus source fps in the title bar
  • rebuild cover-art textures when metadata changes so -ca audio sessions keep album art visible instead of falling back to the idle screen
  • fix a native macOS VideoToolbox teardown race by serializing decoder create/destroy/decode access, preventing crashes during stream shutdown/reset
  • fix native macOS audio-only handoff/reconnect issues by preserving the cover-art window on audio teardown and using osxaudiosink instead of autoaudiosink on macOS
  • clear stale native macOS cover art after paused/disconnected audio sessions while keeping quick reconnects working, and harden the Metal cover-art draw path to avoid an MPS crash during cleanup
  • refresh the idle screen layout, shortcut hints, and fullscreen scaling behavior for the native macOS renderer
  • merge the latest upstream/master changes into native-macos-renderer, including the v1.74 mDNS/llhttp/core updates

Testing

  • cd build && cmake --build .
  • cmake -S . -B build-dnssd -DUSE_DNS_SD=1 -DUSE_NATIVE_MACOS_RENDERER=ON && cmake --build build-dnssd
  • DYLD_FALLBACK_LIBRARY_PATH=/opt/homebrew/lib ./uxplay -d 1 -h265 -s 3840x2160 -fps 30 -vsync no -ca
  • verified fresh connect/reconnect, pause/resume, title-bar updates, R, Shift+R, Cmd+0, fullscreen enter/exit, stream-start resize animation, and idle-screen resizing
  • verified -ca cover-art metadata updates no longer drop back to the idle screen
  • verified Spotify/ALAC audio-only playback after prior screen mirroring, with cover art intact, pause/teardown no longer breaking reconnect, and local audio output working via the macOS audio sink
  • verified paused/disconnected Spotify cover-art sessions return to a clean ready state without leaving stale art behind, and no longer hit the native macOS Metal/MPS crash during cleanup
  • verified both macOS service-discovery build variants compile and start cleanly: default internal mDNS and -DUSE_DNS_SD=1 Bonjour/dns_sd

@Acelogic Acelogic changed the title Refine native macOS renderer behavior and UI Fix native macOS renderer layout, state sync, and cover art handling Mar 9, 2026
@Acelogic Acelogic changed the title Fix native macOS renderer layout, state sync, and cover art handling Improve native macOS renderer layout, rotation, cover art, and audio stability Mar 9, 2026
@fduncanh
fduncanh merged commit 7f23bd0 into FDH2:native-macos-renderer Mar 9, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants