Skip to content

PS Play 2.0

Choose a tag to compare

@MounirHero MounirHero released this 13 Aug 15:45
· 4 commits to main since this release
b265a6b

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-*.mp4 URLs (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.