Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion src/hostif/profiles/STBService/Capabilities_Thunder.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
* If not stated otherwise in this file or this component's LICENSE file the
* following copyright and licenses apply:
*
* Copyright 2017 RDK Management
* Copyright 2026 RDK Management
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,7 @@ void hostIf_STBServiceDisplayDevice::doUpdates(const char *baseName, updateCallb
int hostIf_STBServiceDisplayDevice::getStatus(HOSTIF_MsgData_t *stMsgData, bool *pChanged)
{
bool connected = false;
if (!invokeThunderPluginMethodAndExtractBoolField(THUNDER_DI_CONNECTED, "{}", "isconnected", connected))
if (!invokeThunderPluginMethodAndExtractScalarBoolResult(THUNDER_DI_CONNECTED, "{}", connected))
{
RDK_LOG(RDK_LOG_WARN, LOG_TR69HOSTIF, "[%s] DisplayInfo.1.connected failed, returning Absent\n", __FUNCTION__);
// On failure, default to Absent
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -193,7 +193,7 @@ int hostIf_STBServiceVideoOutput::getStatus(HOSTIF_MsgData_t *stMsgData, bool *p
{
bool isConnected = false;

if (!invokeThunderPluginMethodAndExtractBoolField(THUNDER_DI_CONNECTED, "{}", "isconnected", isConnected))
if (!invokeThunderPluginMethodAndExtractScalarBoolResult(THUNDER_DI_CONNECTED, "{}", isConnected))
{
RDK_LOG(RDK_LOG_WARN, LOG_TR69HOSTIF, "[%s] DisplayInfo.1.connected failed, returning Disabled\n", __FUNCTION__);
// On failure, default to Disabled
Expand Down
126 changes: 126 additions & 0 deletions test/test-artifacts/native-platform/thunder-mock-server.js
Original file line number Diff line number Diff line change
Expand Up @@ -151,6 +151,132 @@ const mockResponses = {
result: { resetTime: 1717000000 },
description: 'Last checkout reset timestamp',
},

// ───────────────────────────────────────────────────────────────────────────
// STBService Thunder APIs - DisplaySettings (Audio)
// ───────────────────────────────────────────────────────────────────────────
'org.rdk.DisplaySettings.getSupportedAudioPorts': {
result: { supportedAudioPorts: ['HDMI0', 'SPEAKER0', 'SPDIF0'] },
description: 'List of available audio output ports',
},
'org.rdk.DisplaySettings.getEnableAudioPort': {
result: { enable: true },
description: 'Audio port enabled status',
},
'org.rdk.DisplaySettings.getMuted': {
result: { muted: false },
description: 'Audio mute status',
},
'org.rdk.DisplaySettings.getVolumeLevel': {
result: { volumeLevel: 50 },
description: 'Current audio volume level',
},
'org.rdk.DisplaySettings.getAudioEncoding': {
result: { encoding: 'PCM' },
description: 'Current audio encoding format',
},
'org.rdk.DisplaySettings.getSoundMode': {
result: { soundMode: 'SURROUND' },
description: 'Current audio sound mode',
},
'org.rdk.DisplaySettings.getMS12AudioCompression': {
result: { compressionlevel: 0 },
description: 'MS12 audio compression level',
},

// ───────────────────────────────────────────────────────────────────────────
// STBService Thunder APIs - DisplaySettings (Video)
// ───────────────────────────────────────────────────────────────────────────
'org.rdk.DisplaySettings.getSupportedVideoPorts': {
result: { supportedVideoPorts: ['HDMI0'] },
description: 'List of available video output ports',
},
'org.rdk.DisplaySettings.getSupportedVideoDisplays': {
result: { supportedVideoDisplays: ['HDMI0'] },
description: 'List of available video displays (for HDMI component)',
},
'org.rdk.DisplaySettings.getEnableVideoPort': {
result: { enable: true },
description: 'Video port enabled status',
},
'org.rdk.DisplaySettings.getCurrentResolution': {
result: { resolution: '1080p' },
description: 'Current video resolution',
},
'org.rdk.DisplaySettings.getSupportedResolutions': {
result: { supportedResolutions: ['480p', '720p', '1080p', '2160p60'] },
description: 'Supported video resolutions',
},
'org.rdk.DisplaySettings.getDefaultResolution': {
result: { defaultResolution: '1080p' },
description: 'Default/preferred resolution',
},
'org.rdk.DisplaySettings.getDisplayAspectRatio': {
result: { aspectRatio: '16x9' },
description: 'Display aspect ratio',
},
'org.rdk.DisplaySettings.readEDID': {
result: { EDID: 'AP///////wBQrDYBAAAAAAwXAQSlOSJ4CvCVoVdTnCYPUFQAAAABAQEBAQEBAQEBAQEBAQEB3iGgcFCEHzAgOCUIAClHAAAeAAAA/QAyTBFEH4AgIAkQCQAKAAAA/ABERUxMCgAgAAAAAD9BUzEzMgogICAgAAAAAEE=' },
description: 'EDID data from connected display',
},

// ───────────────────────────────────────────────────────────────────────────
// STBService Thunder APIs - DisplayInfo
// ───────────────────────────────────────────────────────────────────────────
'DisplayInfo.1.connected': {
result: true,
description: 'Display connection status (property-style boolean)',
},
'DisplayInfo.1.framerate': {
result: 'Framerate6000',
description: 'Current display framerate (property-style string: FramerateXXXX where XXXX/100 = Hz)',
},

// ───────────────────────────────────────────────────────────────────────────
// STBService Thunder APIs - PowerManager
// ───────────────────────────────────────────────────────────────────────────
'org.rdk.PowerManager.GetPowerState': {
result: { powerState: 'ON', success: true },
description: 'System power state',
},

// ───────────────────────────────────────────────────────────────────────────
// STBService Thunder APIs - AVOutput
// ───────────────────────────────────────────────────────────────────────────
'org.rdk.AVOutput.getZoomMode': {
result: { zoomMode: 'Full' },
description: 'Video zoom/aspect ratio behavior',
},

// ───────────────────────────────────────────────────────────────────────────
// STBService Thunder APIs - HdcpProfile
// ───────────────────────────────────────────────────────────────────────────
'org.rdk.HdcpProfile.getHDCPStatus': {
result: { isConnected: true, isHDCPCompliant: true, isHDCPEnabled: true, hdcpReason: 0, success: true },
description: 'HDCP connection and compliance status',
},

// ───────────────────────────────────────────────────────────────────────────
// STBService Thunder APIs - Capabilities
// ───────────────────────────────────────────────────────────────────────────
'org.rdk.DisplaySettings.getSupportedVideoCodingFormats': {
result: { supportedVideoCodingFormats: ['H264', 'MPEG2', 'HEVC'] },
description: 'Supported video codec formats',
},
'org.rdk.DisplaySettings.getVideoCodecInfo': {
result: {
videocodecinfo: [{
codec: 'H.265',
profile: 'Main',
level: '5.1'
}]
},
Comment on lines +267 to +273
description: 'Detailed video codec capabilities',
},
'org.rdk.DisplaySettings.getSupportedSettopResolutions': {
result: { supportedSettopResolutions: ['480p', '720p', '1080p', '2160p60'] },
description: 'Supported set-top box output resolutions',
},
};

/**
Expand Down
Loading