Repo Setup:

Build Instructions:

  • MACHINE=raspberrypi4-64-rdk-hybrid source meta-cmf-raspberrypi/setup-environment
  • bitbake -k rdk-generic-hybrid-wpe-image

Note :

  • For Cobalt plugin to work : Refer the Table: Known Issues - Section 2

Machine Configuration and Meta layer changes:


Meta LayerRecipeChangeCode ReviewStatus
1meta-cmf-raspberrypiconf/machine/raspberrypi4-64-rdk-hybrid.conf

New machine configuration added.

#@DESCRIPTION: Machine configuration for running a RDK media server (hybrid) on 64bit Raspberry Pi4

#@RDK_FLAVOR: rdkv

require conf/machine/raspberrypi4-64.conf

MACHINEOVERRIDES .= ":raspberrypi4-64:rpi:hybrid:wpe"

# required for image creation

MACHINE_IMAGE_NAME = "rdk-generic-hybrid-wpe-image"

https://code.rdkcentral.com/r/c/rdk/components/generic/rdk-oe/meta-cmf-raspberrypi/+/67332Closed
2meta-cmf-raspberrypi-restricted


https://code.rdkcentral.com/r/c/components/generic/rdk-oe/meta-cmf-raspberrypi-restricted/+/65911
meta-rdk-restricted/recipes-qt/servicemanager/servicemanager_git.bbappenddiff --git a/meta-rdk-restricted/recipes-qt/servicemanager/servicemanager_git.bbappend b/meta-rdk-restricted/recipes-qt/servicemanager/servicemanager_git.bbappend
index 42bc222..decd69b 100644
--- a/meta-rdk-restricted/recipes-qt/servicemanager/servicemanager_git.bbappend
+++ b/meta-rdk-restricted/recipes-qt/servicemanager/servicemanager_git.bbappend
@@ -15,3 +15,4 @@ CXXFLAGS += " -I${QT_INC_BASE_DIR}/QtWidgets"
 CXXFLAGS += " -I${QT_INC_BASE_DIR}/QtCore"
 
 LDFLAGS += " -lQt5OpenGL"
+EXTRA_QMAKEVARS_PRE_append_aarch64 += "DEFINES+=ENABLE_RPI_64BIT"
Closed
meta-rdk-restricted/recipes-extended/recorder/recorder_git.bbappenddiff --git a/meta-rdk-restricted/recipes-extended/recorder/recorder_git.bbappend b/meta-rdk-restricted/recipes-extended/recorder/recorder_git.bbappend
index 71aa115..2f1884f 100644
--- a/meta-rdk-restricted/recipes-extended/recorder/recorder_git.bbappend
+++ b/meta-rdk-restricted/recipes-extended/recorder/recorder_git.bbappend
@@ -1 +1,2 @@
 CXXFLAGS += "-DTRH_DISABLE"
+PACKAGECONFIG_remove_aarch64 = "ippvclient"
Closed



Errors and Fixes:


Source FileError/ WarningFixCode Review Status
1dsVideoPort.c

In function 'dsError_t dsGetVideoPort(dsVideoPortType_t, int, int*)'

cast from 'VOPHandle_t*' {aka '_VOPHandle_t*'} to 'int' loses precision

Change int -> intptr_thttps://code.rdkcentral.com/r/c/rdk/devices/raspberrypi/devicesettings/+/65451Closed
2dsDisplay.c

137:48: error: cast from 'VDISPHandle_t*' {aka '_VDISPHandle_t*'} to 'int' loses precision [-fpermissive]

|   137 |         *handle = (int)&_handles[m_vType][index];

Change int -> intptr_thttps://code.rdkcentral.com/r/c/rdk/devices/raspberrypi/devicesettings/+/65451Closed
3dsAudio.c

cast from 'AOPHandle_t*' {aka '_AOPHandle_t*'} to 'int' loses precision [-fpermissive]

|   162 |                 *handle = (int)&_handles[type][index];

62:36: error: cast from 'AOPHandle_t*' {aka '_AOPHandle_t*'} to 'int' loses precision [-fpermissive]

|    62 |         if ((int)&_handles[index][0] == uHandle) {

Change int -> intptr_thttps://code.rdkcentral.com/r/c/rdk/devices/raspberrypi/devicesettings/+/65451Closed
4git/src/ctrlm_xraudio_hal.c

130:6: error: conflicting types for 'xraudio_hal_available_devices_get'

|   130 | bool xraudio_hal_available_devices_get(xraudio_devices_input_t *inputs, uint32_t input_qty_max, xraudio_devices_output_t *outputs, size_t output_qty_max) {

|       |      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

./ctrlm_xraudio_hal.c:130:bool xraudio_hal_available_devices_get(xraudio_devices_input_t *inputs, uint32_t input_qty_max, xraudio_devices_output_t *outputs, uint32_t_t output_qty_max)https://code.rdkcentral.com/r/c/rdk/components/generic/xraudio-hal_ctrlm/+/67186Closed
5git/src/bt-ifce/btrCore_dbus_bluez5.c| In file included from ../../git/src/bt-ifce/btrCore_dbus_bluez5.c:36:
| ../../git/src/bt-ifce/btrCore_dbus_bluez5.c: In function 'btrCore_BTHandleDusError':
| ../../git/include/logger/btrCore_logger.h:23:25: error: format '%lu' expects argument of type 'long unsigned int', but argument 4 has type 'int' [-Werror=format=]
 BTRCORELOG_DEBUG("Received data is %s with length %d\n", propertyValue, (int)strlen(propertyValue));https://code.rdkcentral.com/r/c/rdk/components/generic/bluetooth/+/67187Closed
7cobalt module

imizing-move -frtti -fno-exceptions  -c ../../cobalt/configuration/configuration.cc -o obj/cobalt/configuration/configuration.configuration.o
| In file included from ../../base/memory/singleton.h:33,
|                  from ../../cobalt/configuration/configuration.cc:18:
| ../../base/lazy_instance_helpers.h: In instantiation of 'Type* base::subtle::GetOrCreateLazyPointer(base::subtle::AtomicWord*, Type* (*)(void*), void*, void (*)(void*), void*) [with Type = cobalt::configuration::Configuration; base::subtle::AtomicWord = int]':
| ../../base/memory/singleton.h:236:42:   required from 'static Type* base::Singleton<Type, Traits, DifferentiatingType>::get() [with Type = cobalt::configuration::Configuration; Traits = base::LeakySingletonTraits<cobalt::configuration::Configuration>; DifferentiatingType = cobalt::configuration::Configuration]'
| ../../cobalt/configuration/configuration.cc:29:70:   required from here
| ../../base/lazy_instance_helpers.h:83:11: error: cast from 'cobalt::configuration::Configuration*' to 'base::subtle::AtomicWord' {aka 'int'} loses precision [-fpermissive]
|    83 |           reinterpret_cast<subtle::AtomicWord>((*creator_func)(creator_arg));
|       |           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

 error: unrecognized command line option '-mfpu=neon'
  aarch64-rdk-linux-g++: error: unrecognized command line option '-mfpu=vfpv3'
| aarch64-rdk-linux-g++: error: unrecognized command line option '-mfloat-abi=softfp'
| aarch64-rdk-linux-g++: error: unrecognized command line option '-marm'
| ninja: build stopped: subcommand failed.
 ../../third_party/protobuf/src/google/protobuf/arena.cc:158:113: error: cast from 'google::protobuf::Arena::Block*' to 'google::protobuf::internal::AtomicWord' {aka 'int'} loses precision [-fpermissive]

removed cobalt module

Taken as a sub task. Yet to address


It is removed and merged in the branch and will be reverting in the future and working on it.

REFPLTV-1225 - Getting issue details... STATUS

8src/rmf_sectionfilter.cpp

../../../../git/qamsource/simgr/inband/./src/rmf_sectionfilter.cpp:641:37: error: cast from 'rmf_sf_SectionRequest_t*' {aka 'rmf_sf_SectionRequest_s*'} to 'uint32_t' {aka 'unsigned int'} loses precision [-fpermissive]

|   641 |     ReleaseFilterRequest((uint32_t) pRequest);

|       |                                     ^~~~~~~~

| ../../../../git/qamsource/simgr/inband/./src/rmf_sectionfilter.cpp: In member function 'rmf_Error rmf_SectionFilter::ReleaseFilter(uint32_t)':

| ../../../../git/qamsource/simgr/inband/./src/rmf_sectionfilter.cpp:708:37: error: cast from 'rmf_sf_SectionRequest_t*' {aka 'rmf_sf_SectionRequest_s*'} to 'uint32_t' {aka 'unsigned int'} loses precision [-fpermissive]

|   708 |     ReleaseFilterRequest ((uint32_t)pFilter_Request);

(rmf_SiServiceHandle)new_si_entry -> (uintptr_t)new_si_entryhttps://code.rdkcentral.com/r/c/components/generic/mediaframework/+/65588Closed
9./src/rmf_oobsicache.cpp

../../../../git/qamsource/simgr/oob/./src/rmf_oobsicache.cpp:8980:42: error: cast from 'rmf_SiTableEntry*' to 'rmf_SiServiceHandle' {aka 'unsigned int'} loses precision [-fpermissive]
|  8980 |         SetSourceId((rmf_SiServiceHandle)new_si_entry, input_si_entry->source_id);
|       |                                          ^~~~~~~~~~~~
| ../../../../git/qamsource/simgr/oob/./src/rmf_oobsicache.cpp:8983:41: error: cast from 'rmf_SiTableEntry*' to 'rmf_SiServiceHandle' {aka 'unsigned int'} loses precision [-fpermissive]
|  8983 |         SetAppType((rmf_SiServiceHandle)new_si_entry, input_si_entry->isAppType);
|       |                                         ^~~~~~~~~~~~
| ../../../../git/qamsource/simgr/oob/./src/rmf_oobsicache.cpp:8984:39: error: cast from 'rmf_SiTableEntry*' to 'rmf_SiServiceHandle' {aka 'unsigned int'} loses precision [-fpermissive]
|  8984 |         SetAppId((rmf_SiServiceHandle)new_si_entry, input_si_entry->app_id);
|       |                                       ^~~~~~~~~~~~
| ../../../../git/qamsource/simgr/oob/./src/rmf_oobsicache.cpp:8985:49: error: cast from 'rmf_SiTableEntry*' to 'rmf_SiServiceHandle' {aka 'unsigned int'} loses precision [-fpermissive]
|  8985 |         SetActivationTime ((rmf_SiServiceHandle)new_si_entry, input_si_entry->activation_time);
|       |                                                 ^~~~~~~~~~~~
| ../../../../git/qamsource/simgr/oob/./src/rmf_oobsicache.cpp:8986:47: error: cast from 'rmf_SiTableEntry*' to 'rmf_SiServiceHandle' {aka 'unsigned int'} loses precision [-fpermissive]
|  8986 |         SetChannelNumber((rmf_SiServiceHandle)new_si_entry, input_si_entry->virtual_channel_number, RMF_SI_DEFAULT_CHANNEL_NUMBER);

../../../../git/qamsource/simgr/oob/./src/rmf_oobsicache.cpp:5852:71: error: cast from 'rmf_SiTableEntry*' to 'rmf_SiServiceHandle' {aka 'unsigned int'} loses precision [-fpermissive]
|  5852 |                         pgm->services->push_back((rmf_SiServiceHandle)new_si_entry);
|       |                                                                       ^~~~~~~~~~~~
| ../../../../git/qamsource/simgr/oob/./src/rmf_oobsicache.cpp:5856:70: error: cast from 'rmf_SiTableEntry*' to 'rmf_SiServiceHandle' {aka 'unsigned int'} loses precision [-fpermissive]
|  5856 |                         ts->services->push_back((rmf_SiServiceHandle)new_si_entry);
|       |                                                                      ^~~~~~~~~~~~
| ../../../../git/qamsource/simgr/oob/./src/rmf_oobsicache.cpp:5890:73: error: cast from 'rmf_SiTransportStreamEntry*' to 'rmf_SiTransportStreamHandle' {aka 'unsigned int'} loses precision [-fpermissive]
|  5890 |                 new_si_entry->ts_handle = (rmf_SiTransportStreamHandle) ts;
|       |                                                                         ^~
| ../../../../git/qamsource/simgr/oob/./src/rmf_oobsicache.cpp:5891:62: error: cast from 'rmf_SiProgramInfo*' to 'rmf_SiProgramHandle' {aka 'unsigned int'} loses precision [-fpermissive]
|  5891 |                 new_si_entry->program = (rmf_SiProgramHandle)pgm;
|       |                                                              ^~~

change the datatype

int -> intptr_t

https://code.rdkcentral.com/r/c/components/generic/mediaframework/+/65588Closed
10/usr/src/debug/websocket-ipplayer2-utils/git-r0/git/src/ipp2/RdkLogProvider.cpp/usr/src/debug/websocket-ipplayer2-utils/git-r0/git/src/ipp2/RdkLogProvider.cpp:34: undefined reference to `rdk_logger_init

Add   -lrdkloggers  in cmake in *utils source code

build-raspberrypi4-64-rdk-hybrid/tmp/work/aarch64-rdk-linux/websocket-ipplayer2-utils/git-r0/git/src/ipp2/ CMakeLists.txt

https://code.rdkcentral.com/r/c/components/generic/websocket-ipplayer2/+/69895Closed
11git/src/audioCap/btrMgr_audioCap.c

 In file included from ../../../git/src/audioCap/btrMgr_audioCap.c:58:

| ../../../git/src/audioCap/btrMgr_audioCap.c: In function 'btrMgr_AC_rmfStatusChangeCb':

| ../../../git/include/logger/btrMgr_logger.h:23:25: error: format '%d' expects argument of type 'int', but argument 5 has type 'size_t' {aka 'long unsigned int'} [-Werror=format=]

|    23 | #define PREFIX(format)  "%d\t: %s - " format

| ../../../git/include/logger/btrMgr_logger.h:39:22: note: in definition of macro 'LOG_WARN'

|    39 |     fprintf (stderr, format, __VA_ARGS__);\

| ../../../git/include/logger/btrMgr_logger.h:68:53: note: in expansion of macro 'PREFIX'

|    68 | #define BTRMGRLOG_WARN(format,  ...)       LOG_WARN(PREFIX(format),  __LINE__, __FUNCTION__, ##__VA_ARGS__)

| ../../../git/src/audioCap/btrMgr_audioCap.c:1270:13: note: in expansion of macro 'BTRMGRLOG_WARN'

|  1270 |             BTRMGRLOG_WARN("Status Changed - Fifo Depth = %d\n", lstBtrMgrRmfAcStatus.fifoDepth);

| ../../../git/src/audioCap/btrMgr_audioCap.c:1270:60: note: format string is defined here

| cc1: all warnings being treated as errors

Add CFLAGS in bbappend in meta-cmf-rasphttps://code.rdkcentral.com/r/c/rdk/components/generic/bluetooth_mgr/+/65913Closed
12git/src/tcjson.cpp

../git/src/tcjson.cpp:175:20: error: invalid conversion from 'int (*)(void*, const char*, unsigned int)' to 'int (*)(void*, const char*, size_t)' {aka 'int (*)(void*, const char*, long unsigned int)'} [-fpermissive]

|   175 |     ParserContext::parse_number,

|       |     ~~~~~~~~~~~~~~~^~~~~~~~~~~~

|       |                    int (*)(void*, const char*, unsigned int)

| ../git/src/tcjson.cpp:176:20: error: invalid conversion from 'int (*)(void*, const unsigned char*, unsigned int)' to 'int (*)(void*, const unsigned char*, size_t)' {aka 'int (*)(void*, const unsigned char*, long unsigned int)'} [-fpermissive]

|   176 |     ParserContext::parse_string,

|       |     ~~~~~~~~~~~~~~~^~~~~~~~~~~~

|       |                    int (*)(void*, const unsigned char*, unsigned int)

| ../git/src/tcjson.cpp:178:20: error: invalid conversion from 'int (*)(void*, const unsigned char*, unsigned int)' to 'int (*)(void*, const unsigned char*, size_t)' {aka 'int (*)(void*, const unsigned char*, long unsigned int)'} [-fpermissive]

|   178 |     ParserContext::parse_map_key,

|       |     ~~~~~~~~~~~~~~~^~~~~~~~~~~~~

|       |                    int (*)(void*, const unsigned char*, unsigned int)

| ../git/src/tcjson.cpp: In member function 'std::string TcJson::toString(bool) const':

| ../git/src/tcjson.cpp:700:31: error: cannot convert 'unsigned int*' to 'size_t*' {aka 'long unsigned int*'}

|   700 |     yajl_gen_get_buf(g, &buf, &len);

|       |                               ^~~~

|       |                               unsigned int*

Modified error lines in tcjson.cpp in fog comp

change the datatype accordingly

https://code.rdkcentral.com/r/c/components/generic/fog/+/67287Closed
13

rdkservices/3.0+gitAUTOINC+1323f96851-r1/git/RDKShell/RDKShell.cpp

error: cannot bind non-const lvalue reference of type 'uint32_t&' {aka 'unsigned int&'} to an rvalue of type 'uint32_t' {aka 'unsigned int'}CompositorController::screenShot(data, (unsigned int&)size) - RDKShell.cpp - rdkservice comphttps://github.com/rdkcentral/rdkservices/pull/2674Merged and Closed
14git/src/ctrlm_database.cpp

./../git/src/ctrlm_database.cpp:1433:88: error: invalid conversion from 'guint64*' {aka 'long unsigned int*'} to 'sqlite_uint64*' {aka 'long long unsigned int*'} [-fpermissive]

 1433 |    ctrlm_db_read_uint64(CTRLM_DB_TABLE_CTRLMGR, CTRLM_DB_DEVICE_UPDATE_KEY_SESSION_ID, &device_update_session_id);

      |                                                                                        ^~~~~~~~~~~~~~~~~~~~~~~~~

      |                                                                                        guint64* {aka long unsigned int*}

../../git/src/ctrlm_database.cpp:732:78: note:   initializing argument 3 of 'int ctrlm_db_read_uint64(const char*, const char*, sqlite_uint64*)'

  732 | int  ctrlm_db_read_uint64(const char *table, const char *key, sqlite_uint64 *value) {

      |                                                               ~~~~~~~~~~~~~~~^~~~~

../../git/src/ctrlm_database.cpp: In function 'void ctrlm_db_rf4ce_read_polling_methods(ctrlm_network_id_t, ctrlm_controller_id_t, guint8*)':

../../git/src/ctrlm_database.cpp:2306:51: error: invalid conversion from 'guint64*' {aka 'long unsigned int*'} to 'sqlite_uint64*' {aka 'long long unsigned int*'} [-fpermissive]

 2306 |    ctrlm_db_read_uint64(table, "polling_methods", &temp_polling_methods);

      |                                                   ^~~~~~~~~~~~~~~~~~~~~

guint64 -> long long unsigned int(ctrlm_database.cpp)https://code.rdkcentral.com/r/c/rdk/components/generic/control/+/69726Closed
15git/src/hostif/handlers/src/hostIf_dsClient_ReqHandler.cpp

../../../../git/src/hostif/handlers/src/hostIf_dsClient_ReqHandler.cpp: In static member function 'static void DSClientReqHandler::checkForUpdates()':

| ../../../../git/src/hostif/handlers/src/hostIf_dsClient_ReqHandler.cpp:452:87: error: cast from 'gpointer' {aka 'void*'} to 'int' loses precision [-fpermissive]

|   452 |         hostIf_STBServiceHDMI *pIface = hostIf_STBServiceHDMI::getInstance((int)elem->data);

|       |                                                                                       ^~~~

| ../../../../git/src/hostif/handlers/src/hostIf_dsClient_ReqHandler.cpp:464:101: error: cast from 'gpointer' {aka 'void*'} to 'int' loses precision [-fpermissive]

|   464 |         hostIf_STBServiceVideoOutput *pIface = hostIf_STBServiceVideoOutput::getInstance((int)elem->data);

|       |                                                                                                     ^~~~

| ../../../../git/src/hostif/handlers/src/hostIf_dsClient_ReqHandler.cpp:476:103: error: cast from 'gpointer' {aka 'void*'} to 'int' loses precision [-fpermissive]

|   476 |         hostIf_STBServiceVideoDecoder *pIface = hostIf_STBServiceVideoDecoder::getInstance((int)elem->data);

|       |                                                                                                       ^~~~

| ../../../../git/src/hostif/handlers/src/hostIf_dsClient_ReqHandler.cpp:489:112: error: cast from 'gpointer' {aka 'void*'} to 'int' loses precision [-fpermissive]

|   489 |         hostIf_STBServiceAudioInterface *pIfaceAudio = hostIf_STBServiceAudioInterface::getInstance((int)elem->data);

|       |                                                                                                                ^~~~

| ../../../../git/src/hostif/handlers/src/hostIf_dsClient_ReqHandler.cpp:502:94: error: cast from 'gpointer' {aka 'void*'} to 'int' loses precision [-fpermissive]

|   502 |         hostIf_STBServiceSPDIF *pIfaceSPDIF = hostIf_STBServiceSPDIF::getInstance((int)elem->data);

|       |                                                                                              ^~~~

Update hostIf_dsClient_ReqHandler.cpp  change the datatype accordinglyhttps://code.rdkcentral.com/r/c/rdk/components/generic/tr69hostif/+/65721Closed
16git/src/hostif/handlers/src/hostIf_jsonReqHandlerThread.cpp

| ../../../../git/src/hostif/handlers/src/hostIf_jsonReqHandlerThread.cpp:154:5: error: invalid conversion from 'int (*)(void*, const char*, unsigned int)' to 'int (*)(void*, const char*, size_t)' {aka 'int (*)(void*, const char*, long unsigned int)'} [-fpermissive]

|   154 |     process_number,

|       |     ^~~~~~~~~~~~~~

|       |     int (*)(void*, const char*, unsigned int)

| ../../../../git/src/hostif/handlers/src/hostIf_jsonReqHandlerThread.cpp:155:5: error: invalid conversion from 'int (*)(void*, const unsigned char*, unsigned int)' to 'int (*)(void*, const unsigned char*, size_t)' {aka 'int (*)(void*, const unsigned char*, long unsigned int)'} [-fpermissive]

|   155 |     process_string,

|       |     ^~~~~~~~~~~~~~

|       |     int (*)(void*, const unsigned char*, unsigned int)

| ../../../../git/src/hostif/handlers/src/hostIf_jsonReqHandlerThread.cpp:157:5: error: invalid conversion from 'int (*)(void*, const unsigned char*, unsigned int)' to 'int (*)(void*, const unsigned char*, size_t)' {aka 'int (*)(void*, const unsigned char*, long unsigned int)'} [-fpermissive]

|   157 |     process_map_key,

|       |     ^~~~~~~~~~~~~~~

Update hostIf_jsonReqHandlerThread.cpphttps://code.rdkcentral.com/r/c/rdk/components/generic/tr69hostif/+/69735Closed
17/tmp/work/aarch64-rdk-linux/sessionmgr/git-r0/git/src/SessionMgr.cpp

/home/kpandu549/keerthana/oct27-v/build-raspberrypi4-64-rdk-hybrid/tmp/work/aarch64-rdk-linux/sessionmgr/git-r0/git/src/SessionMgr.cpp:17719:67: error: invalid conversion from 'int64_t*' {aka 'long int*'} to 'long long int*' [-fpermissive]

| 17719 |               if (sessionmgr_GetLongIntFromJson(item, "interval", &uid_interval)) {

|       |                                                                   ^~~~~~~~~~~~~

|       |                                                                   int64_t* {aka long int*}

| In file included from /home/kpandu549/keerthana/oct27-v/build-raspberrypi4-64-rdk-hybrid/tmp/work/aarch64-rdk-linux/sessionmgr/git-r0/git/src/SessionMgr.cpp:122:

| /home/kpandu549/keerthana/oct27-v/build-raspberrypi4-64-rdk-hybrid/tmp/work/aarch64-rdk-linux/sessionmgr/git-r0/git/src/SessionMgrJsonHelper.h:39:90: note:   initializing argument 3 of 'bool sessionmgr_GetLongIntFromJson(json_t*, const char*, long long int*)'

|    39 | bool          sessionmgr_GetLongIntFromJson(json_t *object, const char* name, long long *val);

|       |                                                                               ~~~~~~~~~~~^~~

| /home/kpandu549/keerthana/oct27-v/build-raspberrypi4-64-rdk-hybrid/tmp/work/aarch64-rdk-linux/sessionmgr/git-r0/git/src/SessionMgr.cpp:17728:67: error: invalid conversion from 'int64_t*' {aka 'long int*'} to 'long long int*' [-fpermissive]

| 17728 |       if (sessionmgr_GetLongIntFromJson(uidParamsObject, "count", &uid_count)) {

|       |                                                                   ^~~~~~~~~~

|       |                                                                   int64_t* {aka long int*}

| In file included from /home/kpandu549/keerthana/oct27-v/build-raspberrypi4-64-rdk-hybrid/tmp/work/aarch64-rdk-linux/sessionmgr/git-r0/git/src/SessionMgr.cpp:122:

| /home/kpandu549/keerthana/oct27-v/build-raspberrypi4-64-rdk-hybrid/tmp/work/aarch64-rdk-linux/sessionmgr/git-r0/git/src/SessionMgrJsonHelper.h:39:90: note:   initializing argument 3 of 'bool sessionmgr_GetLongIntFromJson(json_t*, const char*, long long int*)'

|    39 | bool          sessionmgr_GetLongIntFromJson(json_t *object, const char* name, long long *val);

|       |                                                                               ~~~~~~~~~~~^~~

| /home/kpandu549/keerthana/oct27-v/build-raspberrypi4-64-rdk-hybrid/tmp/work/aarch64-rdk-linux/sessionmgr/git-r0/git/src/SessionMgr.cpp:17730:74: error: invalid conversion from 'int64_t*' {aka 'long int*'} to 'long long int*' [-fpermissive]

| 17730 |           if (sessionmgr_GetLongIntFromJson(uidParamsObject, "interval", &uid_interval)) {

|       |                                                                          ^~~~~~~~~~~~~

 /home/kpandu549/keerthana/oct27-v/build-raspberrypi4-64-rdk-hybrid/tmp/work/aarch64-rdk-linux/sessionmgr/git-r0/git/src/SessionMgr.cpp:14531:84: error: call of overloaded 'addNum(const char*&, const char [5], int64_t)' is ambiguous

| 14531 |             response.addNum(property, "%lld", session->source->getTimeshiftBuffer());

Update SessionMgr.cpp datatypes according to the errorhttps://code.rdkcentral.com/r/c/components/generic/sessionmgr/+/72400Closed
18

recorder/1.99+gitAUTOINC+1ced954c99-r0/git/Recording.cpp

 rmfstreamer - undefined reference to `RMFiPPVSrc::purchasePPVEvent(unsigned int&)'

added stub for RMFiPPVSrc::purchasePPVEvent(unsigned int&) in recording.cpp
Closed
19git/daemon/source/utils/logging.cpp

| /home/pjames993/64bit_dunfell_17nov/build-raspberrypi4-64-rdk-hybrid/tmp/work/aarch64-rdk-linux/asbluetoothrcu/1.99-r0/recipe-sysroot/usr/include/qt5/QtCore/qbasicatomic.h: In instantiation of 'T QBasicAtomicInteger<T>::fetchAndAndOrdered(T) [with T = int]':

| /home/pjames993/64bit_dunfell_17nov/build-raspberrypi4-64-rdk-hybrid/tmp/work/aarch64-rdk-linux/asbluetoothrcu/1.99-r0/recipe-sysroot/usr/include/qt5/QtCore/qbasicatomic.h:254:14:   required from 'T QBasicAtomicInteger<T>::operator&=(T) [with T = int]'

| /home/pjames993/64bit_dunfell_17nov/build-raspberrypi4-64-rdk-hybrid/tmp/work/aarch64-rdk-linux/asbluetoothrcu/1.99-r0/git/daemon/source/utils/logging.cpp:630:36:   required from here

| /home/pjames993/64bit_dunfell_17nov/build-raspberrypi4-64-rdk-hybrid/tmp/work/aarch64-rdk-linux/asbluetoothrcu/1.99-r0/recipe-sysroot/usr/include/qt5/QtCore/qbasicatomic.h:220:37: error: 'fetchAndAndOrdered' is not a member of 'QBasicAtomicInteger<int>::Ops' {aka 'QAtomicOps<int>'}

|   220 |     { return Ops::fetchAndAndOrdered(_q_value, valueToAdd); }

|       |              ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~

g_logTargets &= ~LoggingTarget::EthanLog;

change the  expression to   

g_logTargets = (g_logTargets & ~LoggingTarget::EthanLog);

              


https://code.rdkcentral.com/r/c/rdk/components/generic/blercudaemon/+/67318Closed
20servicemanager module| /home/pjames993/64bit_dunfell_17nov/build-raspberrypi4-64-rdk-hybrid/tmp/work/aarch64-rdk-linux/servicemanager/1.99-r0/recipe-sysroot-native/usr/bin/aarch64-rdk-linux/../../libexec/aarch64-rdk-linux/gcc/aarch64-rdk-linux/9.3.0/ld: ../servicemanager/libservicemanager.so: undefined reference to `QAbstractScrollArea::viewport() const'
| collect2: error: ld returned 1 exit status
| Makefile:125: recipe for target 'servicemanagerapp' failed
| make[1]: *** [servicemanagerapp] Error 1

add the below changes in servicemanagerapp.pro

QT += widgets

QT += opengl

Path : servicemanager/1.99-r0/git/build/servicemanagerapp/servicemanagerapp.pro


https://code.rdkcentral.com/r/c/rdk/components/generic/servicemanager/+/66389Closed
21git/src/helpers/jsonwriter.cpp

| ../../git/src/helpers/jsonwriter.cpp: In member function 'QString JSONWriter::write(const QVariantHash&)':

| ../../git/src/helpers/jsonwriter.cpp:71:49: error: cannot convert 'unsigned int*' to 'size_t*' {aka 'long unsigned int*'}

|    71 |     yajl_gen_get_buf((yajl_gen) m_handle, &buf, &len);

|       |                                                 ^~~~

|       |                                                 unsigned int*

| ../../git/src/helpers/jsonwriter.cpp: In member function 'QString JSONWriter::write(const QVariantMap&)':

| ../../git/src/helpers/jsonwriter.cpp:89:49: error: cannot convert 'unsigned int*' to 'size_t*' {aka 'long unsigned int*'}

|    89 |     yajl_gen_get_buf((yajl_gen) m_handle, &buf, &len);

|       |                                                 ^~~~

|       |                                                 unsigned int*

| /home/pjames993/64bit_dunfell_17nov/build-raspberrypi4-64-rdk-hybrid/tmp/work/aarch64-rdk-linux/servicemanager/1.99-r0/recipe-sysroot/usr/include/yajl/yajl_gen.h:146:56: note:   initializing argument 3 of 'yajl_gen_status yajl_gen_get_buf(yajl_gen, const unsigned char**, size_t*)'

|   146 |                                               size_t * len);

|       |                                               ~~~~~~~~~^~~

| ../../git/src/helpers/jsonwriter.cpp: In member function 'QString JSONWriter::write(QVariantList&)':

| ../../git/src/helpers/jsonwriter.cpp:108:49: error: cannot convert 'unsigned int*' to 'size_t*' {aka 'long unsigned int*'}

unsigned int len→ long unsigned int lenhttps://code.rdkcentral.com/r/c/rdk/components/generic/servicemanager/+/66389Closed
22servicemanager module| /home/pjames993/64bit_dunfell_17nov/build-raspberrypi4-64-rdk-hybrid/tmp/work/aarch64-rdk-linux/servicemanager/1.99-r0/recipe-sysroot-native/usr/bin/aarch64-rdk-linux/../../libexec/aarch64-rdk-linux/gcc/aarch64-rdk-linux/9.3.0/ld: ../servicemanager/libservicemanager.so: undefined reference to `ServiceManager::HTTPNetworkAccessManager::HTTPNetworkAccessManager(QObject*)'

comment out the below conditions in build-raspberrypi4-64-rdk-hybrid/tmp/work/aarch64-rdk-linux/servicemanager/1.99-r0/git/build/servicemanager/servicemanager.pro file

#contains(DEFINES, SCREEN_CAPTURE) {

   # !contains(DEFINES, DISABLE_SCREEN_CAPTURE) {

.

.

      #.}

#}


https://code.rdkcentral.com/r/c/rdk/components/generic/servicemanager/+/66389Closed

Regressions Occured


Source / ModuleError/WarningChangesCode Review / Jira Ticket
1

Module : rtRemote

src/rtRemoteValueWriter.cpp

| [21/45] /home/pjames993/64bit_rpi4_apr18/build-raspberrypi4-64-rdk-hybrid/tmp/work/aarch64-rdk-linux/rtremote/2.x+gitAUTOINC+9c5eeba065-r0/recipe-sysroot-native/usr/bin/aarch64-rdk-linux/aarch64-rdk-linux-g++  -DRAPIDJSON_HAS_STDSTRING -DRT_PLATFORM_LINUX -DRT_REMOTE_LOOPBACK_ONLY -Drtremote_shared_EXPORTS -I/home/pjames993/64bit_rpi4_apr18/build-raspberrypi4-64-rdk-hybrid/tmp/work/aarch64-rdk-linux/rtremote/2.x+gitAUTOINC+9c5eeba065-r0/git/include -I/home/pjames993/64bit_rpi4_apr18/build-raspberrypi4-64-rdk-hybrid/tmp/work/aarch64-rdk-linux/rtremote/2.x+gitAUTOINC+9c5eeba065-r0/git/external -I/home/pjames993/64bit_rpi4_apr18/build-raspberrypi4-64-rdk-hybrid/tmp/work/aarch64-rdk-linux/rtremote/2.x+gitAUTOINC+9c5eeba065-r0/git/src -I. -I/home/pjames993/64bit_rpi4_apr18/build-raspberrypi4-64-rdk-hybrid/tmp/work/aarch64-rdk-linux/rtremote/2.x+gitAUTOINC+9c5eeba065-r0/recipe-sysroot/usr/include/pxcore -mcpu=cortex-a72+crc+crypto   --sysroot=/home/pjames993/64bit_rpi4_apr18/build-raspberrypi4-64-rdk-hybrid/tmp/work/aarch64-rdk-linux/rtremote/2.x+gitAUTOINC+9c5eeba065-r0/recipe-sysroot   -pipe -g -feliminate-unused-debug-types -fmacro-prefix-map=/home/pjames993/64bit_rpi4_apr18/build-raspberrypi4-64-rdk-hybrid/tmp/work/aarch64-rdk-linux/rtremote/2.x+gitAUTOINC+9c5eeba065-r0=/usr/src/debug/rtremote/2.x+gitAUTOINC+9c5eeba065-r0                      -fdebug-prefix-map=/home/pjames993/64bit_rpi4_apr18/build-raspberrypi4-64-rdk-hybrid/tmp/work/aarch64-rdk-linux/rtremote/2.x+gitAUTOINC+9c5eeba065-r0=/usr/src/debug/rtremote/2.x+gitAUTOINC+9c5eeba065-r0                      -fdebug-prefix-map=/home/pjames993/64bit_rpi4_apr18/build-raspberrypi4-64-rdk-hybrid/tmp/work/aarch64-rdk-linux/rtremote/2.x+gitAUTOINC+9c5eeba065-r0/recipe-sysroot=                      -fdebug-prefix-map=/home/pjames993/64bit_rpi4_apr18/build-raspberrypi4-64-rdk-hybrid/tmp/work/aarch64-rdk-linux/rtremote/2.x+gitAUTOINC+9c5eeba065-r0/recipe-sysroot-native=   -O3 -Wno-deprecated-declarations -Wno-maybe-uninitialized -Wno-address  -fno-delete-null-pointer-checks   -fno-delete-null-pointer-checks   -Wl,--warn-unresolved-symbols  -fvisibility-inlines-hidden  -mcpu=cortex-a72+crc+crypto   --sysroot=/home/pjames993/64bit_rpi4_apr18/build-raspberrypi4-64-rdk-hybrid/tmp/work/aarch64-rdk-linux/rtremote/2.x+gitAUTOINC+9c5eeba065-r0/recipe-sysroot -std=c++0x -O2 -fPIC   -std=gnu++11 -MD -MT CMakeFiles/rtremote_shared.dir/src/rtRemoteServer.cpp.o -MF CMakeFiles/rtremote_shared.dir/src/rtRemoteServer.cpp.o.d -o CMakeFiles/rtremote_shared.dir/src/rtRemoteServer.cpp.o -c /home/pjames993/64bit_rpi4_apr18/build-raspberrypi4-64-rdk-hybrid/tmp/work/aarch64-rdk-linux/rtremote/2.x+gitAUTOINC+9c5eeba065-r0/git/src/rtRemoteServer.cpp
| ninja: build stopped: subcommand failed.
| WARNING: exit code 1 from a shell command.
| ERROR: Execution of '/home/pjames993/64bit_rpi4_apr18/build-raspberrypi4-64-rdk-hybrid/tmp/work/aarch64-rdk-linux/rtremote/2.x+gitAUTOINC+9c5eeba065-r0/temp/run.do_compile.2058993' failed with exit code 1
ERROR: Task (/home/pjames993/64bit_rpi4_apr18/meta-rdk/recipes-common/rtremote/rtremote_git.bb:do_compile) failed with exit code '1'
5c6de480ebf4472c1f688cbb8f34387a2c1885c7
Please refer the review linkhttps://github.com/pxscene/rtRemote/pull/4Merged and closed
2

Module : rdkservices

git/RDKShell/RDKShell.cpp

| /home/pjames993/64bit_rpi4_apr18/build-raspberrypi4-64-rdk-hybrid/tmp/work/aarch64-rdk-linux/rdkservices/3.0+gitAUTOINC+2f0616e469-r1/git/RDKShell/RDKShell.cpp:1099:62: error: cannot bind non-const lvalue reference of type 'uint32_t&' {aka 'unsigned int&'} to an rvalue of type 'uint32_t' {aka 'unsigned int'}

|  1099 |                       CompositorController::screenShot(data, size);

|       |                                                              ^~~~

@@ -1067,7 +1094,7 @@ namespace WPEFramework {

                   if (needsScreenshot)

                   {

                       uint8_t* data = nullptr;

-                      size_t size;

+                      uint32_t size;

                       string screenshotBase64;

                       CompositorController::screenShot(data, size);

                       size_t encodedImageSize = b64_get_encoded_buffer_size(size);

https://github.com/rdkcentral/rdkservices/pull/2674Merged to STABLE2
3Module : rdkx-logger

git/src/rdkx_logger_private.h

../../git/src/rdkx_logger_level.hash:61:1: error: conflicting types for 'rdkx_logger_level_str_to_num'

| In file included from ../../git/src/rdkx_logger_level.hash:6:

| ../../git/src/rdkx_logger_private.h:25:30: note: previous declaration of 'rdkx_logger_level_str_to_num' was here

|    25 | struct rdkx_logger_level_s * rdkx_logger_level_str_to_num(const char *str, unsigned int len);

|       |                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~


diff --git a/src/rdkx_logger_private.h b/src/rdkx_logger_private.h

index 49224e5..a475514 100644

--- a/src/rdkx_logger_private.h

+++ b/src/rdkx_logger_private.h

@@ -18,8 +18,10 @@

 # limitations under the License.

 ############################################

 */

+

+#include <stddef.h>

 typedef struct rdkx_logger_module_s { char *name; unsigned char id; } rdkx_logger_module_t;

 typedef struct rdkx_logger_level_s  { char *name; unsigned char level; } rdkx_logger_level_t;


-struct rdkx_logger_module_s *rdkx_logger_module_str_to_index(const char *str, unsigned int len);

-struct rdkx_logger_level_s * rdkx_logger_level_str_to_num(const char *str, unsigned int len);

+struct rdkx_logger_module_s *rdkx_logger_module_str_to_index(const char *str, size_t len);

+struct rdkx_logger_level_s * rdkx_logger_level_str_to_num(const char *str, size_t len);

https://gerrit.teamccp.com/#/c/649640/
https://ccp.sys.comcast.net/browse/DELIA-56629
Issue is resolved. Code merged  by David Wolaver
4

Module : xr-speech-vrex

src/xrsv_ws/xrsv_ws_private.h

xrsv_ws_nextgen/xrsv_ws_nextgen_private.h

| ../../git/src/xrsv_ws/xrsv_ws_request.hash:61:1: error: conflicting types for 'xrsv_ws_request_handler_get'

| In file included from ../../git/src/xrsv_ws/xrsv_ws_request.hash:6:

| ../../git/src/xrsv_ws/xrsv_ws_private.h:83:36: note: previous declaration of 'xrsv_ws_request_handler_get' was here

|    83 | struct xrsv_ws_request_handler_s * xrsv_ws_request_handler_get(const char *str, unsigned int len);

|       |                                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~

| Makefile:542: recipe for target 'xrsv_ws/xrsv_ws_request.lo' failed

| make[3]: *** [xrsv_ws/xrsv_ws_request.lo] Error 1

*********************************************

| ../../git/src/xrsv_ws/xrsv_ws_action_phone.hash:61:1: error: conflicting types for 'xrsv_ws_action_phone_handler_get'

| In file included from ../../git/src/xrsv_ws/xrsv_ws_action_phone.hash:6:

| ../../git/src/xrsv_ws/xrsv_ws_private.h:85:36: note: previous declaration of 'xrsv_ws_action_phone_handler_get' was here

|    85 | struct xrsv_ws_action_handler_s *  xrsv_ws_action_phone_handler_get(const char *str, unsigned int len);

|       |                                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

| Makefile:542: recipe for target 'xrsv_ws/xrsv_ws_action_phone.lo' failed

| make[3]: *** [xrsv_ws/xrsv_ws_action_phone.lo] Error 1

| ../../git/src/xrsv_ws_nextgen/xrsv_ws_nextgen_tv_control.hash:61:1: error: conflicting types for 'xrsv_ws_nextgen_tv_control_handler_get'

| In file included from ../../git/src/xrsv_ws_nextgen/xrsv_ws_nextgen_tv_control.hash:6:

| ../../git/src/xrsv_ws_nextgen/xrsv_ws_nextgen_private.h:79:47: note: previous declaration of 'xrsv_ws_nextgen_tv_control_handler_get' was here

|    79 | struct xrsv_ws_nextgen_tv_control_handler_s * xrsv_ws_nextgen_tv_control_handler_get(const char *str, unsigned int len);

|       |                                               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

| ../../git/src/xrsv_ws_nextgen/xrsv_ws_nextgen_msgtype.hash:61:1: error: conflicting types for 'xrsv_ws_nextgen_msgtype_handler_get'

| In file included from ../../git/src/xrsv_ws_nextgen/xrsv_ws_nextgen_msgtype.hash:6:

| ../../git/src/xrsv_ws_nextgen/xrsv_ws_nextgen_private.h:78:44: note: previous declaration of 'xrsv_ws_nextgen_msgtype_handler_get' was here

|    78 | struct xrsv_ws_nextgen_msgtype_handler_s * xrsv_ws_nextgen_msgtype_handler_get(const char *str, unsigned int len);

|       |                                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

| ../../git/src/xrsv_ws/xrsv_ws_action.hash:61:1: error: conflicting types for 'xrsv_ws_action_handler_get'

| In file included from ../../git/src/xrsv_ws/xrsv_ws_action.hash:6:

| ../../git/src/xrsv_ws/xrsv_ws_private.h:84:36: note: previous declaration of 'xrsv_ws_action_handler_get' was here

|    84 | struct xrsv_ws_action_handler_s *  xrsv_ws_action_handler_get(const char *str, unsigned int len);

|       |                                    ^~~~~~~~~~~~~~~~~~~~~~~~~~

| Makefile:542: recipe for target 'xrsv_ws/xrsv_ws_action.lo' failed

| make[3]: *** [xrsv_ws/xrsv_ws_action.lo] Error 1

diff --git a/src/xrsv_ws/xrsv_ws_private.h b/src/xrsv_ws/xrsv_ws_private.h

index eecd6fb..6765591 100644

--- a/src/xrsv_ws/xrsv_ws_private.h

+++ b/src/xrsv_ws/xrsv_ws_private.h

@@ -78,8 +78,8 @@ typedef bool (*xrsv_ws_handler_bool_t)(xrsv_ws_obj_t *obj, json_t *obj_json);

 typedef struct xrsv_ws_request_handler_s { char *name; xrsv_ws_handler_bool_t func; } xrsv_ws_request_handler_t;

 typedef struct xrsv_ws_action_handler_s  { char *name; xrsv_ws_handler_void_t func; } xrsv_ws_action_handler_t;


-struct xrsv_ws_request_handler_s * xrsv_ws_request_handler_get(const char *str, unsigned int len);

-struct xrsv_ws_action_handler_s *  xrsv_ws_action_handler_get(const char *str, unsigned int len);

-struct xrsv_ws_action_handler_s *  xrsv_ws_action_phone_handler_get(const char *str, unsigned int len);

+struct xrsv_ws_request_handler_s * xrsv_ws_request_handler_get(const char *str, size_t len);

+struct xrsv_ws_action_handler_s *  xrsv_ws_action_handler_get(const char *str, size_t len);

+struct xrsv_ws_action_handler_s *  xrsv_ws_action_phone_handler_get(const char *str, size_t len);


 #endif

diff --git a/src/xrsv_ws_nextgen/xrsv_ws_nextgen_private.h b/src/xrsv_ws_nextgen/xrsv_ws_nextgen_private.h

index 8daee81..e6bb2a6 100644

--- a/src/xrsv_ws_nextgen/xrsv_ws_nextgen_private.h

+++ b/src/xrsv_ws_nextgen/xrsv_ws_nextgen_private.h

@@ -73,7 +73,7 @@ typedef void (*xrsv_ws_nextgen_handler_void_t)(xrsv_ws_nextgen_obj_t *obj, json_

 typedef struct xrsv_ws_nextgen_msgtype_handler_s { char *name; xrsv_ws_nextgen_handler_bool_t func; } xrsv_ws_nextgen_msgtype_handler_t;

 typedef struct xrsv_ws_nextgen_tv_control_handler_s { char *name; xrsv_ws_nextgen_handler_void_t func; } xrsv_ws_nextgen_tv_control_handler_t;


-struct xrsv_ws_nextgen_msgtype_handler_s * xrsv_ws_nextgen_msgtype_handler_get(const char *str, unsigned int len);

-struct xrsv_ws_nextgen_tv_control_handler_s * xrsv_ws_nextgen_tv_control_handler_get(const char *str, unsigned int len);

+struct xrsv_ws_nextgen_msgtype_handler_s * xrsv_ws_nextgen_msgtype_handler_get(const char *str, size_t len);

+struct xrsv_ws_nextgen_tv_control_handler_s * xrsv_ws_nextgen_tv_control_handler_get(const char *str, size_t len);

https://gerrit.teamccp.com/#/c/649640/
https://ccp.sys.comcast.net/browse/DELIA-56629
Issue is resolved. Code merged  by David Wolaver
5

Module : mediaframework

qamsource/simgr/oob/include/rmf_sicache.h

| ../../../../git/qamsource/simgr/oob/./src/rmf_oobsicache.cpp:5856:70: error: cast from 'rmf_SiTableEntry*' to 'rmf_SiServiceHandle' {aka 'unsigned int'} loses precision [-fpermissive]

|  5856 |                         ts->services->push_back((rmf_SiServiceHandle)new_si_entry);

|       |                                                                      ^~~~~~~~~~~~

| ../../../../git/qamsource/simgr/oob/./src/rmf_oobsicache.cpp:5890:73: error: cast from 'rmf_SiTransportStreamEntry*' to 'rmf_SiTransportStreamHandle' {aka 'unsigned int'} loses precision [-fpermissive]

|  5890 |                 new_si_entry->ts_handle = (rmf_SiTransportStreamHandle) ts;

|       |                                                                         ^~

| ../../../../git/qamsource/simgr/oob/./src/rmf_oobsicache.cpp:5891:62: error: cast from 'rmf_SiProgramInfo*' to 'rmf_SiProgramHandle' {aka 'unsigned int'} loses precision [-fpermissive]

|  5891 |                 new_si_entry->program = (rmf_SiProgramHandle)pgm;

|       |                                                              ^~~

soln : uint32_t -> uintptr_thttps://code.rdkcentral.com/r/c/rdk/components/generic/mediaframework/+/70409CODE MERGED
6

Module : wpe-webkit

git/Source/WebCore/platform/ttsclient/PlatformSpeechSynthesizerTTSClient.cpp

| /home/pjames993/64bit_rpi4_apr18/build-raspberrypi4-64-rdk-hybrid/tmp/work/aarch64-rdk-linux/wpe-webkit/2.22.4+gitAUTOINC+ed39c92e59-r0/git/Source/WebCore/platform/ttsclient/PlatformSpeechSynthesizerTTSClient.cpp:185:40: error: cast from 'WebCore::PlatformSpeechSynthesisUtterance*' to 'uint32_t' {aka 'unsigned int'} loses precision [-fpermissive]

| /home/pjames993/64bit_rpi4_apr18/build-raspberrypi4-64-rdk-hybrid/tmp/work/aarch64-rdk-linux/wpe-webkit/2.22.4+gitAUTOINC+ed39c92e59-r0/git/Source/WebCore/platform/ttsclient/PlatformSpeechSynthesizerTTSClient.cpp:234:78: error: cast from 'WebCore::PlatformSpeechSynthesisUtterance*' to 'uint32_t' {aka 'unsigned int'} loses precision [-fpermissive]
|   234 |         m_ttsClient->resume(m_ttsSessionId, (uint32_t)m_currentUtterance.get());
|       |                                                                              ^

| /home/pjames993/64bit_rpi4_apr18/build-raspberrypi4-64-rdk-hybrid/tmp/work/aarch64-rdk-linux/wpe-webkit/2.22.4+gitAUTOINC+ed39c92e59-r0/git/Source/WebCore/platform/ttsclient/PlatformSpeechSynthesizerTTSClient.cpp:273:59: error: cast from 'WebCore::PlatformSpeechSynthesisUtterance*' to 'uint32_t' {aka 'unsigned int'} loses precision [-fpermissive]
|   273 |         speakingFinished((uint32_t)m_currentUtterance.get(), SpeechErrorInterrupted);
|       |                                                           ^

Need to do implemenataion as per the comments.
Comments will be followed up by Jira Ticket : REFPLTV-1341 - Getting issue details... STATUS


https://code.rdkcentral.com/r/c/rdk/components/generic/rdk-oe/meta-rdk-ext/+/71000

This change will not impact any of the basic functionalities.

STATUS : MERGED


7

Module : qtbase


../../../../include/QtGui/../../../qtbase-opensource-src-5.1.1/src/gui/opengl/qopengl.h:97:17: error: conflicting declaration 'typedef GLfloat GLdouble'

   97 | typedef GLfloat GLdouble;

      |                 ^~~~~~~~

In file included from /home/kpandu549/keerthana/oct27-v/build-raspberrypi4-64-rdk-hybrid/tmp/work/aarch64-rdk-linux/qtbase/5.1.1-r0/qtbase-opensource-src-5.1.1/src/plugins/platforms/kms/qkmsscreen.h:59,

                 from /home/kpandu549/keerthana/oct27-v/build-raspberrypi4-64-rdk-hybrid/tmp/work/aarch64-rdk-linux/qtbase/5.1.1-r0/qtbase-opensource-src-5.1.1/src/plugins/platforms/kms/qkmsintegration.cpp:44:

/home/kpandu549/keerthana/oct27-v/build-raspberrypi4-64-rdk-hybrid/tmp/work/aarch64-rdk-linux/qtbase/5.1.1-r0/recipe-sysroot/usr/include/GLES2/gl2ext.h:3092:16: note: previous declaration as 'typedef double GLdouble'

 3092 | typedef double GLdouble;


https://code.rdkcentral.com/r/plugins/gitiles/components/generic/rdk-oe/meta-cmf-qt5/+/refs/heads/rdk-next/recipes-qt/qt5/qtbase_5.1.1.bbappend

SRC_URI_append_arm = " \
    file://0003-GLdouble-conflict-declaration-fix.patch \
"

https://code.rdkcentral.com/r/plugins/gitiles/components/generic/rdk-oe/meta-cmf-qt5/+/refs/heads/rdk-next/recipes-qt/qt5/qtbase-5.1.1/0003-GLdouble-conflict-declaration-fix.patch

diff --git a/src/gui/opengl/qopengl.h b/src/gui/opengl/qopengl.h

index 6e8be668..524e1860 100644

--- a/src/gui/opengl/qopengl.h

+++ b/src/gui/opengl/qopengl.h

@@ -94,7 +94,7 @@ typedef char GLchar;

 #   define GL_DOUBLE GL_FLOAT

 #  endif

 #  ifndef GLdouble

-typedef GLfloat GLdouble;

+typedef double GLdouble;

 #  endif

 # endif // Q_OS_MAC

https://code.rdkcentral.com/r/c/components/generic/rdk-oe/meta-cmf-qt5/+/72202

Issue is resolved and uploaded for review.

Current Status : Code Merged

8Module : sessionmgr

| /home/pjames993/64bit_rpi4_apr18/build-raspberrypi4-64-rdk-hybrid/tmp/work/aarch64-rdk-linux/sessionmgr/git-r0/git/src/SessionMgr.cpp: In function 'session_err_t sessionmgr_GetSessionProperty(session_t*, const char*, SimpleJsonEnc&)':

| /home/pjames993/64bit_rpi4_apr18/build-raspberrypi4-64-rdk-hybrid/tmp/work/aarch64-rdk-linux/sessionmgr/git-r0/git/src/SessionMgr.cpp:14850:88: error: call of overloaded 'addNum(const char*&, const char [4], int64_t)' is ambiguous

| 14850 |             response.addNum(property, "%" PRId64, session->source->getTimeshiftBuffer());

|       |                                                                                        ^

Initial Solution:

response.addNum(property, "%" PRId64, (long long)session->source->getTimeshiftBuffer())

https://code.rdkcentral.com/r/c/components/generic/sessionmgr/+/72400Resolution is identified and added for code review.
Status :  Code Merged
9Module : rmfgeneric / mediaframework

In file included from ../../git/anycas/demoCas/demoCas.cpp:22:

../../git/anycas/demoCas/demoCas.h: In member function 'virtual void DemoCasHelper::processData(std::shared_ptr<anycas::CASHelperContext>, bool, const std::vector<unsigned char>&)':
../../git/anycas/demoCas/demoCas.h:295:43: error: cast from 'char*' to 'uint32_t' {aka 'unsigned int'} loses precision [-fpermissive]
  295 |                 uint32_t addr = (uint32_t)pvtData;
      |                                           ^~~~~~~


Intial Solution :

    uint32_t addr = (uintptr_t)pvtData;

https://code.rdkcentral.com/r/c/rdk/components/generic/mediaframework/+/72460

STATUS : MERGED

10Module : rdkmediaplayer

../git/rdkmediaplayer.cpp: In member function 'rtError RDKMediaPlayer::open(rtString, rtString)':
../git/rdkmediaplayer.cpp:764:42: error: cast from 'RDKMediaPlayerImpl*' to 'uint32_t' {aka 'unsigned int'} loses precision [-fpermissive]
  764 |         resp = (std::to_string((uint32_t)m_pImpl)).c_str();
      |                                          ^~~~~~~
../git/rdkmediaplayer.cpp:785:51: error: cast from 'RDKMediaPlayerImpl*' to 'uint32_t' {aka 'unsigned int'} loses precision [-fpermissive]
  785 |                 resp = (std::to_string((uint32_t)*it)).c_str();
      |                                                   ^~

Solution :

--- a/rdkmediaplayer.cpp

+++ b/rdkmediaplayer.cpp

@@ -761,7 +761,7 @@ rtError RDKMediaPlayer::open(rtString openData, rtString resp)

         {

             LOG_INFO("CAS Managment session is already avialable");

         }

-        resp = (std::to_string((uint32_t)m_pImpl)).c_str();

+        resp = (std::to_string((uintptr_t)m_pImpl)).c_str();

         LOG_INFO("resp = %x", resp.cString());

     }

     // For Live Playback Session

@@ -782,7 +782,7 @@ rtError RDKMediaPlayer::open(rtString openData, rtString resp)

             if( !((*it)->isManagementSession()) && (*it)->doCanPlayURL(m_currentURL) )

             {

                 LOG_INFO("Reusing cached player");

-                resp = (std::to_string((uint32_t)*it)).c_str();

+                resp = (std::to_string((uintptr_t)*it)).c_str();

                 LOG_INFO("resp = %x", resp.cString());

             }


https://code.rdkcentral.com/r/c/rdk/components/generic/rdkmediaplayer/+/71632/Status : MERGED

Logs after 64bit migration:

WPEFramework Logs
Jul 18 10:37:46.325860 /usr/bin/WPEFramework[1229]: [Mon, 18 Jul 2022 10:37:46 ]:[Config.h:788]: Startup: Accessor: http://192.168.0.105:9998/Service
Jul 18 10:37:46.326046 /usr/bin/WPEFramework[1229]: [Mon, 18 Jul 2022 10:37:46 ]:[Config.h:789]: Startup: Interface IP: 192.168.0.105
Jul 18 10:37:46.330725 /usr/bin/WPEFramework[1229]: [Mon, 18 Jul 2022 10:37:46 ]:[SystemInfo.h:354]: Startup: EVENT: Identifier: OE5F8BDkx0
Jul 18 10:37:46.330774 /usr/bin/WPEFramework[1229]: [Mon, 18 Jul 2022 10:37:46 ]:[SystemInfo.h:355]: Startup: EVENT: Architecture: aarch64
Jul 18 10:37:46.330806 /usr/bin/WPEFramework[1229]: [Mon, 18 Jul 2022 10:37:46 ]:[SystemInfo.h:356]: Startup: EVENT: Chipset: BCM2835
Jul 18 10:37:46.330838 /usr/bin/WPEFramework[1229]: [Mon, 18 Jul 2022 10:37:46 ]:[SystemInfo.h:357]: Startup: EVENT: FirmwareVersion: 5.10.52-v8
Command Line Logs

root@raspberrypi4-64-rdk-hybrid:~# uname -a

Linux raspberrypi4-64-rdk-hybrid 5.10.52-v8 #1 SMP PREEMPT Sun Jul 17 09:34:53 UTC 2022 aarch64 GNU/Linux

root@raspberrypi4-64-rdk-hybrid:~# uname -m

aarch64

Compilation Logs

Build Configuration:

BB_VERSION           = "1.46.0"

BUILD_SYS            = "x86_64-linux"

NATIVELSBSTRING      = "ubuntu-18.04"

TARGET_SYS           = "aarch64-rdk-linux"

MACHINE              = "raspberrypi4-64-rdk-hybrid"

DISTRO               = "rdk"

DISTRO_VERSION       = "2.0"

TUNE_FEATURES        = "aarch64 cortexa72 crc crypto"

Console Logs
root@raspberrypi4-64-rdk-hybrid:~# file /usr/bin/rdkbrowser2
/usr/bin/rdkbrowser2: ELF 64-bit LSB executable, ARM aarch64, version 1 (GNU/Linux), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=21e3fa1be1046192d65c7a1ffe1c7dd3b795f82d, for GNU/Linux 3.14.0, stripped
root@raspberrypi4-64-rdk-hybrid:~# file /usr/bin/WPEFramework-1.0.0
/usr/bin/WPEFramework-1.0.0: ELF 64-bit LSB executable, ARM aarch64, version 1 (GNU/Linux), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=f27ec6ba8270af029fce09e0eb3deea24b7ac0c6, for GNU/Linux 3.14.0, stripped

Validated functionalities:

Status: ✓ - Working  x - Not Working   O - Partially Working
Sl. NoTestedAppsTest ResultsRemarks
1Basic Testsssh connection

✓

SSH is working through LAN connection.
2Default UI

✓

UI is coming up consistently. Checked rebooting 10 times, every time UI is loading
3Time

x

Current time is not updated in TV UI
4Featured ContentYouTube

✓

Playback is working fine for selected content.
Xumo

x

1.AV decoding is not smooth.
2.Audio decoding is also not proper. Looks like rewind audio.


5Lightning AppsCNN

x

1.AV decoding is not smooth.
2.AV sync is not proper




Vimeo

✓

AV Playback is working.
6Featured Video on DemandFantasy-Island

✓

AV Playback is working.

7Playbackgst-launch

✓


AV playback is working.
Tested URL:
> gst-launch-1.0 playbin uri=aamp://bitdash-a.akamaihd.net/content/MI201109210084_1/m3u8s/f08e80da-bf1d-4e3d-8899-f0f6155f6efa.m3u8 video-sink=westerossink
> gst-launch-1.0 playbin uri=aamp://bitdash-a.akamaihd.net/content/sintel/hls/playlist.m3u8 video-sink=westerossink

8aamp-cli

✓

AV playback is working
Tested Commands:

aamp-cli http://devimages.apple.com/iphone/samples/bipbop/bipbopall.m3u8
aamp-cli http://bitdash-a.akamaihd.net/content/MI201109210084_1/m3u8s/f08e80da-bf1d-4e3d-8899-f0f6155f6efa.m3u8
aamp-cli http://bitdash-a.akamaihd.net/content/sintel/hls/playlist.m3u8


9SettingsBT

x

1.Bluetooth pairing instability issue.
2.Paring is successful very randomly.


10Wi-Fi

✓

1.Connecton is working.
2.Able to take ssh with Wi-Fi IP
3.Able to launch controller UI with Wi-Fi IP


11PluginsHTMLApp

✓

Tested the custom URL: https://www.google.com/
12LightningApp

✓



13Search And DiscoveryApp

✓



14Webkitbrowser

✓

Tested the custom URL: https://www.google.com
15Cobalt

✓

YouTube application launched properly

Known Issues:

Sl No.IssueJiraStatusResolutionCode Review
1Resolution Issues seen. Display on TV is not full screen

UI Display on TV is not coming full screen on RPi4 Image
REFPLTV-1247 - Getting issue details... STATUS

MERGED and CLOSED

Explanation : boot/config.txt has only one HDMI port (HDMI0) configured properly (which was only need of the day until RPi3 was used.) . This needs configured for the second HDMI port (HDMI1) also.

Fix: Add the below lines in boot/config.txt file once RPi4 is booted up.

    1. hdmi_group
      [HDMI:0]
      hdmi_group=1
      [HDMI:1]
      hdmi_group=1
    1. hdmi_mode
      #hdmi_mode=4
      [HDMI:0]
      hdmi_mode=4
      [HDMI:1]
      hdmi_mode=4
https://code.rdkcentral.com/r/c/rdk/components/generic/rdk-oe/meta-cmf-raspberrypi/+/72060
2

Cobalt plugin is not available in Controller UI.

Cobalt Configuration for RPi4-64bit build

REFPLTV-1225 - Getting issue details... STATUS

RESOLUTION IDENTIFIED

Cobalt Issue Resolution :
Files:
1)git/src/third_party/starboard/rdk/rpi/gyp_configuration.py -> https://code.rdkcentral.com/r/plugins/gitiles/rdk/components/generic/cobalt/+/refs/heads/master/src/third_party/starboard/rdk/rpi/gyp_configuration.py?autodive=0%2F%2F%2F%2F
change1 -> self.sabi_json_path = 'starboard/sabi/arm64/sabi-v13.json'

change2 -> 
  def GetEnvironmentVariables(self):
    env_variables = {}
    env_variables.update({
        'CC': os.environ['CC'],
        'CXX': os.environ['CXX'],
        'LD': os.environ['CXX'],
        'CC_host': 'gcc ',
        'CXX_host': 'g++ ',
    })

2)git/src/starboard/shared/linux/cpu_features_get.cc -> https://cobalt.googlesource.com/cobalt/+/refs/heads/master/starboard/shared/linux/cpu_features_get.cc
change -> 
#if SB_IS(32_BIT)
~~~~~~~~~~~~~~~~~
// Construct hwcap bitmask by the feature flags in /proc/cpuinfo
uint32_t ConstructHwcapFromCPUInfo(ProcCpuInfo* cpu_info,
                                   int16_t architecture_generation,
                                   uint32_t hwcap_type)
  if (hwcap_type == AT_HWCAP && architecture_generation >= 8) {
...
...
...
  return hwcap_value;
}
#endif //SB_IS(32_BIT)
~~~~~~~~~~~~~~~~~~~~~

3)git/src/third_party/starboard/rdk/shared/rdkservices.cc -> https://code.rdkcentral.com/r/plugins/gitiles/rdk/components/generic/cobalt/+/refs/heads/master/src/third_party/starboard/rdk/shared/rdkservices.cc?autodive=0%2F%2F%2F%2F

change -> uint32_t inputLen = std::min(kMaxBufferSize, (uint32_t)payload.length());
                            ~~~~~~~~~

Code Review for source code yet to added


Internediate Code Review added : https://code.rdkcentral.com/r/c/rdk/components/generic/rdk-oe/meta-cmf-raspberrypi/+/73110

https://code.rdkcentral.com/r/c/rdk/components/generic/rdk-oe/meta-cmf-raspberrypi/+/74129

3.

Outline/box for Password field is not available on WiFi network screen.





  • No labels

2 Comments

  1. Unknown User (mohammad.imran_irdeto)

    Hi,

    Is there pre build final rdk images already available for RPI -4B model. Which can be flashed to RPI and tested for AV and Telemetry.

    1. Ganesh Sahu

      Hi Unknown User (mohammad.imran_irdeto) 

      At present there is no pre-built RPI-4 image available for download