NeriPlayer-910d0614.07150901
What's Changed
New Contributors
Full Changelog: NeriPlayer-19954576.07130356...NeriPlayer-910d0614.07150901
Commits
- 910d061 feat: add PCM float support to StereoBalanceAudioProcessor and improve thread safety for volume normalization state
- c949e15 refactor: rename volume balance to channel balance in playback settings
- 674ab43 fix: bind PlayerManager in Application and sync playback state on audio route loss
- 67160c2 fix: implement dynamic transfer scaling and backpressure stall recovery in USB exclusive mode
- 34f58c6 feat: add 32-bit high-res output and optimize USB exclusive playback with in-place reconfiguration and software float conversion
- 2aa6521 fix: prevent malformed sync songs from jumping ahead
- f1e7d83 fix: tolerate malformed sync snapshots
- 9d2cf83 refactor: use ifBlank for concise report preview content
- 4f423ee feat: add per-track loudness normalization
- e74ce7c fix: prevent usb exclusive pcm underruns
- 99d8fea fix: prevent usb exclusive preroll deadlock
- 86a9af3 fix: stabilize usb exclusive startup
- 6790e4a feat: support manual value input for playback effects and display speed badge in Now Playing screen
- bf9a14e feat: add playback volume balance control
- 187fe07 perf: reduce lyrics page power usage
- ee746bd feat: support uac2 usb exclusive output
- e76bc4f fix: support full youtube auth header imports
- 5b43557 build: remove -renamesourcefileattribute from ProGuard rules
- c961f54 fix: restore youtube warmup and cache reuse
- e91dbc3 build: shrink native libraries in release APK
- a034ce4 fix: merge youtube request cookies into auth snapshots
- 20c8c97 build: allow unsigned release validation in IDE
- 2f12aad fix: harden youtube auth refresh cookie preservation
- 048124a build: shrink release APK with tighter R8 and packaging rules
- 6e72428 test: update YouTube offline cache fallback quality expectations in PlayerUrlResolverTest
- ce71d93 fix: default youtube quality to high
- e6c6656 fix: stabilize youtube auth cache fingerprints
- 4d23a26 fix: dedupe youtube auth observer churn
- 962fe8d fix: persist refreshed youtube auth snapshots
- 2f802fd fix: improve local media and SAF compatibility
- 38b7fa5 fix: guard favorite sync after persistence failure
- c6d2263 fix: harden media network retries
- d0389ab feat: implement delayed playback waiting indicator to reduce visual flickering
- 650a251 refactor: modernize USB native code with C++ headers and auto type deduction
- 516ba4a feat: add waiting playback feedback to player surfaces
- 6356876 fix: harden USB quarantine drain recovery
- a601145 refactor: use signal-safe formatting in native crash handler
- cc38574 fix: improve waiting playback control accessibility semantics
- ab376b2 fix: keep USB bridge recoverable after JNI call failures
- c1fdfee refactor: use mutableLongStateOf for boostedAnimationUntilNs in HyperBackground
- 97fe32d refactor: move shader drawing and paint initialization to HyperBackgroundShaderView
- 14e2947 feat: optimize HyperBackground rendering and add direct shader drawing support
- f597c81 fix: stabilize background playback service restarts and notifications
- 7d1e497 perf: reduce playback startup latency with tuned buffering and URL prefetch
- 0854e4a feat: implement guarded local state updates and deterministic song merging for sync
- 7e696b9 refactor: centralize and automate membership token normalization in sync models
- 4b8520c fix: meizu21pro statusbar lyrics (#240)
- 134e542 feat: implement observed-remove semantics for playlist sync using causal tokens
- 97c88ba feat: support synced lyrics in wide layout when advanced lyrics are disabled
- 59985ce chore: ignore docs-private directory in .gitignore
- 3aa4597 refactor: remove activity_main.xml and layout_effect_bg.xml
- a6a2830 feat: implement configurable idle shutdown for playback service
- 397335d feat: implement audio offload policy, idle service shutdown, and optimize playback initialization
- 7c89f58 perf: align waveform animation with resumed lifecycle
- 7d605c2 fix: preserve USB exclusive playback across transport transitions
- d15ed3d fix: make local playlist mutations crash-safe
- 006900a fix: harden Listen Together session recovery
- ccf267c fix: prevent USB exclusive playback startup pops
- 72678ae fix: restore cover lyric translations with timestamp drift
- e3166f5 feat: enhance playlist storage reliability and optimize UI rendering performance
- aa6895f feat: add client instance ID and event sequencing to Listen Together protocol
- e375964 docs: reorganize project structure by responsibility and update sync and UI documentation
- af7d84f refactor: simplify authoritative stream reload and allow reissuing play commands when stuck
- 1bd3b50 feat: introduce
shouldIssuePauseto sync planner to robustly handle pending local playback starts - 21aee8b refactor: update history recorder to skip initial songs and improve session control error handling
- 2df74fd refactor: move shared song models to data model package
- fe54db5 feat: add download catalog serialization and lyric resolution aliases
- 1a7a90c fix: update JNI method names to reflect UsbExclusiveNativeBridge move to transport subpackage
- 5a23834 refactor: modularize download storage migration and deletion logic into specialized components
- 2a8a07e refactor: restructure UI components, core modules, and ListenTogether into modular subpackages with compatibility aliases
- 8d0a262 refactor: reorganize native crash and USB modules
- a887ce8 refactor: reorganize player and download modules and remove legacy utility wrappers
- 705b313 refactor: restructure utility packages and modularize ManagedDownloadStorage logic
- 9009a51 refactor: extract URI handling, naming, and verification logic from ManagedDownloadStorage
- 444d0e1 refactor: modularize ManagedDownloadStorage by extracting snapshot, naming, and metadata logic into specialized components
- 0c1ec3f refactor: move download storage components to subpackage and extract ManagedDownloadWorkingStore
- 95245f3 refactor: split ManagedDownloadStorage into dedicated store, codec, and constants components
实验性功能
- USB 独占目前仍然在测试,有待进一步反馈。如果遇到任何问题请及时反馈。
备份警告
- 当前同步数据模型已更新,不确保百分百向下兼容(理论不会丢数据,但是部分歌曲可能会被置顶),建议先备份后更新。
- 这则提示会在后续 6 个 release 中持续出现
不稳定性警告
- 这个版本可能存在冷启动问题,最新的版本已修复