Watching live television shows and other continuous, channel-based content is a big part of the TV experience. Android supports receiving and playback of live video content through the TV Input Framework. This framework provides a unified method for receiving audio and video channel content from hardware sources, such as HDMI ports and built-in-tuners, and software sources, such as video streamed over the internet.
The framework enables developers to define live TV input sources by implementing a TV input service. This service publishes a list of channels and programs to the TV Provider. The live TV app on a TV device gets the list of available channels and programs from the TV Provider and displays them to a user. When a user selects a specific channel, the live TV app creates a session for the associated TV input service through the TV Input Manager, and tells the TV input service to tune to the requested channel and play the content to a display surface provided by the TV app.
![](../../../preview/tv/images/tif-overview.png)
Figure 1. Functional diagram of the TV Input Framework
The TV Input Framework is designed to provide access to a wide variety of live TV input sources and bring them together in a single user interface for users to browse, view, and enjoy content. Building a TV input service for your content can help make it more accessible on TV devices.
The APIs for the TV Input Framework are available in the L Developer Preview and you can review them in the preview API reference docs. However, more changes are planned, so stay tuned for additional information with the official Android platform launch.