Android TV Input Framework [TIF]

Sithara Rao
3 min readJun 11, 2021

TV Input Framework in Android, generally called as TIF is an important topic while designing a Live TV Application. This blog will help you understand the major parameters that we come across while integrating the Live content into our TV Application.

Before diving into the architecture, it becomes important to first understand few terminologies related to TV. Let us understand them and then go with the architecture.

  1. HDMI [High Definition Multimedia Interface] is a digital interface for image transmission used in Audio/Video technology.
  2. STB [Set Top Box] is a device that allows the receiving and decoding of a digital signal.
  3. IPTV [Internet Protocol Television] is a digital technology where the video contents are delivered over internet.
  4. VOD [Video On Demand] is a media distribution system where the video access is available without any typical broadcasting schedule.
  5. Live streaming is the Audio/Video transmission technology where a particular content is intended to get broadcasted at real time.
  6. OTT [Over The Top] is a technology where the Audio/Video contents are delivered over the internet. This includes delivering both Live and VOD contents.

TIF Architecture:

Source: https://source.android.com/devices/tv

The official documentation of Android TIF in Android developers site, explains the architecture with the above diagram: https://source.android.com/devices/tv

TV Input Framework description:

Android TV Input Framework

Terminologies:

TV App: A system app that handles the user interaction.

TV Provider: The database for channels and programs

TV Input Manager: communicates between TV App and TV Inputs

TV Input: App representing physical or virtual input ports/receivers

Description:

  1. TIF enables us to populate the live content as TV Input sources by implementing TV Input service
  2. TV Input service publishes the channels and programs to TV Provider database
  3. TV App on the device will fetch the data from TV Provider and displays in the UI
  4. User selects the channel that triggers tune request which is handled by TV Input Manager
  5. TV Input manager creates a session associated to the TV Input service, tunes and plays the content on the surface provided by TV App.

On a high-level understanding, we can consider TIF as a company.

  1. There are ‘n’ number of customers who specifies the requirements and data [Map it to different TV Input that provides channels and programs]
  2. These requirements are considered by the delivery manager(DM) at your company [Map your TV Provider as DM]
  3. As per the instructions, the employees start designing and developing the application [Consider the Developer as TV App]
  4. Any specifications needed by dev will be communicated first with the immediate manager [portray it as a Tune request from app to the TV Input Manager]
  5. The immediate manager will convey the specification to the client[consider TV Input Manager requesting for tuning to TV Inputs]
  6. Client will clarify regarding the specification back to the manager [map that AV is sent from TV Input to TV Input Manager back to App for displaying]

This is a brief explanation on TIF. Stay tuned for more updates! 🙋🏻

--

--