Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Reverted from v. 54

...

Below table enlists the API mapping details of current DAB adapter implementation of RDK for STB devices. RDK APIs are listed under 'Thunder Implementation'.

API details are as per dab-adapter version : https://github.com/device-automation-bus/dab-adapter-rs/commit/f6318d0080ab8282f758bb2bf19a0097f58f34a6 (6.0 f6318d)

SystemInput
Device & Application Telemetry
DAB RequestDAB CategoryThunder Implementation for the Request
operations/listSupported OperationsNo RDK specific implementation required except platform specific key map configuration.
applications/list
Applications



https://rdkcentral.github.io/rdkservices/#/api/RDKShellPlugin?id=getavailabletypes

Use the response to match the AppID as per DAB-2.0 spec. [Note: should have YouTube, Amazon & Netflix as types in the API response.]

applications/launch
https://rdkcentral.github.io/rdkservices/#/api/RDKShellPlugin?id=getstate
https://rdkcentral.github.io/rdkservices/#/api/RDKShellPlugin?id=launch
https://rdkcentral.github.io/rdkservices/#/api/RDKShellPlugin?id=movetofront
https://rdkcentral.github.io/rdkservices/#/api/RDKShellPlugin?id=setfocus
https://rdkcentral.github.io/rdkservices/#/api/RDKShellPlugin?id=getvisibility
https://rdkcentral.github.io/rdkservices/#/api/RDKShellPlugin?id=setvisibility

Note: Implementation supports only YouTube common port.
If previous state is suspended; then moveToFront & setFocus rdkshell APIs are called with AppID matching callsign.

applications/launch-with-content

If parameter is present; App specific deeplink API is invoked.

For YouTube: https:/

https://rdkcentral.github.io/rdkservices/#/api/RDKShellPlugin?id=launch

https://code.rdkcentral.com/r/plugins/gitiles/rdk/components/generic/cobalt/+/refs/heads/24.lts.dev/plugin/doc/CobaltPlugin.md#method.deeplinkmd#deeplink-method

Please see Provideplatformspecificapplifecycledelays/timeouts for adding platform specific tuning.

applications/launch-with-content
https://rdkcentral.github.io/rdkservices/#/api/RDKShellPlugin?id=
movetofront
getstate

https://rdkcentral.github.io/rdkservices/#/api/RDKShellPlugin?id=setfocuslaunch

Note: Implementation supports only YouTube common port.
If previous state is suspended; then moveToFront & setFocus rdkshell APIs are called with AppID matching callsign.

applications/get-state
https://rdkcentral.github.io/rdkservices/#/api/RDKShellPlugin?id=getstate
applications/exit
https://rdkcentral.github.io/rdkservices/#/api/RDKShellPlugin?id=destroy

https://code.rdkcentral.com/r/plugins/gitiles/rdk/components/generic/cobalt/+/refs/heads/24.lts.dev/plugin/doc/CobaltPlugin.md#method.deeplink

https://rdkcentral.github.io/rdkservices/#/api/RDKShellPlugin?id=suspend

device/info

movetofront

https://rdkcentral.github.io/rdkservices/#/api/DisplaySettingsPluginRDKShellPlugin?id=getconnectedvideodisplayssetfocus

https://rdkcentral.github.io/rdkservices/#/api/
SystemPlugin
RDKShellPlugin?id=
getdeviceinfo [estb_mac is used as DAB Device ID]
getvisibility
https://rdkcentral.github.io/rdkservices/#/api/RDKShellPlugin?id=
getscreenresolution
setvisibility

Note: Implementation supports only YouTube common port.
If previous state is suspended; then moveToFront & setFocus rdkshell APIs are called with AppID matching callsign.

Please see Provideplatformspecificapplifecycledelays/timeouts for adding platform specific tuning.

applications/get-state
https://rdkcentral.
https://rdkcentral.
github.io/rdkservices/#/api/
NetworkPlugin
RDKShellPlugin?id=
getinterfaces
getstate
applications/exit
https://rdkcentral.github.io/rdkservices/#/api/
DeviceInfoPlugin
RDKShellPlugin?id=
systeminfo [uptime is extracted from this]https
getstate
https://rdkcentral.github.io/rdkservices/#/api/
DeviceIdentificationPlugin
RDKShellPlugin?id=
deviceidentification
destroy

https://rdkcentral.github.io/rdkservices/#/api/NetworkPluginRDKShellPlugin?id=getipsettingssuspend

Please see Provideplatformspecificapplifecycledelays/timeouts for adding platform specific tuning.

device/info
System



https://rdkcentral.github.io/rdkservices/#/api/DeviceInfoPluginDisplaySettingsPlugin?id=makegetconnectedvideodisplays

https://rdkcentral.github.io/rdkservices/#/api/DeviceInfoPluginSystemPlugin?id=modelidgetdeviceinfo [estb_mac is used as DAB Device ID]

https://rdkcentral.github.io/rdkservices/#/api/DeviceInfoPluginRDKShellPlugin?id=serialnumbergetscreenresolution

https://rdkcentral.github.io/rdkservices/#/api/DeviceInfoPluginNetworkPlugin?id=firmwareversiongetinterfaces

https://rdkcentral.github.io/rdkservices/#/api/DeviceIdentificationPluginDeviceInfoPlugin?id=deviceidentificationsysteminfo [chipset uptime is extracted from this]

system/restart

https://rdkcentral.github.io/rdkservices/#/api/

SystemPlugin

DeviceIdentificationPlugin?id=

rebootsystem/settings/list

deviceidentification

https://rdkcentral.github.io/rdkservices/#/api/DisplaySettingsPluginNetworkPlugin?id=getsupportedresolutionsgetipsettings

https://rdkcentral.github.io/rdkservices/#/api/DisplaySettingsPluginDeviceInfoPlugin?id=getsupportedaudioportsmake

https://rdkcentral.github.io/rdkservices/#/api/DisplaySettingsPluginDeviceInfoPlugin?id=getsupportedaudiomodesmodelid

https://rdkcentral.github.io/rdkservices/#/api/FrameRatePluginDeviceInfoPlugin?id=getdisplayframerateserialnumber

https://rdkcentral.github.io/rdkservices/#/api/DisplaySettingsPluginDeviceInfoPlugin?id=getsettophdrsupportfirmwareversion

https://rdkcentral.github.io/rdkservices/#/api/DisplaySettingsPluginDeviceIdentificationPlugin?id=gettvhdrsupport

MEMC: false

LowLatencyMode: true as its being enabled by the pipeline property. No plugin exposed APIs available.

VideoInputSource : Home (STB's playback source is its app itself.)

PictureMode: None (not an STB feature)

deviceidentification [chipset is extracted from this]

system/restart
https://rdkcentral.github.io/rdkservices/#/api/SystemPlugin?id=reboot
system/settings/listsystem/settings/get


https://rdkcentral.github.io/rdkservices/#/api/DisplaySettingsPlugin?id=getsupportedresolutions

https://rdkcentral.github.io/rdkservices/#/api/DisplaySettingsPlugin?id=getsupportedaudioports

https://rdkcentral.github.io/rdkservices/#/api/DisplaySettingsPlugin?id=getsupportedaudiomodes

https://rdkcentral.github.io/rdkservices/#/api/HdmiCec_2PluginDisplaySettingsPlugin?id=getenabledgetsettophdrsupport

https://rdkcentral.github.io/rdkservices/#/api/DisplaySettingsPlugin?id=getsoundmodegettvhdrsupport

https://rdkcentral.github.io/rdkservices/#/api/DisplaySettingsPluginTextToSpeechPlugin?id=getmutedisttsenabled

CEC: checks availability of https://rdkcentral.github.io/rdkservices/#/api/FrameRatePlugin?id=getdisplayframerate

https://rdkcentral.github.io/rdkservices/#/api/DisplaySettingsPlugin?id=getconnectedvideodisplays

https://rdkcentral.github.io/rdkservices/#/api/DisplaySettingsPlugin?id=getsettophdrsupport

HdmiCec_2Plugin

MEMC: false

LowLatencyMode: true as its being enabled by the pipeline property. No plugin exposed APIs available.

VideoInputSource : Home (STB's playback source is its app itself.)

PictureMode: None (not an STB feature)

system/settings/get

https://rdkcentral.github.io/rdkservices/#/api/DisplaySettingsPluginDisplayInfoPlugin?id=gettvhdrsupportwidth

https://rdkcentral.github.io/rdkservices/#/api/DisplaySettingsPluginDisplayInfoPlugin?id=getconnectedaudioportsheight

https://rdkcentral.github.io/rdkservices/#/api/DisplaySettingsPluginDisplayInfoPlugin?id=getvolumelevelframeratehttps:/

Note: expecting response as "Framerate60" instead of "FRAMERATE_60" as per component owner review. Documentation needs updation.

https://rdkcentral.github.io/rdkcentral.github.io/rdkservices/#/api/TextToSpeechPluginDisplaySettingsPlugin?id=isttsenabledgetsupportedresolutions

https://rdkcentral.github.io/rdkservices/#/api/UserPreferencesPluginDisplaySettingsPlugin?id=getuilanguage

system/settings/set

getsupportedaudioports

https://rdkcentral.github.io/rdkservices/#/api/DisplaySettingsPlugin?id=setcurrentresolutiongetsupportedaudiomodes

https://rdkcentral.github.io/rdkservices/#/api/FrameRatePluginHdmiCec_2Plugin?id=setdisplayframerategetenabled

https://rdkcentral.github.io/rdkservices/#/api/DisplaySettingsPlugin?id=setvolumelevelgetsoundmode

https://rdkcentral.github.io/rdkservices/#/api/DisplaySettingsPlugin?id=setmutedgetmuted

https://rdkcentral.github.io/rdkservices/#/api/HdmiCec_2PluginDisplaySettingsPlugin?id=setenabledgetconnectedvideodisplays

https://rdkcentral.github.io/rdkservices/#/api/DisplaySettingsPlugin?id=setenableaudioportgetsettophdrsupport

https://rdkcentral.github.io/rdkservices/#/api/DisplaySettingsPlugin?id=setforcehdrmodegettvhdrsupport

https://rdkcentral.github.io/rdkservices/#/api/DisplaySettingsPlugin?id=setsoundmodegetconnectedaudioports

https://rdkcentral.github.io/rdkservices/#/api/TextToSpeechPluginDisplaySettingsPlugin?id=enablettsgetvolumelevel

https://rdkcentral.github.io/rdkservices/#/api/UserPreferencesPluginTextToSpeechPlugin?id=setuilanguageisttsenabled

PictureMode: not implemented (not an STB feature)

VideoInputSource : not implemented due to lack of device capability.

https://rdkcentral.github.io/rdkservices/#/api/UserPreferencesPlugin?id=getuilanguage

system/settings/set

https://rdkcentral.github.io/rdkservices/#/api/DisplaySettingsPlugin?id=getconnectedvideodisplays

https://rdkcentral.github.io/rdkservices/#/api/DisplaySettingsPlugin?id=setcurrentresolution

https://rdkcentral.github.io/rdkservices/#/api/DisplaySettingsPlugin?id=getconnectedaudioports

https://rdkcentral.github.io/rdkservices/#/api/DisplaySettingsPlugin?id=setvolumelevel

https://rdkcentral.github.io/rdkservices/#/api/DisplaySettingsPlugin?id=setmuted

https://rdkcentral.github.io/rdkservices/#/api/HdmiCec_2Plugin?id=setenabled

https://rdkcentral.github.io/rdkservices/#/api/DisplaySettingsPlugin?id=setenableaudioport

https://rdkcentral.github.io/rdkservices/#/api/DisplaySettingsPlugin?id=setforcehdrmode

https://rdkcentral.github.io/rdkservices/#/api/DisplaySettingsPlugin?id=setsoundmode

https://rdkcentral.github.io/rdkservices/#/api/TextToSpeechPlugin?id=enabletts

https://rdkcentral.github.io/rdkservices/#/api/UserPreferencesPlugin?id=setuilanguage

PictureMode: not implemented (not an STB feature)

VideoInputSource : not implemented due to lack of device capability.

input/key/list
Input

Platform configurable key map /opt/dab_platform_keymap.json.

Please see Provideplatformkeymapconfiguration
input/key-press
 https://rdkcentral.github.io/rdkservices/#/api/RDKShellPlugin?id=injectkey

[Note: injectKey will not be overridden by the rdkshell_keymapping.json so put the final KEYCODE in /opt/dab_platform_keymap.json]

input/long-key-press

https://rdkcentral.github.io/rdkservices/#/api/RDKShellPlugin?id=injectkey

[Note: injectKey will not be overridden by the rdkshell_keymapping.json so put the final KEYCODE in /opt/dab_platform_keymap.json]

output/image
Output
input/key/list

Platform configurable key map /opt/dab_platform_keymap.json with following format: key value pair of "DAB_KEY": PLATFORM_KEYCODE

Code Block
languagejs
{
  "KEY_GREEN": 406,
  "KEY_YELLOW": 403,
  "KEY_BLUE": 404,
  "KEY_HOME": 173
}
input/key-press

https://rdkcentral.github.io/rdkservices/#/api/

RDKShellPlugin

ScreenCapturePlugin?id=

injectkey

[Note: injectKey will not be overridden by the rdkshell_keymapping.json so put the final KEYCODE in /opt/dab_platform_keymap.json]

input/long-key-press

https://rdkcentral.github.io/rdkservices/#/api/RDKShellPlugin?id=injectkey

[Note: injectKey will not be overridden by the rdkshell_keymapping.json so put the final KEYCODE in /opt/dab_platform_keymap.json]

uploadscreencapture

device-telemetry/start
Device & Application Telemetry




As per DAB-2.0 specifiction; it is an optional requirement. TBD: Funtionality not tested.
device-telemetry/stop
As per DAB-2.0 specifiction; it is an optional requirement. TBD: Funtionality not tested.
device-telemetry/metrics
output/image
Output
As per DAB-2.0 specifiction; it is an optional requirement.

https://rdkcentral.github.io/rdkservices/#/api/
ScreenCapturePlugin
DeviceInfoPlugin?id=
uploadscreencapture
device-telemetry/start
TBD: Funtionality not tested.
device-telemetry/stop
TBD: Funtionality not tested.
systeminfo [totalram, freeram & cpuload is used]
app-telemetry/start
As per DAB-2.0 specifiction; it is an optional requirement. 
device-telemetry/metrics
TBD: Funtionality not tested.
app-telemetry/start
TBD: Funtionality not tested.
stop
As per DAB-2.0 specifiction; it is an optional requirement. 
app-telemetry/stop
TBD: Funtionality not tested.
app-telemetry/metrics
TBD: As per DAB-2.0 specifiction; it is an optional requirement. Funtionality not testedimplemented.
health-check/get
Health CheckNo RDK specific implementation required.CheckNo RDK specific implementation required.
messages
Operational General Notifications
As per DAB-2.0 specifiction; it is an optional requirement.
No RDK specific implementation required
messages
Operational General NotificationsTBD: Funtionality not tested
.
voice/list
Voice


https://rdkcentral.github.io/rdkservices/#/api/VoiceControlPlugin?id=voicestatus

voice/set

https://rdkcentral.github.io/rdkservices/#/api/VoiceControlPlugin?id=configurevoice with following parameter in the current implementation.

Code Block
languagejs
{"enable":false, "ptt":{"enable":false}}
voice/send-audio
https://rdkcentral.github.io/rdkservices/#/api/VoiceControlPlugin?id=voicesessionrequest
Code Block
languagejs
{"audio_file":"/tmp/tts.wav","type":"ptt_audio_file"}
voice/send-text

To convert the audio to platform compatible format; gst-launch-1.0 binary is required.

https://rdkcentral.github.io/rdkservices/#/api/VoiceControlPlugin?id=voicesessionrequest
Code Block
languagejs
{"audio_file":"/tmp/tts.wav","type":"ptt_audio_file"}
versionVersionNo RDK specific implementation required.
For generating DAB Device IDGeneric

https://rdkcentral.github.io/rdkservices/#/api/SystemPlugin?id=getdeviceinfo with param estb_mac

For feature/service availabilityGeneric

https://github.com/rdkcentral/Thunder/blob/master/Source/WPEFramework/doc/ControllerPlugin.md#method.activate

https://github.com/rdkcentral/Thunder/blob/master/Source/WPEFramework/doc/ControllerPlugin.md#method.deactivate

https://github.com/rdkcentral/Thunder/blob/master/Source/WPEFramework/doc/ControllerPlugin.md#property.services [Used as 'status@callsign']

...

Create /opt/dab_platform_app_lifecycle.json (/tmp/dab_platform_app_lifecycle.json if DAB adapter does not have https://github.com/device-automation-bus/dab-adapter-rs/pull/51) json and add app specific parameters as per following template.

...