PS Play 2.0
PS Play 2.0 — Update
New features, UI changes and a round of bugfixes based on your reports after the 1.5 launch.
### Added
- Web Browser tile — open the native PS5 browser straight from the PS Play menu. While browsing, PS Play detects playable media links on the page and asks "Watch it here in PS Play?" — one tap and the stream is cast to the player automatically. A FIND MEDIA ON PAGE scanner is also available to manually search the current page for streams. (NEEDS TESTING)
- Re-added: IPTV file picker from USB — load your M3U/M3U8 channel playlists straight from a USB drive again.
- Seek-resync loading spinner — a loading spinner shown while the player resynchronizes after a seek, and now also during normal streaming stalls (slow network, server hiccups, initial load) helps with audio-video desync.
-Software Volume Control — Now during playback you can control console's software volume using L1/R1
### Changed
- Unified DLNA screens — DLNA servers, renderer/cast receiver are now organized in a single unified DLNA hub, instead of separate scattered screens.
- Updated controls for 2.0 — X = play/pause, CIRCLE = back / exit app, DPAD = navigate, L/R = seek ±10s, L1/R1 = volume -/+, OPTIONS = playback settings. The Controller Guide in the About screen has been rewritten to match.
- CIRCLE exit now and asks for confirmation — no more "press home to exit for now" for closing.
- Cleaner UI — removed the leftover footer info icons/text from the home and settings screens.
- About screen updated — "PS Play 2.0 by MounirHero (InsideMatrixDev)", based on "Prospero Player 1.0 by KINGDKAK".
- Notification cleanup — no more toast/notification spam: PS PLAY READY at boot and error notifications only. Gone: PAD OPEN, play/pause, DLNA RECEIVER, "Seeking to…" and duplicate READY messages.
Fixed
- Seek freeze (audio playing over frozen video) — after a seek, the video clock was anchored to the pre-seek keyframe while audio started at the target. The new seek-resync state holds audio (muted-paused, clock frozen) until the first frame at-after the target is decoded — the playback resumes perfectly in sync.
- Seek stuck on "loading" forever — a deadlock could starve the video decoder after a seek sometimes...: with audio held, the audio queues filled up and blocked the demuxer before video packets could get through. The demuxer now drops expendable audio packets instead of blocking video.
- Faster long seeks — catch-up to the seek target runs at full decode speed, so jumping e.g. 1 hour into a network stream is dramatically faster.
- Seek safety nets — no packets for 6s releases the audio; if the target isn't reached within 15s (hung network seek / dead server) the stuck I/O is aborted and playback exits cleanly to the menu instead of spinning forever.
- Black screen on casted DASH init segments — casted
init-*.mp4URLs (1080p/2160p DASH init segments, header-only, files with no media data) are auto-detected and app tries to convert to their playable HLS twin (index-*.m3u8) might not work all the time, NEEDS TESTING. - App freeze when backing out of a casted stream with CIRCLE — ffmpeg network I/O is now abortable via an interrupt callback, so the demuxer stops immediately instead of hanging on reconnect.
- Removed the experimental browser auto-close — Tried to implement an auto close browser page when app starts but it killed a sibling system process (
SceNKWebProcess), making the host re-send the payload and causing an app close/reopen loop every ~2 seconds. Manual browser close with CIRCLE remains the stable flow for now until I find a fix. - Failed playback starts now return to the menu instead of a dead black player screen.
Known issues
- Some media formats may not play — the bundled ffmpeg build covers the most common codecs/containers, but a few exotic or less common formats can fail to open or decode.
- 4K playback can occasionally fail to start — 4K streams may sometimes need a second attempt to begin playing; stopping and restarting playback usually helps.
- The browser used to launch the payload is not closed automatically — the experimental auto-close was removed (it caused an app restart loop on some setups). Close it manually with CIRCLE after the app starts.
- Long network seeks depend on the server — jumping far ahead (e.g. 1 hour) in a remote stream can take a while on slow servers, and may abort back to the menu if the server stops responding.