github midasvo/ephyra v2.6.0
Ephyra v2.6.0

one hour ago

Shuffle comes to the phone and tablet, subtitles that run early or late can be put right during
playback, and downloads stay in step with the server: progress made on another device reaches
them, and what you watch offline moves up in Continue Watching everywhere. A season download can
leave out the episodes you've already seen. The player now runs on Ephyra's own build of mpv.

A warm welcome to Ephyra's new contributor, Jaret (@jaretclifton).
Shuffle on the phone, the offline sync and the season download question are his: five pull
requests, each one tested on his own devices and server, reworked carefully after every review,
and a pleasure to merge. Thank you, Jaret!

Added

  • Shuffle on the phone and tablet: a button next to Play on a show's and a season's page plays
    its episodes in random order, also on a Cast receiver. A whole series starts in one request
    instead of one per season (#638, by @jaretclifton).
  • Player: subtitle sync. A side sheet moves the subtitles earlier or later in steps of 0.1 s,
    without reloading, and lists the lines around the current one so you can line one up with
    what is said. Phone and TV, ExoPlayer and mpv (#619).
  • Downloads: a season or show download asks whether to download only the unwatched episodes or
    all of them, when some are watched (#636, by @jaretclifton).

Changed

  • Sync: progress watched offline tells the server when it was watched, so the item moves up in
    Continue Watching on every device. A later play on another device is kept rather than
    overwritten (#633, by @jaretclifton).
  • Sync: downloads take over the progress made on other devices, so a download resumes where you
    left it anywhere. When another device played an item after you did offline, its progress wins
    (#635, by @jaretclifton).
  • Playback: stopping a downloaded item follows the server's resume settings (Dashboard →
    Playback → Resume), so it keeps the same position and watched state as on the server, also
    offline. Stopping early no longer marks a watched item unwatched (#637, by
    @jaretclifton).
  • Player (mpv): Ephyra's own build of libmpv 1.1.0, with mpv 0.42, FFmpeg 9.0.2 and
    libplacebo 7.387.0 (#655).

Fixed

  • Player (mpv): AV1 video with film grain could show a broken picture on some GPUs; the grain is
    now applied by the decoder (#652).
  • Player (mpv): an item with external subtitles no longer holds up the app while they download
    (#617).

Maintenance

  • The formatting check covers the Kotlin sources again (#661).

What's Changed

  • fix(player): load mpv external subtitles off the main thread (#617) by @midasvo in #627
  • feat(player): subtitle delay during playback (#619) by @midasvo in #632
  • ci: list the merged pull requests in a beta's release notes by @midasvo in #651
  • fix(player): mpv applies AV1 film grain on the CPU (#652) by @midasvo in #653
  • feat(phone): shuffle a show or a season from its page (#638) by @jaretclifton in #656
  • feat(sync): send when an item was last played with offline progress (#633) by @jaretclifton in #658
  • fix(build): make ktfmtCheck check the Kotlin sources again (#661) by @midasvo in #662
  • deps(player): switch to our own libmpv, io.github.midasvo:libmpv 1.1.0 by @midasvo in #655
  • fix(sync): bring the server's progress into downloads, and let a newer play elsewhere win (#635) by @jaretclifton in #664
  • feat(downloads): ask whether to download only the unwatched episodes of a season (#636) by @jaretclifton in #666
  • fix(playback): apply the server's resume settings to the local copy (#637) by @jaretclifton in #665
  • chore(release): v2.6.0 by @midasvo in #667

New Contributors

Full Changelog: v2.5.0...v2.6.0

Which APK? ephyra-v<version>-libre-<abi>.apk is for phones and tablets and has no
Google code. ephyra-v<version>-proprietary-<abi>.apk is the same app with Google Cast
(Chromecast), which needs Google Play services to cast. The two install over each other
and keep the login. ephyra-v<version>-libre-tv-<abi>.apk is for Android TV. Most phones
need arm64-v8a; 32-bit TV boxes such as the Xiaomi Mi Box need armeabi-v7a. In
Obtainium, filter the phone APK with -libre-arm64-v8a\.apk$ or
-proprietary-arm64-v8a\.apk$, the TV APK with .*-tv-armeabi-v7a\.apk.

Don't miss a new ephyra release

NewReleases is sending notifications on new releases.