Android RetroPlayer using Low Latency Mode and/or Low Latency Decoding on Android TV 11?
#1
Just read the official news that Android 11 on Android TV (Android TV 11 operating-system) was released a couple of weeks ago. It is not really available on end-user devices yet, but...

if implemented in the RetroPlayer player core, these new features could probably give us lower-latency and thus better "Motion-to-Photon" response-time with example libretro game cores?


Android 11 + Android TV 11 brings two new low-latency features which might be interesting to RetroPlayer core developers for playing games through Kodi:

Low-latency improvements in non-TV Android 11 also includes MediaCodec 2.0 to enable fast audio and video decoding with low latency output.

https://source.android.com/devices/media...ency-media


I believe the primary reason why Google has developed such Low Latency Decoding and Low Latency Mode in Android TV 11 is for Google's new Stadia cloud-based game streaming player.

https://android-developers.googleblog.co...id-tv.html
 
Some other also somewhat related new game playing or Kodi VideoPlayer related features are these:
 
  • "Frame rate API" - Android 11 provides a new API that enables apps to inform the system of their intended frame rate, to reduce judder on devices that support multiple refresh rates.
  • "Allocating MediaCodec buffers" - Android 11 also includes new MediaCodec APIs (new classes and methods) that gives apps more control when allocating input and output buffers.
  • "AAudio function AAudioStream_release()" - New functions to force release and close of audio stream at the same time + new function to release but do not close audio stream.
  • "NDK image decoder"- A new NDK ImageDecoder API provides a standard API for Android C/C++ apps to decode images directly. 
  • "Extended gamepad support" (adds native support for some additional third-party gaming controllers over Bluetooth and USB)
    • As I read it, this not only include native support for Nintendo Switch Pro controllers, but also native support the Steam Controller over USB.
  • "HAL implementation of HDMI CEC" (maybe something that Kodi's libcec can hook into?)
  • "Media CAS (Media conditional access systems)" and "Tuner Framework "


Testing on the TV is now easier as well with the addition of test harness mode on Android TV and Google Play Store support in the Android TV Emulator to help to test apps as you develop.

https://source.android.com/compatibility/cts/harness


Android 11 on Android TV for is so far otherwise only available as a system update rollout to Google's ADT-3 ADT-3 Developer Kit devices.

Google has stated that they and OEM-partners/third-parties will roll out Android 11 on Android TV to devices like the new "Google Chromecast with Google TV" dongle before the end of this year.


Android 11 in general also brings additional performances optimizations and improvement (like example enhanced memory management) and to Android operating-system in general.

https://developer.android.com/about/vers...1/features

https://source.android.com/setup/start/a...11-release


PS: While off-topic here, RetroPlayer developers might want to take notice that Google is forcing developers of Android apps using native code to also support 64-bit builds to be future-proof.

https://android-developers.googleblog.co...mance.html

https://android-developers.googleblog.co...4-bit.html

https://android-developers.googleblog.co...droid.html

https://developer.android.com/distribute...lop/64-bit
Reply
#2
FYI, Android TV 12 Developer Preview 1 is now also available

https://android-developers.googleblog.co...2-dp1.html

https://developer.android.com/about/versions/12

https://developer.android.com/about/vers...2/features

https://developer.android.com/about/vers...2/download

There is a good summery of new features developers might take an interest in posted on https://www.cnx-software.com/2021/02/19/...whats-new/

Other than performance optimizations much that is new compared to Android TV 11
  • Haptic-coupled audio effect – Apps can provide audio-coupled haptic feedback through the phone’s vibrator.
  • AVIF image support – AV1 Image File Format (AVIF) dramatically improves image quality for a similar file size compared to JPEG, and even WebP as you can check yourself with this handy images comparator.
  • Compatible media transcoding for apps that don’t support HEVC (H.265). Android 12 will automatically transcode video content into AVC (H.264).
  • mproved Binder IPC calls – Google engineers have had a look at latency and workload distribution, and made optimizations that reduce the median experience. This has yielded roughly a 2x performance increase on Binder calls overall, and up to a 47x improvement in refContentProvider(), 15x in releaseWakeLock(), and 7.9x in JobScheduler.schedule().
  • Foreground service optimizations – To ensure a better experience for users, foreground service starts from the background will be blocked for apps that are targeting the new platform. Android 12 will also delay the display of some foreground service notifications by up to 10 seconds.
  • Restricted Netlink MAC to prevent non-system apps to access the MAC address
  • Google has restricted additional non-SDK interfaces. https://developer.android.com/about/vers...non-sdk-12
  • Easier testing and debugging of changes – Android 12 new features can be enabled/disabled in the Developer options or adb.

Android 12 developer preview for Android TV requires Google ADT-3 development kit which is the offiial reference hardware for Android TV and Google TV .

https://www.cnx-software.com/2020/01/31/...loper-kit/

https://store.askey.com/adt-3.html

It should however also be possible to run Android 12 in the Android Emulator found in Android Studio but that will obviosuly have an inpact on performance.
Reply

Logout Mark Read Team Forum Stats Members Help
RetroPlayer using Low Latency Mode and/or Low Latency Decoding on Android TV 11?0