Feature #3622

Support for Android OS native TIF (TV Input Framework)?

Added by Magnus Hedlund over 2 years ago. Updated 7 months ago.

Status:NewStart date:2016-03-11
Priority:NormalDue date:
Assignee:-% Done:


Target version:-


Appently from Android 5.0 (API level 21) the OS have an integrated TV Input Framework (TIF) with built-in tuner input support.

Wondering if it would be possible to add support for Android TIF into Tvheadend to access TV tuners when running on Android?


Point is it would be very nice have Tvheadend accessing TV tuners through Android TIF when running nativly on Android.


#1 Updated by Jaroslav Kysela over 2 years ago

All mentioned links are for Android Java applications. We need to know the support of the MPEG-TS input through NDK (Native Development Kit) APIs.

#2 Updated by Magnus Hedlund over 2 years ago

Jaroslav Kysela wrote:

All mentioned links are for Android Java applications. We need to know the support of the MPEG-TS input through NDK (Native Development Kit) APIs.

As I understand it you can access Android's Javi API interfaces with NDK applications too, just see Kodi/XBMC which is a C++ application that also uses the NDK. The Kodi development team have developed wrappers for JNI (Java Native Interface) to access functions and features that are made for Android Java applications. See:


Maybe it is possible to add a JNI wrapper for each of the TIF (TV Input Framework) objects?

Or are you saying that Google have made it impossible to NDK applications to access and use TIF (TV Input Framework)? If so then maybe there are possibly different workarounds for using Tvheadend on the Android OS? Like perhaps interface at a different layer?

#3 Updated by Jaroslav Kysela over 2 years ago

I don't know. If Google has API for C language which we can use as input for MPEG-TS, then we can add it as the source.

#4 Updated by Magnus Hedlund over 2 years ago

I asked the same question to a VDR developer and got the answer that:

"in order to add support for Android TIF to VDR you will need to write a plugin that implements a class derived from cDevice.

You could use the existing 'rpihddevice' plugin as a starting point ( see https://projects.vdr-developer.org/git/vdr-plugin-rpihddevice.git ).

This plugin implements support for the Raspberry Pi."

#5 Updated by Jaroslav Kysela over 2 years ago

It's different thing - audio/video decoder / presenter. I'm talking about MPEG-TS input to get data from tuners on android devices (if the don't follow the linux standard: linux dvbapi).

#6 Updated by Jose K over 2 years ago

Maybe there are some points which are not clear.

TV Input Framework is a Android TV Framework where you can write a client app for a Android TV device (e.g. NexusPlayer or NVIDIA Shield TV) which is using a tv-server-backend like Tvheadend or VDR.
Similar the PVR addons for Kodi (pvr hts client). This Android TV client app can then connect to the tv-server-backend and receiving all the needed information like EPG, channel-icons, streaming-url, etc.

For TV Input Framework on Android TV you need a ...:

1. ... client like Nexus Player or NVIDIA Shield TV with a client app which uses the Android TV Input Framework and then are be used in the Google app "Live Channels" (uses integrated ExoPlayer) or a seperate/own app.
2. ... server like Tvheadend or VDR (of course local or remote) which has the role of a tv backend server and is understanding the requests from the client app.

#7 Updated by Luis Alves 7 months ago

I believe this old one can be closed.

There is already an android tv plugin exactly for what's being requested here.
Owners of Android TV Sony's are pretty happy with it.
I just I started testing it this week with a Xiaomi Box 4K that comes with Android TV and it's working ok but still a lot to implement & fix.

Some discussion here:

Plugin github here:

Also available in: Atom PDF