Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

SoC vendors are advised to get into an agreement with RDK Management LLC to obtain the free license so as to use the complete RDK Code base in their platform. More details about license is are available at at https://rdkcentral.com/licenses/ . Please email info@rdkcentral.com if you have additional questions about licenses or membership

...

RDKM provides a collaboration zone facility for SoCs to facilitate easier engineering of RDK based devices. The collaboration zone will help SoCs to work with OEMs, RDKM, and any 3rd party along with a common space to develop & integrate, manage and verify the device. The zone includes facilities for code management, a confluence based RDK Wiki for knowledge management & sharing, a JIRA for tracking activity progress, issues as well as to manage the activities, a test setup to validate devices. The access restrictions implemented will help the collaboration zone to be accessible only for the authorized personnel thereby guarding any sensitive information related to SoC/OEM/Third party.

...

HAL implementation by SoC

Please refer Hardware Abstraction Layer (HAL)

Device Settings

Device settings component is having a HAL interface to control device specific peripherals such as video port, audio port and display and front panel. 

More details on HAL interface can be found here: Device Settings HAL Types & Public API DTCP HAL Interfaces.

DTCP

Integrates the SoC provided DTCP library with DTCP/IP manager Interface implementation which manages source/sink DTCP/IP sessions and performs the encryption/decryption.

HAL Interface specification: DTCP HAL Interfaces

tr69hostif

Contains SoC specific MOCA libraries, headers and MOCA profile codes.

API Details: TR69 Host Interface Handler

For more details on tr69hostif, please refer: tr69hostif

gst-plugins-rdk /qamtunersrc

qamtunersrc is a push based gstreamer source plugin which tunes to the given service and provides the SPTS data.

  • Manages tuner and demux
  • Filters PIDs required for SPTS
  • Output SPTS as gstreamer buffer
Properties
  1. Modulation:
  2. Frequency: frequency to tune in KHZ
  3. Tunerid: Tuner Handle

Depends on platform specific libraries for tune, filtering, and pod functionalities.

gst-plugins-SoC /playersinkbin

Playersinkbin is a gstreamer bin element consisting of demux, decoder and sink elements. A template file gstplayersinkbin.c.template and gstplayersinkbin.h.template are provided as a reference for SoC implementation. SoC has to add details of platform specific plugins and implement the required properties expected out of them.

hdmicec

SDK Vendors should implement CEC driver interface API as specified in hdmi_cec_driver.h

HAL Interface Specificcation: HDMI-CEC HAL APIs specification

iarmmgrs

Power, IR and DeepSleep modules are having SoC dependency. APIs are specified in plat_power.h, plat_ir.h and deepSleepMgr.h

More details about APIs can be found here

westeros-SoC

Contains functions for creating and handling native eglwindow. HAL APIs are specified in westeros-gl.h

Wi-Fi (Client)

Wi-Fi Client HAL provides an interface (data structures and API) to interact with underlying Wi-Fi driver and enabling the client to be connected with an Access Point.

HAL APIs are specified in wifi_client_hal.h. Doxygen Link: Wifi HAL API Specification

Provisioning - iCrypto

Set of Cryptographic APIs Implementation, can be used to achieve all type of Cryptographic requirements from Premium App.

Graphics - westeros backend

Media Pipeline Backend layer is a module in device layer which glues the media pipeline capabilities of the device to that of the IgnitionX.

Input key handling

As part of integrating Premium Apps as a native application on the RDK stack, the Premium Apps Video Porting (PVP) Layer needs to be implemented. The PVP Layer consists of the following modules:

  • Ignition Device Layer
    • Common
    • Display
    • Input
    • TTS
    • Secure Storage
    • Message Bus
  • Device Properties Provider
  • Media Pipeline Backend
  • PlayReady DRM

Media Playback - gstreamer

Abstraction layer for third-party applications to get specific GStreamer values from the SoC pipeline.

DRM (playready, widevine, TEE, SVP etc.)

Amazon assets are encrypted using Microsoft PlayReady. A robust implementation of the PlayReady must be provided for porting kit to decrypt assets.

TTS

Text-to-speech converts text into spoken voice output to help customers navigate the Prime Video application without seeing the screen. Text-to-speech is mandatory for the US region and optional in other regions.

Closed Caption

ccReader module which does the closed caption decoding is having HAL dependency. APIs are specified in ccDataReader.h

More details on HAL interface can be found here: closed Caption HAL APIs

DirectFB

Graphics library porting for SoC.

For more details on DirectFB, please refer: DirectFB

DVRManager

AES Encryption and decryption of packets handled from DVRManager SoC Layer.

Mediaframework

Porting of mediaframework involves porting of the following sub-modules:

  • halcdl
  • haldsg
  • halpod
  • halsnmp
  • halmfr
  • halplatform

Details about HAL APIs that require porting is published as part of Doxygen Documentation activity in Mediaframework HAL API Specification.

ServiceManager

Service Manager as such doesn't have an HAL part to be implemented, however it can have a platform part that extends/alters it's functionality with few of the legacy services such as Power management (deep sleep), Front panel control, and so on.

For more details on ServiceManager, please refer: ServiceManager

wpeframework/OCDMi

PlayReady and WideVine Open CDMi implementation - specific to platform to know HAL implementation by SoC.