Skip to content

Conversation

@santoshcomcast
Copy link

No description provided.

Reason for change: This ensures that platform-dependent configurations are centralized across different HW platforms.
Test Procedure:NA
Risks: High
Signed-off-by:gsanto722 <grandhi_santoshkumar@comcast.com>
@santoshcomcast santoshcomcast changed the base branch from main to develop August 22, 2025 13:33
@santoshcomcast
Copy link
Author

Addressed review comments of below PR and created new from develop.
#166

Copy link

@ddevadas53276 ddevadas53276 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks ok

Copy link

@srinivasgtl srinivasgtl left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have made a few comments and some comments may need to be handled at different places too.

* compressions, stereo modes, and connected video output ports.
*
* @var dsAudioPortId_t typeid
* Type of video port (e.g. HDMI, SCART, etc.).

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we set the structure dsAudioPortType_t clearly instead of just giving as example)

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Updated. Please check new code changes.

* Type of video port (e.g. HDMI, SCART, etc.).
*
* @var const char *name
* Name of the audio port type.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What is the naming that we follow here? Just to avoid different names by different platforms, still referring the same port type.

* Number of supported audio encodings.
*
* @var audioFeatures_t::supportedEncodings
* Array of supported audio encodings. The size of the array is defined by dsAUDIO_ENC_MAX.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Are we using the structure dsAudioEncoding_t here? if yes, then we need to reflect this in the spec.

dsAudioStereoMode_t supportedStereoModes[dsAUDIO_STEREO_MAX];
size_t numConnectedVOPs;
dsVideoPortPortId_t connectedVOPs[dsVIDEOPORT_TYPE_MAX];
}dsAudioFeatures_t;

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

how does this datatype differ from dsAudioTypeConfig_t except for the ConnectedVOPs. Do we really need this? We can discuss more on the requirement.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This dsVideoPortFeature_t struct is combine of dsAudioTypeConfig_t and dsAudioPortConfig_t struct since both struct has few common element members.

dsAudioStereoMode_t supportedStereoModes[dsAUDIO_STEREO_MAX];
size_t numConnectedVOPs;
dsVideoPortPortId_t connectedVOPs[dsVIDEOPORT_TYPE_MAX];
}dsAudioFeatures_t;

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

How are the other capabilities like MS12 variants support, ARC/eARC support, different stereo modes supports etc are derived from this audio capability structure?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There are separate capabilites APIs are available and can use same to get capabilities.
Ex:
dsError_t dsGetAudioCapabilities(intptr_t handle, int *capabilities);

* @brief Retrieves the list of supported audio output port types and the number of audio ports available.
*
* @param[out] kSupportedPortTypes Pointer to an array where the supported audio port types will be stored.
* The caller must ensure the array is properly allocated to hold the data.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

To make this more precise, why can't we use a two call format. First call should o with kSupportedportTypes as NULL so that we only get the number of Audio ports supporte and later call with a properly allocated array to read the SupportedPortTypes.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It is better idea. Will discusses about feasibility.

* Specifies the restricted resolution for the video port (-1 if none).
*
* @var int8_t defaultResIndex
* Index of the default resolution in the resolutions array.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you point to the resolution array here?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Update the data type and details for variable.

const char * defaultResIndex; // the default resolution stirng

int8_t defaultResIndex; // Index of the default resolution
size_t numconnectedAOPs; // Number of connected audio output ports
uint8_t connectedAOP[dsAUDIOPORT_TYPE_MAX]; // Array of connected audio output ports
} dsVideoPortFeatures_t;

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

how do we represent different Video formats supported, different video content type supported etc as part of capabilities?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this dsVideoPortFeatures_t struct using for configuration load in MW side.

As per my understanding, the video capabilities and select resolution APIs are using for video content.
dsColorDepthCapabilities(), dsSetResolution().
Correct me, If I am wrong.

* @return dsError_t Returns a status code indicating success or the type of error encountered.
*
* Possible values include:
* - dsErrorNone: Operation succeeded.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we follow the same method of defining the error code as done in the other APIs. Eg: Like from line 181 to 185 dsAudioPortTerm API.

include/dsFPD.h Outdated
* @note The caller is responsible for allocating memory for the indicatorColors
* array before calling this function.
*/
dsError_t dsFPGetSupportedLEDIndicatorColours (dsFPDColorConfig_t *indicatorColors, int* indicatorCount);

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Supported colors are already part of dsFPDIndicatorConfig_t (dsFPDColorConfig_t * supportedColors; // Supported Colors of the FPD LEDs ). Do we need to have a separate API for this?

Signed-off-by: grandhi_santoshkumar <grandhi_santoshkumar@comcast.com>
Copy link

@Ulrond Ulrond left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Need to review the why of this API changes.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Feature: Vendor support to provide the device capabilities API's

5 participants