Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

RDKEMW-2731 : Bring Aamp changes for March sprint #15

Merged
merged 52 commits into from
Mar 26, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
52 commits
Select commit Hold shift + click to select a range
da5af29
RDKAAMP-4002 : Display aamp branch in devices
Mar 6, 2025
73b9af4
RDKAAMP-3901 tech debt - /low/ pattern match in manifest locator
pstroffolino Jan 31, 2025
e521ce3
RDKAAMP-3937 VOD trick modes broken with AAMP TSB enabled
DomSyna Feb 13, 2025
be8550f
RDKAAMP-3974 install-aamp.sh attempting to play bogus url
pstroffolino Feb 17, 2025
429e214
RDKAAMP-3952: Playback skips end fragments and jumps to next period o…
Feb 11, 2025
850bf25
RDKAAMP-3673 Fix subtitles when reading from AAMP TSB library
jfagunde Jan 31, 2025
3f4228d
RDKAAMP-3971 aampcli advert mapping from adbreakid
pstroffolino Feb 15, 2025
44441de
RDKAAMP-3977 assertion if re-tuning to cached HLS playlist manifest
pstroffolino Feb 18, 2025
d0a2cfe
VPLAY-8018 Review UVE AAMP documents (version 6.9) around linear DAI …
pstroffolino Feb 18, 2025
306d8d7
RDKAAMP-3973 Cleanup member variables in class TsbFragmentData
VNagori Feb 18, 2025
7dc22ef
RDKAAMP-3956 Create TSB directories with public permission
jfagunde Feb 18, 2025
3eba170
RDKAAMP-4000 fix for broken avsync description
pstroffolino Feb 21, 2025
5fd966b
RDKAAMP-3992 hls refactoring - leverage std::string and std::vector
pstroffolino Feb 20, 2025
48a9c6d
RDKAAMP-3991 gst test harness support for hls/ts pts restamping
pstroffolino Feb 20, 2025
b6d30aa
RDKAAMP-3934: Subtitles for FAST channels are delayed
molakalapalliharipriya Feb 24, 2025
59c5c47
RDKAAMP-3998 - Fog retries but AAMP has given up
jameslofthouse-RED Feb 11, 2025
ca93d0c
RDKAAMP-3925 AAMP TSB - Clean up flags
jfagunde Feb 24, 2025
880b811
RDKAAMP-3812 : Disable use of IARM inside containers
shripadgithub Feb 24, 2025
6741a1a
Revert "RDKAAMP-3925 AAMP TSB - Clean up flags"
jfagunde Feb 26, 2025
6119fd8
RDKAAMP-3925 AAMP TSB - Clean up flags (2nd time)
jfagunde Feb 24, 2025
55b4c29
RDKAAMP-3980 remove aamp code that disables audio track as 5001 5002 …
Feb 19, 2025
ff0eaa5
RDKAAMP-3751 AAMP CDAI Code Cleanup Initiative
Dec 17, 2024
560876d
RDKAAMP-4022 tighten whitelist of spelling exceptions
pstroffolino Feb 25, 2025
7c6d5ef
RDKAAMP-3978:[AAMP][L2]Crash while running L2 8003 test case mac
nudiya450 Jan 8, 2025
a960055
RDKAAMP-4039 remove references to unsupported WIN32 target
pstroffolino Feb 28, 2025
7c7b2bc
RDKAAMP-4000 Log format changed to avoid telemetry breakage.
Feb 26, 2025
a0684ed
[RDKAAMP-4016] Replace WARN with MIL in AampTsb files
anjali-syna Feb 27, 2025
fbdf10e
RDKAAMP-3880 AAMP TSB - Pause
anshephe Feb 11, 2025
bb28f97
RDKAAMP-4051 : [AAMP] Support for IFrame Track
molakalapalliharipriya Mar 3, 2025
4304de2
RDKAAMP-4053 : [AAMP] support subtitle switching
molakalapalliharipriya Mar 3, 2025
7875047
RDKAAMP-4054 : - Subtitle setting when PTS Restamp Enabled
molakalapalliharipriya Mar 3, 2025
3c39c79
RDKAAMP-4066: [AAMP] Sprint release version is displayed as 7.02 inst…
Mar 4, 2025
4173179
RDKAAMP-3762 : some (hls/ts) channels do not have audio tracks liste…
molakalapalliharipriya Mar 5, 2025
bad569c
RDKAAMP-4029: AAMP TSB - Adaptive Bitrate
DomSyna Feb 27, 2025
63b2678
RDKAAMP-3860 AAMP TSB with CDAI - Skip Fragments
jfagunde Feb 28, 2025
0afd39a
RDKAAMP-54800 : Moving other IARM specific calls
Jan 29, 2025
95327ec
RDKAAMP-3982 AAMP TSB with PTS Restamping disabled
VNagori Feb 25, 2025
8d8c8e9
RDKAAMP-4019 : AAMP_CFG_TXT,AAMP_CFG_BASE64 independence
Feb 26, 2025
ee58c83
RDKAAMP-4081 : Incorrect Handling of DRM Configuration and JSON Parsi…
shripadgithub Mar 9, 2025
daec093
RDKAAMP-4050 : removed not allowed words from comments
shripadgithub Mar 9, 2025
e192193
RDKAAMP-4078 AAMP TSB - LLD regression
anshephe Mar 7, 2025
226b629
RDKAAMP-4036 AAMP TSB - Init segments not deleted from TSB store
Mar 10, 2025
41ab980
RDKAAMP-4091 default -1 playerInstance logged when downloading DASH m…
pstroffolino Mar 11, 2025
d2ee70f
RDKAAMP-4096 UVE API/documentation text cleanup
pstroffolino Mar 11, 2025
4478612
Revert "RDKAAMP-54800 : Moving other IARM specific calls" to avoid RD…
psivasubramanian Mar 11, 2025
3f3be45
RDKAAMP-4130:[LLD] Bitrate data is not sent to conviva during viewing…
Mar 13, 2025
9da4609
RDKAAMP-4119 - revert change to address RDKAAMP-4121
Mar 4, 2025
290a4f0
RDKAAMP-4146 - HLS captions not displayed when using subtitle clock
Mar 7, 2025
494fd68
Revert "RDKAAMP-4146 - HLS captions not displayed when using subtitl…
Mar 20, 2025
73758f4
RDKAAMP-4146 - HLS captions not displayed when using subtitle clock
Mar 7, 2025
1338f5f
RDKAAMP-4140:Intermittently unable to tune to the IP Linear Services …
Mar 7, 2025
a208e75
Merge pull request #14 from rdkcentral/feature/RDKAAMP-4002
shripadbpersonal Mar 24, 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
128 changes: 62 additions & 66 deletions AAMP-UVE-API.md

Large diffs are not rendered by default.

3 changes: 2 additions & 1 deletion AampCacheHandler.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,8 @@ bool AampCacheHandler::RetrieveFromPlaylistCache( const std::string &url, AampGr
}
buffer->Clear();
buffer->AppendBytes( cachedData->buffer->GetPtr(), cachedData->buffer->GetLen() );
assert( mediaType == cachedData->mediaType );
// below fails when playing an HLS playlist directly, then seeking or retuning
// assert( mediaType == cachedData->mediaType );
AAMPLOG_TRACE( "%s %s found", GetMediaTypeName(cachedData->mediaType), url.c_str() );
ret = true;
}
Expand Down
79 changes: 45 additions & 34 deletions AampConfig.cpp
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* If not stated otherwise in this file or this component's license file the

Check failure on line 2 in AampConfig.cpp

View workflow job for this annotation

GitHub Actions / call-fossid-workflow / Fossid Annotate PR

FossID License Issue Detected

Source code with 'Apache-2.0' license found in local file 'AampConfig.cpp' (Match: haltersweb/aamp/9b34e03c6766cdfb8ce444f72f4665656dc52fbc, 2227 lines, url: https://github.com/haltersweb/aamp/archive/9b34e03c6766cdfb8ce444f72f4665656dc52fbc.tar.gz, file: AampConfig.cpp)
* following copyright and licenses apply:
*
* Copyright 2018 RDK Management
Expand Down Expand Up @@ -196,12 +196,6 @@
#define DEFAULT_VALUE_USE_SINGLE_PIPELINE false
#endif

#ifdef DISABLE_MEDIA_PROCESSOR
#define DEFAULT_VALUE_ENABLE_MEDIA_PROCESSOR false
#else
#define DEFAULT_VALUE_ENABLE_MEDIA_PROCESSOR true
#endif

/**
* @brief AAMPConfigSettingString metadata
* note that order must match the actual order of the enum; this is enforced with asserts to catch any wrong/missing declarations
Expand Down Expand Up @@ -239,7 +233,6 @@
{"","gstlevel", eAAMPConfig_GstDebugLevel,false},
{"","tsbType", eAAMPConfig_TsbType, false},
{DEFAULT_TSB_LOCATION,"tsbLocation",eAAMPConfig_TsbLocation, true},
{AAMP_LOW_LATENCY_URL_KEYWORD,"lldUrlKeyword", eAAMPConfig_LLDUrlKeyword, true},
};

/**
Expand Down Expand Up @@ -360,7 +353,7 @@
{false,"sendLicenseResponseHeaders", eAAMPConfig_SendLicenseResponseHeaders, false},
{false,"suppressDecode", eAAMPConfig_SuppressDecode, false},
{false,"reconfigPipelineOnDiscontinuity", eAAMPConfig_ReconfigPipelineOnDiscontinuity, false},
{DEFAULT_VALUE_ENABLE_MEDIA_PROCESSOR,"enableMediaProcessor", eAAMPConfig_EnableMediaProcessor, true},
{true,"enableMediaProcessor", eAAMPConfig_EnableMediaProcessor, true},
{true,"mpdStichingSupport", eAAMPConfig_MPDStitchingSupport, true}, // FIXME - spelling
{false,"sendUserAgentInLicense", eAAMPConfig_SendUserAgent, false},
{false,"enablePTSReStamp", eAAMPConfig_EnablePTSReStamp, true},
Expand Down Expand Up @@ -452,8 +445,6 @@
{0,"minBitrate",eAAMPConfig_MinBitrate,true},
{INT_MAX,"maxBitrate",eAAMPConfig_MaxBitrate,true},
{CURL_SSLVERSION_TLSv1_2,"supportTLS",eAAMPConfig_TLSVersion,true,eCONFIG_RANGE_CURL_SSL_VERSION},
{MAX_GST_VIDEO_BUFFER_BYTES_FOG_LIVE,"gstVideoBufBytesForFogLive", eAAMPConfig_GstVideoBufBytesForFogLive,false},
{MAX_GST_AUDIO_BUFFER_BYTES_FOG_LIVE,"gstAudioBufBytesForFogLive", eAAMPConfig_GstAudioBufBytesForFogLive,false},
{DEFAULT_DRM_NETWORK_TIMEOUT,"drmNetworkTimeout",eAAMPConfig_DrmNetworkTimeout,true,eCONFIG_RANGE_TIMEOUT},
{0,"drmStallTimeout",eAAMPConfig_DrmStallTimeout,true,eCONFIG_RANGE_TIMEOUT},
{0,"drmStartTimeout",eAAMPConfig_DrmStartTimeout,true,eCONFIG_RANGE_TIMEOUT},
Expand Down Expand Up @@ -1260,18 +1251,34 @@
SetConfigValue(owner,eAAMPConfig_CKLicenseServerUrl,conv);
drmType = eDRM_ClearKey;
}
if(strcasecmp("preferredKeysystem",subitem->string)==0)
{
AAMPLOG_MIL("Preferred key system received - %s", conv.c_str());
SetConfigValue(owner,eAAMPConfig_PreferredDRM,(int)drmType);
}
if(strcasecmp("customData",subitem->string)==0)
{
AAMPLOG_MIL("customData received - %s", conv.c_str());
SetConfigValue(owner,eAAMPConfig_CustomLicenseData,conv);
}
subitem = subitem->next;
}

// preferredKeysystem used to disambiguate DRM type to use when manifest advertises multiple supported systems.
cJSON *preferredKeySystemItem = cJSON_GetObjectItem(drmConfig, "preferredKeysystem");
if (preferredKeySystemItem && cJSON_IsString(preferredKeySystemItem))
{
const char * preferredKeySystem = preferredKeySystemItem->valuestring;
AAMPLOG_MIL("preferredKeySystem received - %s", preferredKeySystem );
if( strcmp(preferredKeySystem,"com.widevine.alpha")==0 )
{
drmType = eDRM_WideVine;
}
else if ( strcmp(preferredKeySystem,"com.microsoft.playready")==0 )
{
drmType = eDRM_PlayReady;
}
else if ( strcmp(preferredKeySystem,"org.w3.clearkey")==0 )
{
drmType = eDRM_ClearKey;
}
}
SetConfigValue(owner, eAAMPConfig_PreferredDRM, (int)drmType);
}
retval = true;
}
Expand Down Expand Up @@ -1691,21 +1698,19 @@
}
}
}
else

// Now check for base64 based env, this is back up in case above string becomes big and becomes error prone, also base64 covers json format as well.
envConf = getenv("AAMP_CFG_BASE64");
if (NULL != envConf)
{
// Now check for base64 based env, this is back up in case above string becomes big and becomes error prone, also base64 covers json format as well.
envConf = getenv("AAMP_CFG_BASE64");
if(NULL != envConf)
std::string strEnvConfig = envConf; // make sure we copy this as recommended by getEnv doc
size_t iConfigLen = strEnvConfig.length();
AAMPLOG_MIL("ReadAampCfgFromEnv:BASE64 ENV:%s len:%zu ", strEnvConfig.c_str(), iConfigLen);
char *strConfig = (char *)base64_Decode(strEnvConfig.c_str(), &iConfigLen);
if (NULL != strConfig)
{
std::string strEnvConfig = envConf; // make sure we copy this as recommended by getEnv doc
size_t iConfigLen = strEnvConfig.length();
AAMPLOG_MIL("ReadAampCfgFromEnv:BASE64 ENV:%s len:%zu ",strEnvConfig.c_str(),iConfigLen);
char * strConfig = (char * ) base64_Decode(strEnvConfig.c_str(),&iConfigLen);
if( NULL != strConfig )
{
ProcessBase64AampCfg(strConfig, iConfigLen,AAMP_DEV_CFG_SETTING);
free(strConfig); // free mem allocated by base64_Decode
}
ProcessBase64AampCfg(strConfig, iConfigLen, AAMP_DEV_CFG_SETTING);
free(strConfig); // free mem allocated by base64_Decode
}
}
}
Expand Down Expand Up @@ -1769,7 +1774,6 @@
}
}
}
ConfigureLogSettings();

for( int i =0; i < AAMPCONFIG_STRING_COUNT; i++ )
{
Expand All @@ -1793,13 +1797,20 @@
*/
void AampConfig::ReadOperatorConfiguration()
{
// Not all parameters are supported as individual tr181 parameter hence keeping base64 version.
ReadBase64TR181Param();
// Tr181 doesn't work in container environment hence ignore it if it is container
// this will improve load time of aamp in container environment
if(!IsContainerEnvironment() )
{
// Not all parameters are supported as individual tr181 parameter hence keeping base64 version.
ReadBase64TR181Param();

// new way of reading RFC for each separate parameter it will override any parameter set before ReadBase64TR181Param
// read all individual config parameters,
ReadAllTR181Params();
// new way of reading RFC for each separate parameter it will override any parameter set before ReadBase64TR181Param
// read all individual config parameters,
ReadAllTR181Params();
}

// this required to set log settings based on configs either default or read from Tr181
ConfigureLogSettings();
///////////// Read environment variables set specific to Operator ///////////////////
const char *env_aamp_force_aac = getenv("AAMP_FORCE_AAC");
if(env_aamp_force_aac)
Expand Down
3 changes: 0 additions & 3 deletions AampConfig.h
Original file line number Diff line number Diff line change
Expand Up @@ -293,8 +293,6 @@ typedef enum
eAAMPConfig_MinBitrate, /**< minimum bitrate filter for playback profiles */
eAAMPConfig_MaxBitrate, /**< maximum bitrate filter for playback profiles*/
eAAMPConfig_TLSVersion, /**< TLS Version value*/
eAAMPConfig_GstVideoBufBytesForFogLive, /**< Gstreamer Max Video buffering bytes for fog linear*/
eAAMPConfig_GstAudioBufBytesForFogLive, /**< Gstreamer Max Audio buffering bytes for fog linear*/
eAAMPConfig_DrmNetworkTimeout, /**< DRM license request timeout in sec*/
eAAMPConfig_DrmStallTimeout, /**< Stall Timeout for DRM license request*/
eAAMPConfig_DrmStartTimeout, /**< Start Timeout for DRM license request*/
Expand Down Expand Up @@ -375,7 +373,6 @@ typedef enum
eAAMPConfig_GstDebugLevel, /**< gstreamer debug level as you'd define in GST_DEBUG */
eAAMPConfig_TsbType,
eAAMPConfig_TsbLocation, /**< tsbType location for local TSB storage*/
eAAMPConfig_LLDUrlKeyword, /** Keyword to identify the lld stream */
eAAMPConfig_StringMaxValue /**< Max value for string config always last element */
} AAMPConfigSettingString;
#define AAMPCONFIG_STRING_COUNT (eAAMPConfig_StringMaxValue)
Expand Down
18 changes: 12 additions & 6 deletions AampDRMLicPreFetcher.cpp
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* If not stated otherwise in this file or this component's license file the

Check failure on line 2 in AampDRMLicPreFetcher.cpp

View workflow job for this annotation

GitHub Actions / call-fossid-workflow / Fossid Annotate PR

FossID License Issue Detected

Source code with 'Apache-2.0' license found in local file 'AampDRMLicPreFetcher.cpp' (Match: haltersweb/aamp/9b34e03c6766cdfb8ce444f72f4665656dc52fbc, 524 lines, url: https://github.com/haltersweb/aamp/archive/9b34e03c6766cdfb8ce444f72f4665656dc52fbc.tar.gz, file: AampDRMLicPreFetcher.cpp)
* following copyright and licenses apply:
*
* Copyright 2023 RDK Management
Expand Down Expand Up @@ -442,12 +442,18 @@
{
if (!selfAbort)
{
isRetryEnabled = (failure != AAMP_TUNE_AUTHORIZATION_FAILURE)
&& (failure != AAMP_TUNE_LICENCE_REQUEST_FAILED)
&& (failure != AAMP_TUNE_LICENCE_TIMEOUT)
&& (failure != AAMP_TUNE_DEVICE_NOT_PROVISIONED)
&& (failure != AAMP_TUNE_HDCP_COMPLIANCE_ERROR);

//Set the isRetryEnabled flag to true if the failure is due to
//SEC_CLIENT_RESULT_HTTP_RESULT_FAILURE_TIMEOUT (error -7). This
//error is caused by a network failure, so the tune may succeed
//on a retry attempt.
//For other DRM failures, the flag should be set to false.
isRetryEnabled = ((failure == AAMP_TUNE_LICENCE_REQUEST_FAILED) && (event->getResponseCode() == SECCLIENT_RESULT_HTTP_FAILURE_TIMEOUT))
|| ((failure != AAMP_TUNE_AUTHORIZATION_FAILURE)
&& (failure != AAMP_TUNE_LICENCE_REQUEST_FAILED)
&& (failure != AAMP_TUNE_LICENCE_TIMEOUT)
&& (failure != AAMP_TUNE_DEVICE_NOT_PROVISIONED)
&& (failure != AAMP_TUNE_HDCP_COMPLIANCE_ERROR));
AAMPLOG_WARN("Drm failure:%d response: %d isRetryEnabled:%d ",(int)failure,event->getResponseCode(),isRetryEnabled);
mPrivAAMP->SendDrmErrorEvent(event, isRetryEnabled);
mPrivAAMP->profiler.SetDrmErrorCode((int)failure);
mPrivAAMP->profiler.ProfileError(PROFILE_BUCKET_LA_TOTAL, (int)failure);
Expand Down
2 changes: 2 additions & 0 deletions AampDRMLicPreFetcher.h
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* If not stated otherwise in this file or this component's license file the

Check failure on line 2 in AampDRMLicPreFetcher.h

View workflow job for this annotation

GitHub Actions / call-fossid-workflow / Fossid Annotate PR

FossID License Issue Detected

Source code with 'Apache-2.0' license found in local file 'AampDRMLicPreFetcher.h' (Match: haltersweb/aamp/9b34e03c6766cdfb8ce444f72f4665656dc52fbc, 233 lines, url: https://github.com/haltersweb/aamp/archive/9b34e03c6766cdfb8ce444f72f4665656dc52fbc.tar.gz, file: AampDRMLicPreFetcher.h)
* following copyright and licenses apply:
*
* Copyright 2023 RDK Management
Expand Down Expand Up @@ -33,6 +33,8 @@
#include "AampEvent.h"
#include "AampDRMLicPreFetcherInterface.h"

#define SECCLIENT_RESULT_HTTP_FAILURE_TIMEOUT (-7) /**< License result is not returned to the device due to network failure */

class PrivateInstanceAAMP;

/**
Expand Down
8 changes: 2 additions & 6 deletions AampDefine.h
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@
#define AAMP_CFG_PATH "/opt/aamp.cfg"
#define AAMP_JSON_PATH "/opt/aampcfg.json"

#define AAMP_VERSION "7.02"
#define AAMP_VERSION "7.03"
#define AAMP_TUNETIME_VERSION 5

//Stringification of Macro : use two levels of macros
Expand Down Expand Up @@ -166,9 +166,6 @@
#define MAX_GST_VIDEO_BUFFER_BYTES (GST_VIDEOBUFFER_SIZE_BYTES)
#define MAX_GST_AUDIO_BUFFER_BYTES (GST_AUDIOBUFFER_SIZE_BYTES)

#define MAX_GST_VIDEO_BUFFER_BYTES_FOG_LIVE (2097152) /* GST Buffer for FOG Linear Video*/
#define MAX_GST_AUDIO_BUFFER_BYTES_FOG_LIVE (256000) /* GST Buffer for FOG Linear Audio*/

#define DEFAULT_LATENCY_MONITOR_DELAY 9 /**< Latency Monitor Delay */
#define DEFAULT_LATENCY_MONITOR_INTERVAL 6 /**< Latency monitor Interval */
#define DEFAULT_MIN_LOW_LATENCY 3 /**< min Default Latency */
Expand All @@ -187,8 +184,6 @@
#define AAMP_BUFFER_MONITOR_GREEN_THRESHOLD 4 /**< 2 fragments for MSO specific linear streams. */
#define AAMP_BUFFER_MONITOR_GREEN_THRESHOLD_LLD 1 /**< LLD 1 sec minimum buffer to alert */

#define AAMP_LOW_LATENCY_URL_KEYWORD "/low/" /**< AAMP expect this keyword in low latency URL to enable local TSB*/
#define AAMP_LOW_LATENCY_URL_KEYWORD_ENCODED "%2Flow%2F" /**< AAMP expect this keyword in low latency URL to defog*/
#define AAMP_FOG_TSB_URL_KEYWORD "tsb?" /**< AAMP expect this keyword in URL to identify it is FOG url */

#define DEFAULT_INITIAL_RATE_CORRECTION_SPEED 1.000001f /**< Initial rate correction speed to avoid audio drop */
Expand Down Expand Up @@ -246,6 +241,7 @@

#define MAX_SESSION_ID_LENGTH 128 /**<session id string length */


/**
* @brief Enumeration for TUNED Event Configuration
*/
Expand Down
4 changes: 2 additions & 2 deletions AampEvent.cpp
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* If not stated otherwise in this file or this component's license file the

Check failure on line 2 in AampEvent.cpp

View workflow job for this annotation

GitHub Actions / call-fossid-workflow / Fossid Annotate PR

FossID License Issue Detected

Source code with 'Apache-2.0' license found in local file 'AampEvent.cpp' (Match: haltersweb/aamp/9b34e03c6766cdfb8ce444f72f4665656dc52fbc, 1607 lines, url: https://github.com/haltersweb/aamp/archive/9b34e03c6766cdfb8ce444f72f4665656dc52fbc.tar.gz, file: AampEvent.cpp)
* following copyright and licenses apply:
*
* Copyright 2018 RDK Management
Expand Down Expand Up @@ -1408,7 +1408,7 @@
}

/**
* @brief Get ID3 metdata
* @brief Get ID3 metadata
*
* @return ID3 metadata content
*/
Expand All @@ -1418,7 +1418,7 @@
}

/**
* @brief Get ID3 metdata size
* @brief Get ID3 metadata size
*
* @return ID3 metadata size
*/
Expand Down
78 changes: 0 additions & 78 deletions AampLogManager.h
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* If not stated otherwise in this file or this component's license file the

Check failure on line 2 in AampLogManager.h

View workflow job for this annotation

GitHub Actions / call-fossid-workflow / Fossid Annotate PR

FossID License Issue Detected

Source code with 'Apache-2.0' license found in local file 'AampLogManager.h' (Match: rdkcmf/rdk-aamp/1, 315 lines, url: https://github.com/rdkcmf/rdk-aamp/archive/RDKV-TEST-RELEASE-DUNFELL-1.tar.gz, file: aamplogging.cpp)
* following copyright and licenses apply:
*
* Copyright 2020 RDK Management
Expand Down Expand Up @@ -257,84 +257,6 @@
}
}

/**
* @fn LogDRMError
*
* @param[in] major - drm major error code
* @param[in] minor - drm minor error code
* @return void
*/
static void LogDRMError(int major, int minor)
{
std::string description;
switch(major)
{
case 3307: /* Internal errors */
if(minor == 268435462)
{
description = "Missing drm keys. Files are missing from /opt/drm. This could happen if socprovisioning fails to pull keys from fkps. This could also happen with a new box type that isn't registered with fkps. Check the /opt/logs/socprov.log for error. Contact ComSec for help.";
}
else if(minor == 570425352)
{
description = "Stale cache data. There is bad data in adobe cache at /opt/persistent/adobe. This can happen if the cache isn't cleared by /lib/rdk/cleanAdobe.sh after either an FKPS key update or a firmware update. This should not be happening in the field. For engineers, they can try a factory reset to fix the problem.";
}
else if(minor == 1000022)
{
description = "Local cache directory not readable. The Receiver running as non-root cannot access and read the adobe cache at /opt/persistent/adobe. This can happen if /lib/rdk/prepareChrootEnv.sh fails to set that folders privileges. Run ls -l /opt/persistent and check the access rights. Contact the SI team for help.";
}
break; /* 3307 */

case 3321: /* Individualization errors */
if(minor == 102)
{
description = "Invalid signature request on the Adobe individualization request. Expired certs can cause this, so the first course of action is to verify if the certs, temp baked in or production fkps, have not expired.";
}
else if(minor == 10100)
{
description = "Unknown Device class error from the Adobe individualization server. The drm certs may be been distributed to MSO security team for inclusion in fkps, but Adobe has not yet added the device info to their indi server.";
}
else if(minor == 1107296357)
{
description = "Failed to connect to individualization server. This can happen if the network goes down. This can also happen if bad proxy settings exist in /opt/xreproxy.conf. Check the receiver.log for the last HttpRequestBegin before the error occurs and check the host name in the url, then check your proxy conf";
}
if(minor == 1000595) /* RequiredSPINotAvailable */
{
/* This error doesn't tell us anything useful but points to some other underlying issue.
* Don't report this error. Ensure a triage log is being create for the underlying issue
*/

return;
}
break; /* 3321 */

case 3322: /* Device binding failure */
description = "Device binding failure. DRM data cached by the player at /opt/persistent/adobe, may be corrupt, missing, or inaccessible due to file permission. Please check this folder. A factory reset may be required to fix this and force a re-individualization of the box to reset that data.";
break; /* 3322 */

case 3328:
if(minor == 1003532)
{
description = "Potential server issue. This could happen if drm keys are missing or bad. To attempt a quick fix: Back up /opt/drm and /opt/persistent/adobe, perform a factory reset, and see if that fixes the issue. Reach out to ComSec team for help diagnosing the error.";
}
break; /* 3328 */

case 3329: /* Application errors (our consec errors) */
description = "MSO license server error response. This could happen for various reasons: bad cache data, bad session token, any license related issue. To attempt a quick fix: Back up /opt/drm and /opt/persistent/adobe, perform a factory reset, and see if that fixes the issue. Reach out to ComSec team for help diagnosing the error.";
break; /* 3329 */

case 3338: /* Unknown connection type */
description = "Unknown connection type. Rare issue related to output protection code not being implemented on certain branches or core or for new socs. See STBI-6542 for details. Reach out to Receiver IP-Video team for help.";
break; /* 3338 */
}

if(description.empty())
{
description = "Unrecognized error. Please report this to the STB IP-Video team.";
}

logprintf( eLOGLEVEL_ERROR, __FUNCTION__, __LINE__, "AAMPLogDRMError error=%d.%d description='%s'", major, minor, description.c_str());
}

/**
* @fn LogABRInfo
*
Expand Down
Loading