@@ -123,40 +123,63 @@ typedef enum
123123 AAMP_TUNE_INIT_FAILED_PLAYLIST_VIDEO_DNLD_ERROR, /* *< Tune failure due to video playlist download error*/
124124 AAMP_TUNE_INIT_FAILED_PLAYLIST_AUDIO_DNLD_ERROR, /* *< Tune failure due to audio playlist download error*/
125125 AAMP_TUNE_INIT_FAILED_TRACK_SYNC_ERROR, /* *< Tune failure due to A/V track sync error*/
126- AAMP_TUNE_MANIFEST_REQ_FAILED, /* *< Tune failure caused by manifest fetch failure*/
127- AAMP_TUNE_AUTHORIZATION_FAILURE, /* *< Not authorized to view the content*/
128- AAMP_TUNE_FRAGMENT_DOWNLOAD_FAILURE, /* *< When fragment download fails for 5 consecutive fragments*/
129- AAMP_TUNE_INIT_FRAGMENT_DOWNLOAD_FAILURE, /* *< Unable to download init fragment*/
130- AAMP_TUNE_UNTRACKED_DRM_ERROR, /* *< DRM error*/
131- AAMP_TUNE_DRM_INIT_FAILED, /* *< DRM initialization failure */
132- AAMP_TUNE_DRM_DATA_BIND_FAILED, /* *< InitData binding with DRM failed */
133- AAMP_TUNE_DRM_SESSIONID_EMPTY, /* *< DRM session ID empty */
134- AAMP_TUNE_DRM_CHALLENGE_FAILED, /* *< DRM key request challenge generation failed */
135- AAMP_TUNE_LICENCE_TIMEOUT, /* *< DRM license request timeout */
136- AAMP_TUNE_LICENCE_REQUEST_FAILED, /* *< DRM license got invalid response */
137- AAMP_TUNE_INVALID_DRM_KEY, /* *< DRM reporting invalid license key */
138- AAMP_TUNE_UNSUPPORTED_STREAM_TYPE, /* *< Unsupported stream type */
139- AAMP_TUNE_UNSUPPORTED_AUDIO_TYPE, /* *< Unsupported audio type in manifest */
140- AAMP_TUNE_FAILED_TO_GET_KEYID, /* *< Failed to parse key id from init data*/
141- AAMP_TUNE_FAILED_TO_GET_ACCESS_TOKEN, /* *< Failed to get session token from AuthService*/
142- AAMP_TUNE_CORRUPT_DRM_DATA, /* *< DRM failure due to corrupt drm data, self heal might clear further errors*/
143- AAMP_TUNE_CORRUPT_DRM_METADATA, /* *< DRM failure due to corrupt drm metadata in the stream*/
144- AAMP_TUNE_DRM_DECRYPT_FAILED, /* *< DRM Decryption Failed for Fragments */
145- AAMP_TUNE_DRM_UNSUPPORTED, /* *< DRM Format Unsupported */
146- AAMP_TUNE_DRM_SELF_ABORT, /* *< Download activity is aborted by player */
147- AAMP_TUNE_GST_PIPELINE_ERROR, /* *< Playback failure due to error from GStreamer pipeline or associated plugins */
148- AAMP_TUNE_PLAYBACK_STALLED, /* *< Playback was stalled due to valid fragments not available in playlist */
149- AAMP_TUNE_CONTENT_NOT_FOUND, /* *< The resource was not found at the URL provided (HTTP 404) */
150- AAMP_TUNE_DRM_KEY_UPDATE_FAILED, /* *< Failed to process DRM key, see the error code returned from Update() for more info */
151- AAMP_TUNE_DEVICE_NOT_PROVISIONED, /* *< STB not provisioned/corrupted; need to re-provision. */
152- AAMP_TUNE_HDCP_COMPLIANCE_ERROR, /* *< HDCP Compliance Check failure.Not compatible hdcp version for playback */
153- AAMP_TUNE_INVALID_MANIFEST_FAILURE, /* *< Manifest is invalid */
154- AAMP_TUNE_FAILED_PTS_ERROR, /* *< Playback failed due to PTS error */
155- AAMP_TUNE_MP4_INIT_FRAGMENT_MISSING, /* *< Init fragments missing in playlist */
156- AAMP_TUNE_DNS_RESOLVE_TIMEOUT,
157- AAMP_TUNE_CURL_CONNECTION_TIMEOUT,
158- AAMP_TUNE_DATA_TRANSFER_TIMEOUT,
159- AAMP_TUNE_FAILURE_UNKNOWN /* *< Unknown failure */
126+
127+
128+ // Resource failure
129+ AAMP_TUNE_CONTENT_NOT_FOUND, /* *< The resource was not found at the URL provided (HTTP 404) */
130+
131+ // Download failure
132+ AAMP_TUNE_MANIFEST_REQ_FAILED, /* *< Tune failure caused by manifest fetch failure*/
133+ AAMP_TUNE_FRAGMENT_DOWNLOAD_FAILURE, /* *< When fragment download fails for 5 consecutive fragments*/
134+ AAMP_TUNE_INIT_FRAGMENT_DOWNLOAD_FAILURE, /* *< Unable to download init fragment*/
135+ AAMP_TUNE_INVALID_MANIFEST_FAILURE, /* *< Manifest is invalid */
136+ AAMP_TUNE_MP4_INIT_FRAGMENT_MISSING, /* *< Init fragments missing in playlist */
137+ AAMP_TUNE_DNS_RESOLVE_TIMEOUT, /* *< DNS resolve timedout */
138+ AAMP_TUNE_CURL_CONNECTION_TIMEOUT, /* *< Curl connection timedout */
139+ AAMP_TUNE_DATA_TRANSFER_TIMEOUT, /* *< Data transfer timedout */
140+
141+ // Authorization failure
142+ AAMP_TUNE_AUTHORIZATION_FAILURE, /* *< Not authorized to view the content*/
143+
144+ // DRM Failure
145+ AAMP_TUNE_UNTRACKED_DRM_ERROR, /* *< DRM error*/
146+ AAMP_TUNE_DRM_INIT_FAILED, /* *< DRM initialization failure */
147+ AAMP_TUNE_DRM_DATA_BIND_FAILED, /* *< InitData binding with DRM failed */
148+ AAMP_TUNE_DRM_SESSIONID_EMPTY, /* *< DRM session ID empty */
149+ AAMP_TUNE_DRM_CHALLENGE_FAILED, /* *< DRM key request challenge generation failed */
150+ AAMP_TUNE_LICENCE_TIMEOUT, /* *< DRM license request timeout */
151+ AAMP_TUNE_LICENCE_REQUEST_FAILED, /* *< DRM license got invalid response */
152+ AAMP_TUNE_INVALID_DRM_KEY, /* *< DRM reporting invalid license key */
153+ AAMP_TUNE_FAILED_TO_GET_KEYID, /* *< Failed to parse key id from init data*/
154+ AAMP_TUNE_CORRUPT_DRM_DATA, /* *< DRM failure due to corrupt drm data, self heal might clear further errors*/
155+ AAMP_TUNE_CORRUPT_DRM_METADATA, /* *< DRM failure due to corrupt drm metadata in the stream*/
156+ AAMP_TUNE_DRM_DECRYPT_FAILED, /* *< DRM Decryption Failed for Fragments */
157+ AAMP_TUNE_DRM_UNSUPPORTED, /* *< DRM Format Unsupported */
158+ AAMP_TUNE_DRM_SELF_ABORT, /* *< Download activity is aborted by player */
159+ AAMP_TUNE_FAILED_TO_GET_ACCESS_TOKEN, /* *< Failed to get session token from AuthService*/
160+ AAMP_TUNE_DRM_KEY_UPDATE_FAILED, /* *< Failed to process DRM key, see the error code returned from Update() for more info */
161+
162+
163+
164+ // Provisioning failure
165+ AAMP_TUNE_DEVICE_NOT_PROVISIONED, /* *< STB not provisioned/corrupted; need to re-provision. */
166+
167+ // Hdcp failure
168+ AAMP_TUNE_HDCP_COMPLIANCE_ERROR, /* *< HDCP Compliance Check failure.Not compatible hdcp version for playback */
169+
170+ // Stream failure
171+ AAMP_TUNE_UNSUPPORTED_STREAM_TYPE, /* *< Unsupported stream type */
172+ AAMP_TUNE_UNSUPPORTED_AUDIO_TYPE, /* *< Unsupported audio type in manifest */
173+
174+ // Gstreamer error
175+ AAMP_TUNE_GST_PIPELINE_ERROR, /* *< Playback failed due to an error in the GStreamer pipeline */
176+ AAMP_TUNE_FAILED_PTS_ERROR, /* *< Playback failed due to PTS error */
177+
178+ // Playback failure
179+ AAMP_TUNE_PLAYBACK_STALLED, /* *< Playback was stalled due to valid fragments not available in playlist */
180+
181+ // Unknown failure
182+ AAMP_TUNE_FAILURE_UNKNOWN
160183} AAMPTuneFailure;
161184
162185/* *
@@ -383,7 +406,8 @@ struct AAMPEvent
383406 struct
384407 {
385408 AAMPTuneFailure failure; /* *< Error Type */
386- int code; /* *< Error code */
409+ int code;
410+ int minorCode; /* *< Error code */
387411 const char *description; /* *< Error description */
388412 bool shouldRetry; /* *< If recovery on retry is possible */
389413 int32_t classCode; /* *< class Code */
@@ -620,6 +644,7 @@ class MediaErrorEvent: public AAMPEventObject
620644{
621645 AAMPTuneFailure mFailure ; /* *< Error Type */
622646 int mCode ; /* *< Error code */
647+ int mMinorCode ;
623648 std::string mDescription ; /* *< Error description */
624649 std::string mResponseData ; /* *< Response Data */
625650 bool mShouldRetry ; /* *< If recovery on retry is possible */
@@ -638,10 +663,11 @@ class MediaErrorEvent: public AAMPEventObject
638663 *
639664 * @param[in] failure - Failure type
640665 * @param[in] code - Error code
666+ * @param[in] minorCode - Error code
641667 * @param[in] desc - Error description
642668 * @param[in] shouldRetry - Retry or not
643669 */
644- MediaErrorEvent (AAMPTuneFailure failure, int code, const std::string &desc, bool shouldRetry, int32_t classCode, int32_t reason, int32_t businessStatus, const std::string &responseData, std::string sid);
670+ MediaErrorEvent (AAMPTuneFailure failure, int code, int minorCode, const std::string &desc, bool shouldRetry, int32_t classCode, int32_t reason, int32_t businessStatus, const std::string &responseData, std::string sid);
645671
646672 /* *
647673 * @brief MediaErrorEvent Destructor
@@ -653,11 +679,14 @@ class MediaErrorEvent: public AAMPEventObject
653679 */
654680 AAMPTuneFailure getFailure () const ;
655681
682+ /* *
683+ * @fn getMinorCode
684+ */
685+ int getMinorCode () const ;
656686 /* *
657687 * @fn getCode
658688 */
659689 int getCode () const ;
660-
661690 /* *
662691 * @fn getDescription
663692 */
0 commit comments