This topic describes the NaCl Player, including its architecture overview and playback scenarios.
Due to NaCl deprecation by the Chromium project, Tizen TV will continue its support for NaCl only until 2021-year products. Meanwhile, Tizen TV will start focusing on high-performance, cross-browser WebAssembly from 2020-year products.
The NaCl (Native Client) Player API allows you to build a fully-featured VOD or multimedia player. You can use the API for multimedia playback control and handling low-level media stream operations.
By using the NaCl technology and the NaCl Player API, you can take advantage of the following features:
The following figure shows the high-level structure layers of an application that uses the NaCl Player, and the relevant components within each layer:
The NaCl Player can handle playback in 2 ways, depending on the multimedia data source. For more information on the application logic for each scenario, see the Main Use Cases. You can also study how the common playback scenarios are implemented in Developing Playback Applications.
In this scenario, the platform handles all the playback-related logic, including downloading and demuxing content. The application's role is to set the content URL and control playback.
The following figure shows the control and data flow for URL source playback using the NaCl Player.
Implementing URL source playback requires the following steps:
In this scenario, the Native Client application is responsible for downloading and demuxing content. The demuxed content is sent as elementary stream packets to the platform for playback. You can also implement platform-supported or custom DRM decryption, and external subtitles.
The following figure shows the control and data flow for elementary stream source playback using the NaCl Player.
Implementing elementary stream source playback requires the following steps:
Familiarize yourself with the following playback-related terminology before working with the NaCl Player API.
Table 1. Playback terminology