Skip to content

RDKEMW-12345: versioning update - #237

Open
dp0000 wants to merge 5 commits into
0.2.0-8.6_VIPAfrom
feature/versioning
Open

RDKEMW-12345: versioning update#237
dp0000 wants to merge 5 commits into
0.2.0-8.6_VIPAfrom
feature/versioning

Conversation

@dp0000

@dp0000 dp0000 commented Aug 28, 2026

Copy link
Copy Markdown
Contributor

No description provided.

Deepikasri1234 and others added 5 commits August 24, 2026 20:17
… plugin scan

Reason for change : Plugin Scan was not initiated in SocInterface and the gsocPointer is not updated

Priority : P0
Test steps : check all the apps on closed captions conditions/reboot sceanrios
Signed off by: Deepikasri N Deepikasri_n@comcast.com
… plugin scan

Reason for change : Plugin Scan was not initiated in SocInterface and the gsocPointer is not updated

Priority : P0
Test steps : check all the apps on closed captions conditions/reboot sceanrios
Signed off by: Deepikasri N Deepikasri_n@comcast.com
Copilot AI lite review requested due to automatic review settings August 28, 2026 11:30
@dp0000
dp0000 requested a review from a team as a code owner August 28, 2026 11:30

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

This PR introduces build-time version/Git metadata embedding and updates SoC platform initialization so the SocInterface singleton can be safely created early (device.properties only) and optionally re-detected later via GStreamer plugin scan. It also adjusts InterfacePlayerRDK to avoid caching SocInterface instances so platform re-detection/replacement can be observed by existing objects.

Changes:

  • Add CMake-driven generation/installation of a version.h header (version + git revision/tag/branch) and a utility to print it.
  • Refactor SocInterface initialization into a two-phase flow with synchronization primitives and a plugin-scan “phase 2” entrypoint.
  • Update InterfacePlayerRDK/helpers to resolve the SoC interface via the singleton each time (and adjust the Flush signature).

Reviewed changes

Copilot reviewed 8 out of 10 changed files in this pull request and generated 6 comments.

Show a summary per file
File Description
version.h.in New CMake template for generated build/version metadata header.
CMakeLists.txt Captures Git metadata at configure time; generates + installs version.h.
PlayerUtils.h Declares PrintPlayerInterfaceVersion().
PlayerUtils.cpp Includes generated version.h and implements version printing.
vendor/SocInterface.h Declares phase-2 plugin-based platform initialization API.
vendor/SocInterface.cpp Introduces synchronized two-phase singleton init and plugin-scan-based replacement.
SocUtils.cpp Stops caching SocInterface pointer to allow runtime replacement visibility.
InterfacePlayerPriv.h Removes cached socInterface member; adds GetSocInterface() accessor.
InterfacePlayerRDK.h Updates Flush declaration (signature change).
InterfacePlayerRDK.cpp Calls version print, triggers plugin init + SoC init, and routes calls via GetSocInterface().
Suppressed comments (1)

InterfacePlayerRDK.cpp:3510

  • If SetStateWithWarnings() returns neither SUCCESS nor ASYNC, Pause() logs an error but still returns true. That hides state-change failures from callers.
		else if (GST_STATE_CHANGE_SUCCESS != rc)
		{
			MW_LOG_ERR("InterfacePlayerRDK_Pause - gst_element_set_state - FAILED rc %d ", rc);
		}

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread PlayerUtils.cpp
Comment on lines +26 to +30
/*
* (all existing content unchanged — append below RawKeyToKeyId)
*/

#include "version.h"
Comment thread PlayerUtils.cpp
Comment on lines +304 to +312
void PrintPlayerInterfaceVersion()
{
printf("###################################################\n");
printf("[PlayerInterface] Version : %s\n", PLAYERINTERFACE_VERSION);
printf("[PlayerInterface] Git Rev : %s\n", PLAYERINTERFACE_GIT_REVISION);
printf("[PlayerInterface] Git Tag : %s\n", PLAYERINTERFACE_GIT_TAG);
printf("[PlayerInterface] Git Branch: %s\n", PLAYERINTERFACE_GIT_BRANCH);
printf("###################################################\n");
}
Comment thread InterfacePlayerRDK.cpp
Comment on lines 3502 to 3505
if (nextState != validateStateWithMsTimeout(this,nextState, 100))
{
MW_LOG_ERR("InterfacePlayerRDK_Pause - validateStateWithMsTimeout - FAILED GstState %d ret-false", nextState);
retValue = false;
MW_LOG_ERR("InterfacePlayerRDK_Pause - validateStateWithMsTimeout - FAILED GstState %d", nextState);
}
Comment thread InterfacePlayerRDK.h
Comment on lines 739 to +743
* @param[in] shouldTearDown Whether to tear down the pipeline.
* @param[in] GstState The desired GStreamer pipeline state.
* @param[in] gstMediaFormat The media format for the pipeline.
* @param[in] keepPausedSeek true only for an explicit seek-with-keepPaused request
*/
bool Flush(double position, int rate, bool shouldTearDown, bool isAppSeek, bool keepPausedSeek);
bool Flush(double position, int rate, bool shouldTearDown, bool isAppSeek);
Comment thread CMakeLists.txt
Comment on lines +43 to +49
execute_process(
COMMAND ${GIT_EXECUTABLE} tag --points-at HEAD
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
OUTPUT_VARIABLE PI_GIT_TAG
OUTPUT_STRIP_TRAILING_WHITESPACE
ERROR_QUIET
)
Comment thread CMakeLists.txt
Comment on lines +25 to +28
# ---------------------------------------------------------------------------
# Player Interface build-time version / Git metadata
# Values are baked into version.h at compile time — no runtime git needed.
# ---------------------------------------------------------------------------
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.

3 participants