Move CPAL stream ownership to a dedicated output thread so play/seek restarts reuse the same open device and only reopen when sample rate or channel count changes.
When SetMaxAudioQuality triggers a stream restart, resume from the current player position instead of restarting at the beginning to avoid audible jumps and keep UX consistent.
Send file/device audio-quality notifications even when stream metadata is incomplete by deriving sane defaults from the requested quality level, so controller quality icons stay in sync.
Make RNDR_SRVR_MAX_AUDIO_QUALITY_CHANGED send network_type only when explicitly provided so controllers can treat the update as generic renderer quality.