Skip to content

Commit 2d1bbdb

Browse files
committed
VPLAY-11225 [Tech Debt] mediafailed event enhancements ( minor code etc )
Reason for change: Added minor code for MediaFailedEvent Risks: Low Test Procedure: Refer jira ticket Priority: P1 Signed-off-by: lashmintha <[email protected]>
1 parent 5faef28 commit 2d1bbdb

File tree

7 files changed

+32
-120
lines changed

7 files changed

+32
-120
lines changed

AampEvent.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ AAMPEventType AAMPEventObject::getType() const
5050
* @brief MediaErrorEvent Constructor
5151
*/
5252
MediaErrorEvent::MediaErrorEvent(AAMPTuneFailure failure, int code, int minorCode, const std::string &desc, bool shouldRetry, int classCode, int reason, int businessStatus, const std::string &responseData, std::string sid):
53-
AAMPEventObject(AAMP_EVENT_TUNE_FAILED, std::move(sid)), mFailure(failure), mCode(code), mMinorCode(minorCode),
53+
AAMPEventObject(AAMP_EVENT_TUNE_FAILED, std::move(sid)), mFailure(failure), mMajorCode(code), mMinorCode(minorCode),
5454
mDescription(desc), mShouldRetry(shouldRetry), mSecManagerClass(classCode), mSecManagerReasonCode(reason), mBusinessStatus(businessStatus), mResponseData(responseData)
5555
{
5656

@@ -71,9 +71,9 @@ AAMPTuneFailure MediaErrorEvent::getFailure() const
7171
*
7272
* @return Major code
7373
*/
74-
int MediaErrorEvent::getCode() const
74+
int MediaErrorEvent::getMajorCode() const
7575
{
76-
return mCode;
76+
return mMajorCode;
7777
}
7878
/**
7979
* @brief Get Minor Code

AampEvent.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -643,7 +643,7 @@ class AAMPEventObject
643643
class MediaErrorEvent: public AAMPEventObject
644644
{
645645
AAMPTuneFailure mFailure; /**< Error Type */
646-
int mCode; /**< Error code */
646+
int mMajorCode; /**< Error code */
647647
int mMinorCode;
648648
std::string mDescription; /**< Error description */
649649
std::string mResponseData; /**< Response Data */
@@ -686,7 +686,7 @@ class MediaErrorEvent: public AAMPEventObject
686686
/**
687687
* @fn getCode
688688
*/
689-
int getCode() const;
689+
int getMajorCode() const;
690690
/**
691691
* @fn getDescription
692692
*/

AampEventListener.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ static void GenerateLegacyAAMPEvent(const AAMPEventPtr &e, AAMPEvent &event)
4141
{
4242
MediaErrorEventPtr ev = std::dynamic_pointer_cast<MediaErrorEvent>(e);
4343
event.data.mediaError.failure = ev->getFailure();
44-
event.data.mediaError.code = ev->getCode();
44+
event.data.mediaError.code = ev->getMajorCode();
4545
event.data.mediaError.minorCode = ev->getMinorCode();
4646
event.data.mediaError.description = ev->getDescription().c_str();
4747
event.data.mediaError.shouldRetry = ev->shouldRetry();

jsbindings/jsbindings.cpp

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -928,16 +928,15 @@ class AAMP_JSListener_TuneFailed : public AAMP_JSListener
928928
void setEventProperties(const AAMPEventPtr& e, JSContextRef context, JSObjectRef eventObj)
929929
{
930930
MediaErrorEventPtr evt = std::dynamic_pointer_cast<MediaErrorEvent>(e);
931-
932-
int code = evt->getCode();
931+
int code = evt->getMajorCode();
933932
int minorCode = evt->getMinorCode();
934933
const char* description = evt->getDescription().c_str();
935934

936935
JSStringRef name = JSStringCreateWithUTF8CString("code");
937936
JSObjectSetProperty(context, eventObj, name, JSValueMakeNumber(context, code), kJSPropertyAttributeReadOnly, NULL);
938937
JSStringRelease(name);
939938

940-
name = JSStringCreateWithUTF8CString("minorcode");
939+
name = JSStringCreateWithUTF8CString("minorCode");
941940
JSObjectSetProperty(context, eventObj, name, JSValueMakeNumber(context, minorCode), kJSPropertyAttributeReadOnly, NULL);
942941
JSStringRelease(name);
943942

jsbindings/jseventlistener.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -258,10 +258,10 @@ class AAMP_Listener_PlaybackFailed : public AAMP_JSEventListener
258258
JSStringRef prop;
259259

260260
prop = JSStringCreateWithUTF8CString("code");
261-
JSObjectSetProperty(p_obj->_ctx, jsEventObj, prop, JSValueMakeNumber(p_obj->_ctx, evt->getCode()), kJSPropertyAttributeReadOnly, NULL);
261+
JSObjectSetProperty(p_obj->_ctx, jsEventObj, prop, JSValueMakeNumber(p_obj->_ctx, evt->getMajorCode()), kJSPropertyAttributeReadOnly, NULL);
262262
JSStringRelease(prop);
263263

264-
prop = JSStringCreateWithUTF8CString("minorcode");
264+
prop = JSStringCreateWithUTF8CString("minorCode");
265265
JSObjectSetProperty(p_obj->_ctx, jsEventObj, prop, JSValueMakeNumber(p_obj->_ctx, evt->getMinorCode()), kJSPropertyAttributeReadOnly, NULL);
266266
JSStringRelease(prop);
267267

test/utests/fakes/FakeAampEvent.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -335,7 +335,7 @@ MediaErrorEvent::MediaErrorEvent(AAMPTuneFailure failure, int code, int minorCod
335335
bool MediaErrorEvent::shouldRetry(void) const { return false; }
336336
int32_t MediaErrorEvent::getBusinessStatus(void) const { return 0; }
337337
int32_t MediaErrorEvent::getClass(void) const { return 0; }
338-
int MediaErrorEvent::getCode(void) const { return 0; }
338+
int MediaErrorEvent::getMajorCode(void) const { return 0; }
339339
int MediaErrorEvent::getMinorCode(void) const { return 0; }
340340

341341
BitrateChangeEvent::BitrateChangeEvent(int time, BitsPerSecond bitrate, const std::string &desc, int width, int height, double frameRate, double position, bool cappedProfile, int displayWidth, int displayHeight, VideoScanType videoScanType, int aspectRatioWidth, int aspectRatioHeight, std::string sid):

test/utests/tests/AampEventTests/AampEventTests.cpp

Lines changed: 21 additions & 108 deletions
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,7 @@ TEST_F(MediaErrorEventTest, MediaErrorEventMethodsTest) {
107107
);
108108

109109
EXPECT_EQ(errorEvent.getFailure(), AAMPTuneFailure::AAMP_TUNE_INIT_FAILED);
110-
EXPECT_EQ(errorEvent.getCode(), 10);
110+
EXPECT_EQ(errorEvent.getMajorCode(), 10);
111111
EXPECT_EQ(errorEvent.getMinorCode(), 1001);
112112
EXPECT_EQ(errorEvent.getDescription(), "Tune failure due to initialization error");
113113
EXPECT_EQ(errorEvent.getResponseData(), "response data");
@@ -121,7 +121,7 @@ TEST_F(MediaErrorEventTest, MediaErrorEventMethodsTest) {
121121
TEST_F(MediaErrorEventTest, MediaErrorEventMethodsanotherTest) {
122122

123123
EXPECT_EQ(errorEvent->getFailure(), AAMPTuneFailure::AAMP_TUNE_FAILURE_UNKNOWN);
124-
EXPECT_EQ(errorEvent->getCode(), 100);
124+
EXPECT_EQ(errorEvent->getMajorCode(), 100);
125125
EXPECT_EQ(errorEvent->getMinorCode(), 1);
126126
EXPECT_EQ(errorEvent->getDescription(), "Test");
127127
EXPECT_EQ(errorEvent->getResponseData(), "");
@@ -132,7 +132,7 @@ TEST_F(MediaErrorEventTest, MediaErrorEventMethodsanotherTest) {
132132
EXPECT_EQ(errorEvent->GetSessionId(), session_id);
133133
}
134134

135-
// Structure to hold test parameters for MediaErrorEvent
135+
// Unified structure to hold test parameters for all MediaErrorEvent scenarios
136136
struct MediaErrorEventParams {
137137
AAMPTuneFailure failure;
138138
int code;
@@ -145,12 +145,12 @@ struct MediaErrorEventParams {
145145
std::string responseData;
146146
};
147147

148-
// Parameterized test fixture for MediaErrorEvent
148+
// Unified parameterized test fixture for MediaErrorEvent
149149
class MediaErrorEventParameterizedTest : public testing::TestWithParam<MediaErrorEventParams> {
150150
};
151151

152-
// L1 Test: MediaErrorEvent with all AAMPTuneFailure enum values
153-
TEST_P(MediaErrorEventParameterizedTest, MediaErrorEventAllFailureTypesTest) {
152+
// L1 Test: MediaErrorEvent with all error scenarios (Failure Types, Tune failure, DRM failure, and Manifest failures)
153+
TEST_P(MediaErrorEventParameterizedTest, MediaErrorEventAllScenariosTest) {
154154
MediaErrorEventParams params = GetParam();
155155

156156
MediaErrorEvent event(
@@ -166,8 +166,9 @@ TEST_P(MediaErrorEventParameterizedTest, MediaErrorEventAllFailureTypesTest) {
166166
session_id
167167
);
168168

169+
// Verify all fields
169170
EXPECT_EQ(event.getFailure(), params.failure);
170-
EXPECT_EQ(event.getCode(), params.code);
171+
EXPECT_EQ(event.getMajorCode(), params.code);
171172
EXPECT_EQ(event.getMinorCode(), params.minorCode);
172173
EXPECT_EQ(event.getDescription(), params.description);
173174
EXPECT_EQ(event.shouldRetry(), params.shouldRetry);
@@ -177,114 +178,26 @@ TEST_P(MediaErrorEventParameterizedTest, MediaErrorEventAllFailureTypesTest) {
177178
EXPECT_EQ(event.getResponseData(), params.responseData);
178179
}
179180

180-
// Instantiate the parameterized test with different AAMPTuneFailure values
181+
// Instantiate the unified parameterized test with all error scenarios
181182
INSTANTIATE_TEST_SUITE_P(
182183
MediaErrorEventTest,
183184
MediaErrorEventParameterizedTest,
184185
testing::Values(
186+
// General AAMPTuneFailure error scenarios
185187
MediaErrorEventParams{AAMPTuneFailure::AAMP_TUNE_INIT_FAILED, 10, 1001, "Init failed error", false, 101, 201, 301, "Init failed response"},
186188
MediaErrorEventParams{AAMPTuneFailure::AAMP_TUNE_MANIFEST_REQ_FAILED, 30, 3001, "Manifest request failed", true, 102, 202, 302, "Manifest failed response"},
187189
MediaErrorEventParams{AAMPTuneFailure::AAMP_TUNE_AUTHORIZATION_FAILURE, 40, 4001, "Authorization failed", false, 103, 203, 303, "Auth failed response"},
188-
MediaErrorEventParams{AAMPTuneFailure::AAMP_TUNE_UNTRACKED_DRM_ERROR, 50, 5001, "DRM error occurred", true, 104, 204, 304, "DRM error response"}
189-
)
190-
);
191-
192-
// Structure to hold test parameters for DRM error scenarios
193-
struct DRMErrorEventParams {
194-
AAMPTuneFailure failure;
195-
int code;
196-
int minorCode;
197-
std::string description;
198-
bool shouldRetry;
199-
int classCode;
200-
int reasonCode;
201-
int businessStatus;
202-
std::string responseData;
203-
};
204-
205-
// Parameterized test fixture for DRM error scenarios
206-
class MediaErrorEventDRMParameterizedTest : public testing::TestWithParam<DRMErrorEventParams> {
207-
};
208-
209-
// L1 Test: MediaErrorEvent with DRM-specific error scenarios
210-
TEST_P(MediaErrorEventDRMParameterizedTest, MediaErrorEventDRMErrorScenariosTest) {
211-
DRMErrorEventParams params = GetParam();
212-
213-
MediaErrorEvent event(
214-
params.failure,
215-
params.code,
216-
params.minorCode,
217-
params.description,
218-
params.shouldRetry,
219-
params.classCode,
220-
params.reasonCode,
221-
params.businessStatus,
222-
params.responseData,
223-
session_id
224-
);
225-
226-
EXPECT_EQ(event.getCode(), params.code);
227-
EXPECT_EQ(event.getMinorCode(), params.minorCode);
228-
EXPECT_EQ(event.getFailure(), params.failure);
229-
EXPECT_EQ(event.getClass(), params.classCode);
230-
EXPECT_EQ(event.getReason(), params.reasonCode);
231-
EXPECT_EQ(event.getBusinessStatus(), params.businessStatus);
232-
}
233-
234-
// Instantiate the parameterized test with DRM error scenarios
235-
INSTANTIATE_TEST_SUITE_P(
236-
MediaErrorEventTest,
237-
MediaErrorEventDRMParameterizedTest,
238-
testing::Values(
239-
DRMErrorEventParams{AAMPTuneFailure::AAMP_TUNE_FAILED_TO_GET_KEYID, 50, 5009, "DRM license acquisition failed", false, 200, 1, -1, "{\"errorCode\":\"3307\",\"message\":\"License request failed\"}"},
240-
DRMErrorEventParams{AAMPTuneFailure::AAMP_TUNE_UNTRACKED_DRM_ERROR, 50, 5001, "DRM key system not supported", false, 300, 2, -1, "{\"errorCode\":\"3321\",\"message\":\"Unsupported key system\"}"},
241-
DRMErrorEventParams{AAMPTuneFailure::AAMP_TUNE_DRM_INIT_FAILED, 50, 5002, "DRM session creation failed", false, 400, 3, -1, "{\"errorCode\":\"3304\",\"message\":\"Failed to create DRM session\"}"}
242-
)
243-
);
244-
245-
// Structure to hold test parameters for manifest parsing error scenarios
246-
struct ManifestParsingErrorParams {
247-
AAMPTuneFailure failure;
248-
int code;
249-
int minorCode;
250-
std::string description;
251-
bool shouldRetry;
252-
std::string responseData;
253-
};
254-
255-
// Parameterized test fixture for manifest parsing errors
256-
class MediaErrorEventManifestParameterizedTest : public testing::TestWithParam<ManifestParsingErrorParams> {
257-
};
258-
259-
// L1 Test: MediaErrorEvent with manifest parsing error scenarios
260-
TEST_P(MediaErrorEventManifestParameterizedTest, MediaErrorEventManifestParsingErrorsTest) {
261-
ManifestParsingErrorParams params = GetParam();
262-
263-
MediaErrorEvent event(
264-
params.failure,
265-
params.code,
266-
params.minorCode,
267-
params.description,
268-
params.shouldRetry,
269-
0, 0, 0,
270-
params.responseData,
271-
session_id
272-
);
273-
274-
EXPECT_EQ(event.getCode(), params.code);
275-
EXPECT_EQ(event.getMinorCode(), params.minorCode);
276-
EXPECT_EQ(event.getFailure(), params.failure);
277-
EXPECT_EQ(event.shouldRetry(), params.shouldRetry);
278-
}
279-
280-
// Instantiate the parameterized test with manifest parsing error scenarios
281-
INSTANTIATE_TEST_SUITE_P(
282-
MediaErrorEventTest,
283-
MediaErrorEventManifestParameterizedTest,
284-
testing::Values(
285-
ManifestParsingErrorParams{AAMPTuneFailure::AAMP_TUNE_INIT_FAILED_MANIFEST_PARSE_ERROR, 10, 1004, "Invalid manifest format", false, "XML parse error at line 5"},
286-
ManifestParsingErrorParams{AAMPTuneFailure::AAMP_TUNE_INIT_FAILED_MANIFEST_CONTENT_ERROR, 10, 1003, "Missing required manifest elements", false, "Missing Period element in MPD"},
287-
ManifestParsingErrorParams{AAMPTuneFailure::AAMP_TUNE_INVALID_MANIFEST_FAILURE, 30, 3004, "Unsupported manifest version", false, "MPD version 2.0 not supported"}
190+
MediaErrorEventParams{AAMPTuneFailure::AAMP_TUNE_UNTRACKED_DRM_ERROR, 50, 5001, "DRM error occurred", true, 104, 204, 304, "DRM error response"},
191+
192+
// DRM-specific error scenarios
193+
MediaErrorEventParams{AAMPTuneFailure::AAMP_TUNE_FAILED_TO_GET_KEYID, 50, 5009, "DRM license acquisition failed", false, 200, 1, -1, "{\"errorCode\":\"3307\",\"message\":\"License request failed\"}"},
194+
MediaErrorEventParams{AAMPTuneFailure::AAMP_TUNE_UNTRACKED_DRM_ERROR, 50, 5001, "DRM key system not supported", false, 300, 2, -1, "{\"errorCode\":\"3321\",\"message\":\"Unsupported key system\"}"},
195+
MediaErrorEventParams{AAMPTuneFailure::AAMP_TUNE_DRM_INIT_FAILED, 50, 5002, "DRM session creation failed", false, 400, 3, -1, "{\"errorCode\":\"3304\",\"message\":\"Failed to create DRM session\"}"},
196+
197+
// Manifest parsing error scenarios
198+
MediaErrorEventParams{AAMPTuneFailure::AAMP_TUNE_INIT_FAILED_MANIFEST_PARSE_ERROR, 10, 1004, "Invalid manifest format", false, 0, 0, 0, "XML parse error at line 5"},
199+
MediaErrorEventParams{AAMPTuneFailure::AAMP_TUNE_INIT_FAILED_MANIFEST_CONTENT_ERROR, 10, 1003, "Missing required manifest elements", false, 0, 0, 0, "Missing Period element in MPD"},
200+
MediaErrorEventParams{AAMPTuneFailure::AAMP_TUNE_INVALID_MANIFEST_FAILURE, 30, 3004, "Unsupported manifest version", false, 0, 0, 0, "MPD version 2.0 not supported"}
288201
)
289202
);
290203
// Test fixture for SpeedChangedEvent

0 commit comments

Comments
 (0)