github mazer666/PhairPlay v1.0.0-alpha.6
PhairPlay v1.0.0-alpha.6

latest release: v1.0.0-alpha.7
pre-release3 days ago

What's changed (since v1.0.0-alpha.5)

  • fix(release): compile Kotlin out-of-process so R8 has the memory alone
  • fix(release): build the release in one JVM so R8 does not get killed
  • chore(release): bump version to 1.0.0-alpha.6
  • docs(release): prepare the changelog and the release train for v1.0.0-alpha.6
  • fix(airplay): keep the coded aspect when a decoder reports a scaled picture as a crop

What this release is. A bug fix for a hardware decoder that scales the
picture to the panel. The AirPlay mirror was stretched horizontally on the
Allwinner H726 (Magcubic/Gojodoq HY300, Android 14) — the decoder scaled the
decoded picture from 498x1080 to 484x712 and reported that scaled size in the
crop rectangle instead of a real crop. Reported as GitHub issue #21, with a
detailed root-cause analysis by the reporter.

Fixed

  • Stretched AirPlay picture on hardware decoders that scale the frame — some
    decoders scale the decoded picture to the panel and report that scaled size in
    the crop rectangle instead of a real crop. PhairPlay trusted that rectangle and
    stretched the picture horizontally (498x1080 was displayed as 484x712, aspect
    0.68 instead of 0.46). The crop is now only used when its aspect ratio agrees
    with the coded picture parsed from the stream's SPS; otherwise the coded aspect
    wins, which undoes the decoder's distortion. A decoder that rotates the picture
    is handled by comparing the SPS in both orientations. Implementation:
    com.phairplay.airplay.OutputSizeResolver, VideoDecoder.publishOutputSize.
    Proof: OutputSizeResolverTest (12 tests). The device test case DT-16
    describes how to check it on a television.


Installation

Side-load the APK that matches your device (or upload the AAB to Google Play Console):

  • PhairPlay-1.0.0-alpha.6-GoogleTV.apk — Google TV / Android TV APK (Android 10+)
  • PhairPlay-1.0.0-alpha.6-FireTV.apk — Amazon Fire TV APK (Android 7.1+)
  • PhairPlay-1.0.0-alpha.6-GoogleTV.aab — Google Play Store Android App Bundle (Google TV)

Use adb or a sideloading app like Downloader to install.

What was not tested

This is a prerelease. No television has run this build: 0 of the 16 device test
cases
of the device test plan have been executed. Report what you
find as an issue.

The build itself

  • The four checks of the quality gate and the JVM protocol suite were green on
    the tagged commit.
  • Both APKs are signed with the release key. An update over an installed version
    only works if the key is the same — otherwise uninstall the old version first.

Don't miss a new PhairPlay release

NewReleases is sending notifications on new releases.