IPTV Triage Guidelines

Created on June 21, 2022

This document is intended to support QA & Field triage teams to do initial analysis for the failures.

Logging of Interest

Logging String

Description

systemId is Widevine

Widevine content protection identified from PSSH

systemId is PLAYREADY

Playready content protection identified from PSSH

initAampDRMSystem :: enter

Init/create open cdm system

generateAampDRMSession :: enter

Open cdm session creation called

Setting Widevine as preferred drm

Preferred DRM Set to Widevine

MDS server spcific conent metadata found in initdata          

Valid content metadata found in PSSH

acquireLicense SUCCESS

License acquisition success

processKey: Key Usable

Acquired key was processed in open cdm and the key is ready to be used.

Found drm session READY with same keyID

Using the already created session since the keyID is not changed for the current tune.

AAMP Overview

Topics

Crash & Hang Issue Analysis

DASH Playback Analysis

HLS Playback Analysis

Trick Play Flow and Analysis

Failures from outside of RDK

Useful Links

  1. AAMP Playback Flow : AAMP Playback Code Flow
  2. Producing stack traces from google breakpad minidump manually :  Google Breakpad


General Tune Failures

Unrecoverable Failures – ( the playback may fail on this case )

S.No

AAMP Error Map Code

Media Error Code

Error Description

Failure on Tune Start

Failure on Mid Tune

Reason for failures

HLS

DASH

1AAMP_TUNE_INIT_FAILED10AAMP: init failedX
1. Manifest request failure.
2. Invalid or insufficient data in manifest playlist (content length if “0”).
3. If av track duration is “0”.
4. If seek target is out of range.
XX
2AAMP_TUNE_INIT_FRAGMENT_DOWNLOAD_FAILURE10AAMP: init fragment download failed

String that will be logged
(*) AAMP: init fragment download failed : Http Error Code
(*) AAMP: init fragment download failed : Curl Error Code
XXFailed to download the initialization fragment, results in tune failure.

(*) Failure with VOD/cDVR playback, the HTTP error code reflects actual CDN response interms of Curl or HTTP error values.

(*) Failure with Linear playback via FOG, the HTTP error code reflects FOG reported failure, which does not necessarily imply a CDN download failure.
XX
3AAMP_TUNE_INVALID_MANIFEST_FAILURE10AAMP: Invalid Manifest, parse failedX
If the format of Manifest is invalid, then it will result in tune falure.XX
4AAMP_TUNE_AUTHORISATION_FAILURE40AAMP: Authorization failure
(or)
AAMP: Authorization failure majorError
X
User is not entitled for the requested stream/content.
In HLS : majorError = 3329 and minorError in (12012, 12013)
In DASH : Depends on sec-client error codes
XX
5AAMP_TUNE_UNTRACKED_DRM_ERROR50If 3321: AAMP: Individualization server down majorerror
(or)
AAMP: DRM Failure majorError
(or)
If AES(HLS): AAMP: DRM Failure
X
This can come in the case of unknown DRM errors, we can check the logs for understanding the DRM major and minor errorcodes to map the failure.
This can be seen with AVE and AES DRMs.
X
6AAMP_TUNE_DRM_INIT_FAILED50AAMP: DRM Initialization FailedX
Widevine/PlayReady DRM session initialization failed.
A platform or implementation issue can cause this error.

X
7AAMP_TUNE_DRM_DATA_BIND_FAILED50AAMP: InitData-DRM Binding FailedX
Failed to bind init data with DRM, could be due to invalid or incomplete initdata
X
8AAMP_TUNE_DRM_CHALLENGE_FAILED50AAMP: DRM License Challenge Generation FailedXXFailed to generate DRM license request. Might be due to outdated data in /opt/drm
X
9AAMP_TUNE_INVALID_DRM_KEY50AAMP: Invalid Key Error, from DRMXXFailed to extact license key from license response. It could be because of wrong response data or invalid key.
HLS with AES DRM.
DASH with WV and PR.
XX
10AAMP_TUNE_DRM_KEY_UPDATE_FAILED50AAMP: Failed to process DRM keyXXFailed to process DRM key. Error code returned from the update API provides more details.X
11AAMP_TUNE_UNSUPPORTED_STREAM_TYPE50AAMP: Unsupported Stream TypeXXDRM sessions can be created for audio or video only. Unsupported media type received for session creation.
X
12AAMP_TUNE_UNSUPPORTED_AUDIO_TYPE50AAMP: No supported Audio Types in ManifestX
If the audio type in manifest is unknown by the player, then the playback will be failed.
X
13AAMP_TUNE_DEVICE_NOT_PROVISIONED52AAMP: Device not provisionedX
Device is not provisioned, see se-client error
SEC_CLIENT_RESULT_MAC_AUTH_NOT_PROVISIONED

X
14AAMP_TUNE_FAILED_PTS_ERROR80AAMP: Playback failed due to PTS errorXXIf the injected fragment is discarded by the decoder due to PTS and other errors, then the playback will be failed with this error.XX
15AAMP_TUNE_FAILURE_UNKNOWN100AAMP: Unknown FailureXXOtherthan the above described faiures will be logged with unknown failures.XX

Recoverable – ( on retry handling these case can be recoverable and the playback can play )

S.No

AAMP Error Map Code

Media Error Code

Error Description

Failure on Tune Start

Failure on Mid Tune

Reason for failures

HLS

DASH

1AAMP_TUNE_MANIFEST_REQ_FAILED10AAMP: Manifest Download failed

String that will be logged
(*) AAMP: Manifest Download failed : Http Error Code
(*) AAMP: Manifest Download failed : Curl Error Code
XXIf manifest download failed and retry count exceedes MAX_MANIFEST_DOWNLOAD_RETRY(3)XX
2AAMP_TUNE_FRAGMENT_DOWNLOAD_FAILURE10AAMP: fragment download failures

String that will be logged
(*) AAMP: fragment download failures : Http Error Code
(*) AAMP: fragment download failures : Curl Error Code
XXIf fragment download failed and retry count exceedes MAX_SEG_DOWNLOAD_FAIL_COUNT(10)

(*) Failure with VOD/cDVR playback, the HTTP error code reflects actual CDN response interms of Curl or HTTP error values.

(*) Failure with Linear playback via FOG, the HTTP error code reflects FOG reported failure, which does not necessarily imply a CDN download failure.
XX
3AAMP_TUNE_CONTENT_NOT_FOUND20AAMP: Resource was not found at the URL(HTTP 404)XXIf the manifest / fragment download failed with HTTP 404 error, then this error will be logged.
May be the requested manifest / fragment might not be availble in the server.
XX
4AAMP_TUNE_LICENCE_TIMEOUT50AAMP: DRM License Request Timed outXXLicense requset to server got timed out.
X
5AAMP_TUNE_LICENCE_REQUEST_FAILED50AAMP: DRM License Request FailedXXLicense request failed with server returned error code.
HLS with AES DRM.
DASH with WV and PR.
XX
6AAMP_TUNE_FAILED_TO_GET_KEYID50AAMP: Failed to parse key id from PSSHXXFailed to parse key id from init data.
X
7AAMP_TUNE_FAILED_TO_GET_ACCESS_TOKEN50AAMP: Failed to get access token from Auth ServiceX
Failed to get access token from Auth Service;  Access token is required to get license for Comcast streams from MDS servers.
X
8AAMP_TUNE_CORRUPT_DRM_METADATA50AAMP: DRM Metadata error majorErrorX
Multiple times same Metadata is set to AVE-DRM session or a bad Metadata for a stream set.
DRM Major errorcode : 3314
X
9AAMP_TUNE_DRM_DECRYPT_FAILED50AAMP: DRM Decryption Failed for FragmentsXXIf fragment decryption and retry count exceedes MAX_SEG_DRM_DECRYPT_FAIL_COUNT(10) or more fragments.X
10AAMP_TUNE_CORRUPT_DRM_DATA51AAMP: DRM failure due to Corrupt DRM files
(or)
If 3322, 3328 : AAMP: DRM Failure possibly due to corrupt drm data; majorError
If 3307 : AAMP: DRM Failure possibly due to corrupt CertStore majorError
X
Class of AVE DRM library errors that suggest cached DRM files are corrupted.
(/opt/persistent/adobe – might be corrupted)
DRM Major errorcode : 3322, 3328, 3307
This should trigger automatic “self healing” for next tune.
X
11AAMP_TUNE_GST_PIPELINE_ERROR80GstPipeline Error:Decrypt Error
GstPipeline Error:Your GStreamer installation is missing a plug-in
GstPipeline Error:video decode error
GstPipeline Error:HDCP Authentication Failure
XXTriggered by GST_MESSAGE_ERROR, with human readable description extracted using gst_message_parse_error.
Check the logs for better understanding.
XX
12AAMP_TUNE_PLAYBACK_STALLED7600

AAMP: Playback was stalled due to lack of new fragments

XXAAMP playback stalled because of the non-availability of sufficient fragments.XX
Go To Top