The Architecture
DTVKit is designed to be split into several different components. At the moment DTVKit contains the following components:
Application
The first component which we will deal with is the application, see below on how it fits with the other components:
The application which we provide is for test purposes and it contains components that are required to exercise some of the other components. It contains the following:
QT Browser - This contains a glue to enable a QT browser to be plugged into the application.
HW Abstraction Layer (Linux) - This contains the source of a Linux port.
User Interface - The user interface contains the following:-
Screens - These are screens sc_*.c/h which are used as a UI for the DVBCore so that the DVBCore/HbbTV can be exercised. These screens are a generic implementation and are mainly used for testing. They communicate with the UI engine when something is required to be displayed to the User.
UI Engine - This contains a UI Engine for displaying a full set top box graphical User Interface.
Font - This contains a interface to the Freetype font library and
API to the UI Engine.
DVBCore
See the below diagram for a breakdown of the DVBCore:
The DVBCore contains the following components:
DVB - Full Digital Video Broadcast midware module.
Database - Full database module for RAM, NVM databases.
CA - Conditional Access glue layer.
CI - Contains CI+ Glue layer.
Media - Contains glue for jpeg and png Libraries.
OTA - Contains glue for Over the Air download.
HbbTV
See below diagram for a breakdown of HbbTV:
The HbbTV component contains the following:
The NPAPI currently has 1 call to the Application.
MHEG5
See below diagram for breakdown of MHEG5 with its relationships:
DSMCC
See below DSMCC's relationship with the other components:
The DSMCC has 2 way communications with all other components.