Skip to content

Headent Client v1.0.4

Choose a tag to compare

@github-actions github-actions released this 31 Aug 18:05
· 77 commits to main since this release

Headent Client 1.0.4

The release that adds recording. Until now the app could only play back
recordings that already existed on the server; it can now schedule, stop and
delete them as well. Available on
Google Play.

What's new

  • Recording — schedule and cancel a recording from the programme guide, from
    a channel's programme detail, and from the player itself (classic control bar,
    modern TV overlay and the info window). Running recordings can be stopped, and
    finished ones deleted from the archive, on both phone and TV.
  • Recording indicators — a badge in the programme detail shows whether a
    programme is recording, already recorded or merely scheduled, and channels
    currently being recorded are marked with a red dot in the channel lists, the
    player's channel bar and the full channel list.
  • DVR profile per server — pick which recording profile the server should
    use, in the server settings. Leaving it empty lets the server decide, which is
    what most setups want. Tvheadend only publishes the profiles an account is
    allowed to use, so the list may be shorter than the one in the web interface.
  • Start with the last channel (TV) — after the app starts it loads the
    channel list and resumes the TV channel or radio station you were last
    watching, so a set-top box comes back to where you left off. Recordings are
    deliberately not resumed; WatchProgress already handles those. It is on by
    default and can be switched off in the settings.
  • Tag filter for radio — the radio list now has the same tag chips as the
    channel list, and the app remembers your last selected group separately for TV
    and radio, per server. The player remembers it too, so holding OK opens the
    same group you were using.
  • Refresh button in the TV archive — the archive refreshes itself when
    opened, but the button is there for when the app stays open and a recording
    finishes in the meantime.

What's fixed

  • Radio and TV are now told apart properly — the split used to rely on tag
    names, which failed whenever tags were named in another language or radio
    stations had no tags at all. The app now reads the DVB service type from the
    server, the same way Kodi's pvr.hts does it, and falls back to tag names only
    when the server doesn't provide the type.
  • EPG language — the app now sends its language preference over HTSP
    (hello, enableAsyncMetadata, getEvents) and HTTP (lang). Tvheadend
    merges OTA and XMLTV data into one event and keeps the variants per language,
    so without a preference a client gets the server default — which is why some
    users saw OTA text where Kodi showed their XMLTV data.
  • Seeking in archive recordings — the clock and progress bar could fall back
    to zero after a jump, because the seek position never reached the ticker and
    was then clamped away while the media length was still unknown.
  • Matroska recordings played as a black screen — the app forced the MPEG-TS
    demuxer on every recording regardless of container. It no longer forces one;
    libVLC detects the container from the file, so matroska, mp4 and webm
    recordings play as well as pass does.
  • Recording unavailable over HTTPapi/access/whoami returns the rights as
    numbers, not as a list of strings, so the app always concluded that the account
    could not record. Both forms are now accepted.
  • Recording button showed the wrong state — it was read before the channel
    index had changed, so it reflected the channel you had just left. The state is
    now taken from the same data that draws the red dots, and the channel bar
    refreshes it like the full list does.
  • Wrong length on stopped recordings — a recording stopped early kept the
    planned programme length; the real file length is now used once known.
  • Archive didn't show new recordings — it kept a cached list, so a recording
    that had just finished only appeared after restarting the app.
  • Crash after reinstalling — the encrypted settings file survives a
    reinstall while its key in the Android Keystore does not, and the mismatch
    crashed the app before its first screen. The corrupted store is now discarded
    and rebuilt, and it is no longer included in Android's automatic backup.
  • HDR switching is off by default — automatic frame-rate switching now only
    changes the refresh rate seamlessly, without an HDMI re-sync. Turn it on in the
    settings if your setup handles mode changes well.
  • Focus in the TV archive — moving into a folder no longer flashes through
    the left rail; focus lands on the first tile of the new grid instead.
  • Home screen could get stuck — switching tiles quickly could leave the
    screen waiting forever; a new choice now replaces the pending one.

Notes for translators

All 385 strings are translated into 31 languages. If something reads oddly in
your language, please open an issue — grammatical gender in messages containing
a programme title is the usual suspect.

Known issues

  • On older 32-bit boxes, 1080p50 10-bit HEVC channels may still stutter over
    HTSP. Using the HTTP streaming path with the pass profile works around it.
  • Timeshift is an HTSP feature; it is not available over the HTTP path, and
    Tvheadend does not report timeshift status for radio channels.

Which APK do I need?

  • Most TV boxes and phones (64-bit): HeadentClient-1.0.4-arm64-v8a.apk
  • Older 32-bit devices: HeadentClient-1.0.4-armeabi-v7a.apk
  • Not sure? HeadentClient-1.0.4-universal.apk works everywhere
    (larger download).

Google Play picks the right variant automatically.