Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
16 commits
Select commit Hold shift + click to select a range
aadd1a3
RDKEMW-10725:gstreamer-cleanup when /opt/cdl_flashed_file_name is mis…
renukavarry Dec 8, 2025
6ca5a1c
RDKEMW-10725:gstreamer-cleanup when /opt/cdl_flashed_file_name is mis…
renukavarry Dec 8, 2025
6c0e9b7
RDKEMW-10725:gstreamer-cleanup when /opt/cdl_flashed_file_name is mis…
renukavarry Dec 8, 2025
e9a15ba
RDKEMW-10725:gstreamer-cleanup when /opt/cdl_flashed_file_name is mis…
renukavarry Dec 8, 2025
72f0fa3
RDKEMW-10725:gstreamer-cleanup when /opt/cdl_flashed_file_name is mis…
renukavarry Dec 8, 2025
ae70eee
RDKEMW-10725:gstreamer-cleanup when /opt/cdl_flashed_file_name is mis…
renukavarry Dec 9, 2025
4dff91e
RDKEMW-10725:gstreamer-cleanup when /opt/cdl_flashed_file_name is mis…
renukavarry Dec 9, 2025
bcd2c39
RDKEMW-10725:gstreamer-cleanup when /opt/cdl_flashed_file_name is mis…
renukavarry Dec 9, 2025
e000342
RDKEMW-10725:gstreamer-cleanup when /opt/cdl_flashed_file_name is mis…
renukavarry Dec 9, 2025
fd1ff4e
RDKEMW-10725:gstreamer-cleanup when /opt/cdl_flashed_file_name is mis…
renukavarry Dec 10, 2025
7322d0b
RDKEMW-10725:gstreamer-cleanup when /opt/cdl_flashed_file_name is mis…
renukavarry Dec 11, 2025
e291cb3
RDKEMW-10725:gstreamer-cleanup when /opt/cdl_flashed_file_name is mis…
renukavarry Dec 12, 2025
b76a4b7
Merge branch 'develop' into topic/RDKEMW-10725
renukavarry Dec 12, 2025
32b6dc9
RDKEMW-10725:gstreamer-cleanup when /opt/cdl_flashed_file_name is mis…
renukavarry Dec 14, 2025
5b7a7d5
RDKEMW-10725:Issue with gstreamer-cleanup when /opt/cdl_flashed_file_…
renukavarry Dec 15, 2025
07a29f9
Merge branch 'develop' into topic/RDKEMW-10725
renukavarry Dec 15, 2025
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
43 changes: 43 additions & 0 deletions lib/rdk/gstreamer-cleanup.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
#!/bin/bash

# This script checks if the GStreamer registry should be cleared based on
# firmware flash status and cleans it if necessary.

# Initialize variables safely
CDLFILE=""
PREV_CDLFILE=""
CUR_IMAGE=""

if [[ -f /opt/cdl_flashed_file_name ]]; then
CDLFILE=$(cat /opt/cdl_flashed_file_name)
fi
if [[ -f /opt/previous_flashed_file_name ]]; then
PREV_CDLFILE=$(cat /opt/previous_flashed_file_name)
fi
if [[ -f /version.txt ]]; then
CUR_IMAGE=$(grep "^imagename:" /version.txt | cut -d":" -f2)
fi

# Print the variables for debugging - can be removed once the logic is stable
echo "DEBUG: CDLFILE=[${CDLFILE}]"
echo "DEBUG: PREV_CDLFILE=[${PREV_CDLFILE}]"
echo "DEBUG: CUR_IMAGE=[${CUR_IMAGE}]"

# Check all cleanup conditions in a single if statement using bash syntax
if [[ ! -f /opt/previous_flashed_file_name || \
( ! -f /opt/cdl_flashed_file_name && "${PREV_CDLFILE}" != *"${CUR_IMAGE}"* ) || \
( -f /opt/cdl_flashed_file_name && "${CDLFILE}" != *"${PREV_CDLFILE}"* ) ]]; then

echo "Removing gstreamer registry on bootup after CDL"
rm -rf /opt/.gstreamer
GST_REGISTRY_UPDATE=yes gst-inspect-1.0 >/dev/null 2>&1

elif [[ ! -f /opt/.gstreamer/registry.bin ]]; then
# Fallback: Clean if registry file is missing anyway
echo "Gstreamer registry empty"
rm -rf /opt/.gstreamer
GST_REGISTRY_UPDATE=yes gst-inspect-1.0 >/dev/null 2>&1
else
echo "gstreamer registry is not removed, previous reboot is not due to CDL"
fi

9 changes: 3 additions & 6 deletions systemd_units/gstreamer-cleanup.service
Original file line number Diff line number Diff line change
Expand Up @@ -26,12 +26,9 @@ Before=wpeframework.service
[Service]
Type=oneshot
RemainAfterExit=Yes
Environment="CDLFILE=$(cat /opt/cdl_flashed_file_name)"
Environment="PREV_CDLFILE=$(cat /opt/previous_flashed_file_name)"
Environment="GST_REGISTRY=/opt/.gstreamer/registry.bin"
ExecStartPre=/bin/sh -c 'if [ -f /lib/rdk/logMilestone.sh ];then sh /lib/rdk/logMilestone.sh "GST_CLEANUP_START"; fi;'
ExecStart=-/bin/sh -c 'if [[ ! -f /opt/previous_flashed_file_name || ! -f /opt/cdl_flashed_file_name || ${CDLFILE} != *"${PREV_CDLFILE}"* ]]; then echo "Removing gstreamer registry on bootup after CDL"; rm -rf /opt/.gstreamer;GST_REGISTRY_UPDATE=yes gst-inspect-1.0 >/dev/null 2>&1; elif [ ! -f /opt/.gstreamer/registry.bin ]; then echo "Gstreamer registry empty"; rm -rf /opt/.gstreamer; GST_REGISTRY_UPDATE=yes gst-inspect-1.0 >/dev/null 2>&1; else echo "gstreamer registry is not removed, previous reboot is not due to CDL"; fi'
ExecStartPost=/bin/sh -c 'if [ -f /lib/rdk/logMilestone.sh ];then sh /lib/rdk/logMilestone.sh "GST_CLEANUP_COMPLETE"; fi;'
ExecStartPre=/bin/bash -c 'if [ -f /lib/rdk/logMilestone.sh ];then sh /lib/rdk/logMilestone.sh "GST_CLEANUP_START"; fi;'
ExecStart=-/lib/rdk/gstreamer-cleanup.sh
ExecStartPost=/bin/bash -c 'if [ -f /lib/rdk/logMilestone.sh ];then sh /lib/rdk/logMilestone.sh "GST_CLEANUP_COMPLETE"; fi;'
ExecStop=/bin/sh -c 'FW_UPDATE_STATE=$(cat /opt/fwdnldstatus.txt | grep FwUpdateState | cut -d "|" -f2); echo "FW_UPDATE_STATE: $FW_UPDATE_STATE"; if [ "$FW_UPDATE_STATE" == "Preparing to reboot" ]; then echo "Removing gstreamer registry after firmware update"; rm -rf /opt/.gstreamer; fi;'

[Install]
Expand Down