1 /*
2 * Copyright (c) 2024 Huawei Device Co., Ltd.
3 * Licensed under the Apache License, Version 2.0 (the "License");
4 * you may not use this file except in compliance with the License.
5 * You may obtain a copy of the License at
6 *
7 * http://www.apache.org/licenses/LICENSE-2.0
8 *
9 * Unless required by applicable law or agreed to in writing, software
10 * distributed under the License is distributed on an "AS IS" BASIS,
11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 * See the License for the specific language governing permissions and
13 * limitations under the License.
14 */
15 #include "codec_omx_ext.h"
16 #include "v3_0/codec_callback_service.h"
17 #include "v1_0/display_buffer_type.h"
18 #include "v1_0/display_composer_type.h"
19 #include "v3_0/icodec_callback.h"
20 #include "v3_0/icodec_component.h"
21 #include "v3_0/icodec_component_manager.h"
22 #include "v1_0/include/idisplay_buffer.h"
23 #include <OMX_Component.h>
24 #include <OMX_Core.h>
25 #include <OMX_Video.h>
26 #include <OMX_VideoExt.h>
27 #include <benchmark/benchmark.h>
28 #include <gtest/gtest.h>
29 #include <hdf_log.h>
30 #include <securec.h>
31 #include <servmgr_hdi.h>
32 #include <vector>
33
34 using namespace std;
35 using namespace testing::ext;
36 using OHOS::sptr;
37 using namespace OHOS::HDI::Codec::V3_0;
38 namespace {
39 constexpr CodecType TYPE = CodecType::VIDEO_ENCODER;
40 constexpr AvCodecRole ROLE = MEDIA_ROLETYPE_VIDEO_AVC;
41 static sptr<ICodecComponent> g_component = nullptr;
42 static sptr<ICodecCallback> g_callback = nullptr;
43 static sptr<ICodecComponentManager> g_manager = nullptr;
44 static CodecVersionType g_version;
45 static std::string g_compName = "";
46 uint32_t g_componentId = 0;
47 enum class PortIndex { PORT_INDEX_INPUT = 0, PORT_INDEX_OUTPUT = 1 };
48 const static uint32_t INPUT_INDEX = static_cast<uint32_t>(PortIndex::PORT_INDEX_INPUT);
49 const static uint32_t OUTPUT_INDEX = static_cast<uint32_t>(PortIndex::PORT_INDEX_OUTPUT);
50 constexpr int32_t WIDTH = 640;
51 constexpr int32_t HEIGHT = 480;
52 constexpr int32_t BUFFER_SIZE = WIDTH * HEIGHT * 3;
53 constexpr int FD_DEFAULT = -1;
54 constexpr uint32_t BUFFER_ID_ERROR = 65000;
55
56 template <typename T>
InitParam(T ¶m)57 void InitParam(T ¶m)
58 {
59 memset_s(¶m, sizeof(param), 0x0, sizeof(param));
60 param.size = sizeof(param);
61 param.version.nVersion = 1;
62 }
63
64 template <typename T>
ObjectToVector(T ¶m, std::vector<int8_t> &vec)65 void ObjectToVector(T ¶m, std::vector<int8_t> &vec)
66 {
67 int8_t *paramPointer = reinterpret_cast<int8_t *>(¶m);
68 vec.insert(vec.end(), paramPointer, paramPointer + sizeof(param));
69 }
70
71 class CodecComponentTestAdditional : public testing::Test {
72 public:
InitOmxCodecBuffer(OmxCodecBuffer &buffer, CodecBufferType type)73 void InitOmxCodecBuffer(OmxCodecBuffer &buffer, CodecBufferType type)
74 {
75 buffer.bufferType = type;
76 buffer.fenceFd = -1;
77 buffer.version = g_version;
78 buffer.allocLen = BUFFER_SIZE;
79 buffer.fd = FD_DEFAULT;
80 buffer.bufferhandle = nullptr;
81 buffer.pts = 0;
82 buffer.flag = 0;
83 buffer.size = sizeof(OmxCodecBuffer);
84 buffer.type = READ_ONLY_TYPE;
85 }
SetUpTestCase()86 static void SetUpTestCase()
87 {
88 g_manager = ICodecComponentManager::Get();
89 int32_t count = 0;
90 auto ret = g_manager->GetComponentNum(count);
91 ASSERT_EQ(ret, HDF_SUCCESS);
92 if (count <= 0) {
93 return;
94 }
95
96 std::vector<CodecCompCapability> capList;
97 auto err = g_manager->GetComponentCapabilityList(capList, count);
98 ASSERT_TRUE(err == HDF_SUCCESS);
99 for (auto cap : capList) {
100 if (cap.type == TYPE && cap.role == ROLE) {
101 g_compName = cap.compName;
102 break;
103 }
104 }
105 }
TearDownTestCase()106 static void TearDownTestCase() { g_manager = nullptr; }
SetUp()107 void SetUp()
108 {
109 if (g_manager == nullptr) {
110 return;
111 }
112 g_callback = new CodecCallbackService();
113 if (g_callback == nullptr) {
114 return;
115 }
116 if (g_compName.empty()) {
117 return;
118 }
119
120 auto ret = g_manager->CreateComponent(g_component, g_componentId, g_compName.data(),
121 reinterpret_cast<int64_t>(this), g_callback);
122 if (ret != HDF_SUCCESS) {
123 return;
124 }
125 struct CompVerInfo verInfo;
126 ret = g_component->GetComponentVersion(verInfo);
127 if (ret != HDF_SUCCESS) {
128 return;
129 }
130 g_version = verInfo.compVersion;
131 }
TearDown()132 void TearDown()
133 {
134 std::vector<int8_t> cmdData;
135 if (g_component != nullptr) {
136 g_component->SendCommand(CODEC_COMMAND_STATE_SET, CODEC_STATE_LOADED, cmdData);
137 }
138 if (g_manager != nullptr && g_component != nullptr) {
139 g_manager->DestroyComponent(g_componentId);
140 }
141 g_callback = nullptr;
142 g_component = nullptr;
143 }
144 };
145
146 /**
147 * @tc.number : SUB_Driver_Codec_GetParameter_0200
148 * @tc.name : testGetParameter001
149 * @tc.desc : when the index = OMX_IndexCodecVideoPortFormat, structure inParamStruct> portIndex = INPUT_INDEX,
150 If inParamStruct->codecColorIndex = 0, the command is successfully sent.
151 */
HWTEST_F(CodecComponentTestAdditional, testGetParameter001, Function | MediumTest | Level1)152 HWTEST_F(CodecComponentTestAdditional, testGetParameter001, Function | MediumTest | Level1)
153 {
154 ASSERT_TRUE(g_component != nullptr);
155 CodecVideoPortFormatParam param;
156 InitParam(param);
157 param.portIndex = INPUT_INDEX;
158 param.codecColorIndex = 0;
159 std::vector<int8_t> inParam;
160 ObjectToVector(param, inParam);
161 std::vector<int8_t> outParam;
162 auto ret = g_component->GetParameter(OMX_IndexParamVideoPortFormat, inParam, outParam);
163 ASSERT_EQ(ret, HDF_SUCCESS);
164 }
165 /**
166 * @tc.number : SUB_Driver_Codec_GetParameter_0300
167 * @tc.name : testGetParameter002
168 * @tc.desc : When the index = OMX_IndexParamVideoQuantization, structure inParamStruct->portIndex = INPUT_INDEX,
169 inParamStruct->codecColorIndex = 0, Failed to send the command.
170 */
HWTEST_F(CodecComponentTestAdditional, testGetParameter002, Function | MediumTest | Level2)171 HWTEST_F(CodecComponentTestAdditional, testGetParameter002, Function | MediumTest | Level2)
172 {
173 ASSERT_TRUE(g_component != nullptr);
174 CodecVideoPortFormatParam param;
175 InitParam(param);
176 param.portIndex = INPUT_INDEX;
177 param.codecColorIndex = 0;
178 std::vector<int8_t> inParam;
179 ObjectToVector(param, inParam);
180 std::vector<int8_t> outParam;
181 auto ret = g_component->GetParameter(OMX_IndexParamVideoQuantization, inParam, outParam);
182 ASSERT_NE(ret, HDF_SUCCESS);
183 }
184 /**
185 * @tc.number : SUB_Driver_Codec_GetParameter_0400
186 * @tc.name : testGetParameter003
187 * @tc.desc : When index=OMX_IndexParamVideoFastUpdate, Structure inParamStruct->portIndex=INPUT_INDEX,
188 inParamStruct->codecColorIndex=0, sending command failed.
189 */
HWTEST_F(CodecComponentTestAdditional, testGetParameter003, Function | MediumTest | Level2)190 HWTEST_F(CodecComponentTestAdditional, testGetParameter003, Function | MediumTest | Level2)
191 {
192 ASSERT_TRUE(g_component != nullptr);
193 CodecVideoPortFormatParam param;
194 InitParam(param);
195 param.portIndex = INPUT_INDEX;
196 param.codecColorIndex = 0;
197 std::vector<int8_t> inParam;
198 ObjectToVector(param, inParam);
199 std::vector<int8_t> outParam;
200 auto ret = g_component->GetParameter(OMX_IndexParamVideoFastUpdate, inParam, outParam);
201 ASSERT_NE(ret, HDF_SUCCESS);
202 }
203 /**
204 * @tc.number : SUB_Driver_Codec_GetParameter_0500
205 * @tc.name : testGetParameter004
206 * @tc.desc : When index = OMX_IndexParamVideoBitrate, structure inParamStruct->portIndex = INPUT_INDEX,
207 inParamStruct->codecColorIndex = 0,Failed to send command.
208 */
HWTEST_F(CodecComponentTestAdditional, testGetParameter004, Function | MediumTest | Level2)209 HWTEST_F(CodecComponentTestAdditional, testGetParameter004, Function | MediumTest | Level2)
210 {
211 ASSERT_TRUE(g_component != nullptr);
212 CodecVideoPortFormatParam param;
213 InitParam(param);
214 param.portIndex = INPUT_INDEX;
215 param.codecColorIndex = 0;
216 std::vector<int8_t> inParam;
217 ObjectToVector(param, inParam);
218 std::vector<int8_t> outParam;
219 auto ret = g_component->GetParameter(OMX_IndexParamVideoBitrate, inParam, outParam);
220 ASSERT_NE(ret, HDF_SUCCESS);
221 }
222 /**
223 * @tc.number : SUB_Driver_Codec_GetParameter_0600
224 * @tc.name : testGetParameter005
225 * @tc.desc : When the index = OMX_IndexCodecVideoPortFormat, structure inParamStruct->portIndex = INPUT_INDEX,
226 inParamStruct->codecColorIndex = 0,Send command successful.
227 */
HWTEST_F(CodecComponentTestAdditional, testGetParameter005, Function | MediumTest | Level1)228 HWTEST_F(CodecComponentTestAdditional, testGetParameter005, Function | MediumTest | Level1)
229 {
230 ASSERT_TRUE(g_component != nullptr);
231 CodecVideoPortFormatParam param;
232 InitParam(param);
233 std::vector<int8_t> inParam;
234 ObjectToVector(param, inParam);
235 std::vector<int8_t> outParam;
236 auto ret = g_component->GetParameter(OMX_IndexParamVideoPortFormat, inParam, outParam);
237 ASSERT_EQ(ret, HDF_SUCCESS);
238 }
239 /**
240 * @tc.number : SUB_Driver_Codec_GetParameter_0700
241 * @tc.name : testGetParameter006
242 * @tc.desc : When the index = OMX_IndexCodecVideoPortFormat, structure inParamStruct->portIndex = OUTPUT_INDEX,
243 not initialize, send the command failed
244 */
HWTEST_F(CodecComponentTestAdditional, testGetParameter006, Function | MediumTest | Level2)245 HWTEST_F(CodecComponentTestAdditional, testGetParameter006, Function | MediumTest | Level2)
246 {
247 ASSERT_TRUE(g_component != nullptr);
248 CodecVideoPortFormatParam param;
249 param.portIndex = OUTPUT_INDEX;
250 std::vector<int8_t> inParam;
251 ObjectToVector(param, inParam);
252 std::vector<int8_t> outParam;
253 auto ret = g_component->GetParameter(OMX_IndexParamVideoPortFormat, inParam, outParam);
254 ASSERT_NE(ret, HDF_SUCCESS);
255 }
256 /**
257 * @tc.number : SUB_Driver_Codec_GetParameter_0800
258 * @tc.name : testGetParameter007
259 * @tc.desc : When the index = OMX_IndexParamVideoIntraRefresh,structure inParamStruct not initialize,
260 send the command failed
261 */
HWTEST_F(CodecComponentTestAdditional, testGetParameter007, Function | MediumTest | Level2)262 HWTEST_F(CodecComponentTestAdditional, testGetParameter007, Function | MediumTest | Level2)
263 {
264 int32_t ret;
265 std::vector<int8_t> inParam;
266 std::vector<int8_t> outParam;
267 ret = g_component->GetParameter(OMX_IndexParamVideoIntraRefresh, inParam, outParam);
268 ASSERT_NE(ret, HDF_SUCCESS);
269 }
270 /**
271 * @tc.number : SUB_Driver_Codec_GetParameter_0900
272 * @tc.name : testGetParameter008
273 * @tc.desc : When the index = OMX_IndexCodecVideoPortFormat, structure inParamStruct->portIndex = OUTPUT_INDEX,
274 send the command succeeds
275 */
HWTEST_F(CodecComponentTestAdditional, testGetParameter008, Function | MediumTest | Level1)276 HWTEST_F(CodecComponentTestAdditional, testGetParameter008, Function | MediumTest | Level1)
277 {
278 ASSERT_TRUE(g_component != nullptr);
279 CodecVideoPortFormatParam param;
280 InitParam(param);
281 param.portIndex = OUTPUT_INDEX;
282 std::vector<int8_t> inParam;
283 ObjectToVector(param, inParam);
284 std::vector<int8_t> outParam;
285 auto ret = g_component->GetParameter(OMX_IndexParamVideoPortFormat, inParam, outParam);
286 ASSERT_EQ(ret, HDF_SUCCESS);
287 }
288 /**
289 * @tc.number : SUB_Driver_Codec_SetParameter_0200
290 * @tc.name : testSetParameter001
291 * @tc.desc : When the index = OMX_IndexParamVideoPortFormat paramStruct. PortIndex = INPUT_INDEX,
292 send the command succeeds
293 */
HWTEST_F(CodecComponentTestAdditional, testSetParameter001, Function | MediumTest | Level1)294 HWTEST_F(CodecComponentTestAdditional, testSetParameter001, Function | MediumTest | Level1)
295 {
296 ASSERT_TRUE(g_component != nullptr);
297 int32_t ret;
298 CodecVideoPortFormatParam param;
299 InitParam(param);
300 param.portIndex = INPUT_INDEX;
301 std::vector<int8_t> paramVec;
302 ObjectToVector(param, paramVec);
303 ret = g_component->SetParameter(OMX_IndexParamVideoPortFormat, paramVec);
304 ASSERT_EQ(ret, HDF_SUCCESS);
305 }
306 /**
307 * @tc.number : SUB_Driver_Codec_SetParameter_0300
308 * @tc.name : testSetParameter002
309 * @tc.desc : When the index = OMX_IndexParamVideoPortFormat paramStruct. Size = 0,
310 send the command failure.
311 */
HWTEST_F(CodecComponentTestAdditional, testSetParameter002, Function | MediumTest | Level2)312 HWTEST_F(CodecComponentTestAdditional, testSetParameter002, Function | MediumTest | Level2)
313 {
314 ASSERT_TRUE(g_component != nullptr);
315 int32_t ret;
316 CodecVideoPortFormatParam param;
317 InitParam(param);
318 param.portIndex = INPUT_INDEX;
319 param.size = 0;
320 std::vector<int8_t> paramVec;
321 ObjectToVector(param, paramVec);
322 ret = g_component->SetParameter(OMX_IndexParamVideoPortFormat, paramVec);
323 ASSERT_NE(ret, HDF_SUCCESS);
324 }
325 /**
326 * @tc.number : SUB_Driver_Codec_SetParameter_0400
327 * @tc.name : testSetParameter003
328 * @tc.desc : When paramStruct. CodecColorIndex = 0, send the command succeeds.
329 */
HWTEST_F(CodecComponentTestAdditional, testSetParameter003, Function | MediumTest | Level1)330 HWTEST_F(CodecComponentTestAdditional, testSetParameter003, Function | MediumTest | Level1)
331 {
332 ASSERT_TRUE(g_component != nullptr);
333 int32_t ret;
334 CodecVideoPortFormatParam param;
335 InitParam(param);
336 param.portIndex = INPUT_INDEX;
337 param.codecColorIndex = 0;
338 std::vector<int8_t> paramVec;
339 ObjectToVector(param, paramVec);
340 ret = g_component->SetParameter(OMX_IndexParamVideoPortFormat, paramVec);
341 ASSERT_EQ(ret, HDF_SUCCESS);
342 }
343 /**
344 * @tc.number : SUB_Driver_Codec_SetParameter_0500
345 * @tc.name : testSetParameter004
346 * @tc.desc : When paramStruct->CodecColorFormat = 20, send the command succeeds.
347 */
HWTEST_F(CodecComponentTestAdditional, testSetParameter004, Function | MediumTest | Level1)348 HWTEST_F(CodecComponentTestAdditional, testSetParameter004, Function | MediumTest | Level1)
349 {
350 ASSERT_TRUE(g_component != nullptr);
351 int32_t ret;
352 CodecVideoPortFormatParam param;
353 InitParam(param);
354 param.portIndex = INPUT_INDEX;
355 param.codecColorFormat = 20;
356 std::vector<int8_t> paramVec;
357 ObjectToVector(param, paramVec);
358 ret = g_component->SetParameter(OMX_IndexParamVideoPortFormat, paramVec);
359 ASSERT_EQ(ret, HDF_SUCCESS);
360 }
361 /**
362 * @tc.number : SUB_Driver_Codec_SetParameter_0600
363 * @tc.name : testSetParameter005
364 * @tc.desc : When the index = OMX_IndexParamVideoPortFormat, paramStruct->CodecColorFormat = 0,
365 send the command succeeds.
366 */
HWTEST_F(CodecComponentTestAdditional, testSetParameter005, Function | MediumTest | Level1)367 HWTEST_F(CodecComponentTestAdditional, testSetParameter005, Function | MediumTest | Level1)
368 {
369 ASSERT_TRUE(g_component != nullptr);
370 int32_t ret;
371 CodecVideoPortFormatParam param;
372 InitParam(param);
373 param.portIndex = INPUT_INDEX;
374 param.codecColorFormat = 0;
375 std::vector<int8_t> paramVec;
376 ObjectToVector(param, paramVec);
377 ret = g_component->SetParameter(OMX_IndexParamVideoPortFormat, paramVec);
378 ASSERT_EQ(ret, HDF_SUCCESS);
379 }
380 /**
381 * @tc.number : SUB_Driver_Codec_SetParameter_0700
382 * @tc.name : testSetParameter006
383 * @tc.desc : When the index = OMX_IndexParamVideoQuantization, send the command failed.
384 */
HWTEST_F(CodecComponentTestAdditional, testSetParameter006, Function | MediumTest | Level2)385 HWTEST_F(CodecComponentTestAdditional, testSetParameter006, Function | MediumTest | Level2)
386 {
387 ASSERT_TRUE(g_component != nullptr);
388 int32_t ret;
389 CodecVideoPortFormatParam param;
390 InitParam(param);
391 param.portIndex = INPUT_INDEX;
392 std::vector<int8_t> paramVec;
393 ObjectToVector(param, paramVec);
394 ret = g_component->SetParameter(OMX_IndexParamVideoQuantization, paramVec);
395 ASSERT_NE(ret, HDF_SUCCESS);
396 }
397 /**
398 * @tc.number : SUB_Driver_Codec_GetConfig_0200
399 * @tc.name : testGetConfig001
400 * @tc.desc : If index = OMX_IndexConfigVideoBitrate and structure inParamStruct->portIndex = OUTPUT_INDEX,
401 the command is failed sent
402 */
HWTEST_F(CodecComponentTestAdditional, testGetConfig001, Function | MediumTest | Level1)403 HWTEST_F(CodecComponentTestAdditional, testGetConfig001, Function | MediumTest | Level1)
404 {
405 ASSERT_TRUE(g_component != nullptr);
406 CodecVideoPortFormatParam param;
407 InitParam(param);
408 param.portIndex = OUTPUT_INDEX;
409
410 std::vector<int8_t> inParam;
411 ObjectToVector(param, inParam);
412 std::vector<int8_t> outParam;
413 auto ret = g_component->GetConfig(OMX_IndexConfigVideoBitrate, inParam, outParam);
414 ASSERT_NE(ret, HDF_SUCCESS);
415 }
416 /**
417 * @tc.number : SUB_Driver_Codec_GetConfig_0300
418 * @tc.name : testGetConfig002
419 * @tc.desc : When the index = OMX_IndexParamVideoPortFormat, structure inParamStruct->portIndex = OUTPUT_INDEX,
420 send the command failed,not initialized.
421 */
HWTEST_F(CodecComponentTestAdditional, testGetConfig002, Function | MediumTest | Level2)422 HWTEST_F(CodecComponentTestAdditional, testGetConfig002, Function | MediumTest | Level2)
423 {
424 ASSERT_TRUE(g_component != nullptr);
425 CodecVideoPortFormatParam param;
426 param.portIndex = OUTPUT_INDEX;
427
428 std::vector<int8_t> inParam;
429 ObjectToVector(param, inParam);
430 std::vector<int8_t> outParam;
431 auto ret = g_component->GetConfig(OMX_IndexParamVideoPortFormat, inParam, outParam);
432 ASSERT_NE(ret, HDF_SUCCESS);
433 }
434 /**
435 * @tc.number : SUB_Driver_Codec_GetConfig_0400
436 * @tc.name : testGetConfig003
437 * @tc.desc : When index=OMX_IndexParamVideoBitrate, structure inParamStruct->portIndex=OUTPUT_INDEX,
438 sending command failed
439 */
HWTEST_F(CodecComponentTestAdditional, testGetConfig003, Function | MediumTest | Level2)440 HWTEST_F(CodecComponentTestAdditional, testGetConfig003, Function | MediumTest | Level2)
441 {
442 ASSERT_TRUE(g_component != nullptr);
443 CodecVideoPortFormatParam param;
444 InitParam(param);
445 param.portIndex = OUTPUT_INDEX;
446
447 std::vector<int8_t> inParam;
448 ObjectToVector(param, inParam);
449 std::vector<int8_t> outParam;
450 auto ret = g_component->GetConfig(OMX_IndexParamVideoBitrate, inParam, outParam);
451 ASSERT_NE(ret, HDF_SUCCESS);
452 }
453 /**
454 * @tc.number : SUB_Driver_Codec_GetConfig_0500
455 * @tc.name : testGetConfig004
456 * @tc.desc : When index=OMX_IndexParamVideoFastUpdate, Structure inParamStruct->portIndex=OUTPUT_INDEX,
457 sending command failed
458 */
HWTEST_F(CodecComponentTestAdditional, testGetConfig004, Function | MediumTest | Level2)459 HWTEST_F(CodecComponentTestAdditional, testGetConfig004, Function | MediumTest | Level2)
460 {
461 ASSERT_TRUE(g_component != nullptr);
462 CodecVideoPortFormatParam param;
463 InitParam(param);
464 param.portIndex = OUTPUT_INDEX;
465
466 std::vector<int8_t> inParam;
467 ObjectToVector(param, inParam);
468 std::vector<int8_t> outParam;
469 auto ret = g_component->GetConfig(OMX_IndexParamVideoFastUpdate, inParam, outParam);
470 ASSERT_NE(ret, HDF_SUCCESS);
471 }
472 /**
473 * @tc.number : SUB_Driver_Codec_GetConfig_0600
474 * @tc.name : testGetConfig005
475 * @tc.desc : When index=OMX_IndexParamVideoQuantization, structure inParamStruct->portIndex=OUTPUT_INDEX,
476 sending command failed
477 */
HWTEST_F(CodecComponentTestAdditional, testGetConfig005, Function | MediumTest | Level2)478 HWTEST_F(CodecComponentTestAdditional, testGetConfig005, Function | MediumTest | Level2)
479 {
480 ASSERT_TRUE(g_component != nullptr);
481 CodecVideoPortFormatParam param;
482 InitParam(param);
483 param.portIndex = OUTPUT_INDEX;
484
485 std::vector<int8_t> inParam;
486 ObjectToVector(param, inParam);
487 std::vector<int8_t> outParam;
488 auto ret = g_component->GetConfig(OMX_IndexParamVideoQuantization, inParam, outParam);
489 ASSERT_NE(ret, HDF_SUCCESS);
490 }
491 /**
492 * @tc.number : SUB_Driver_Codec_SetConfig_0300
493 * @tc.name : testSetConfig002
494 * @tc.desc : When index=OMX_IndexConfigVideoBitrate, structure inParamStruct->portIndex=INPUT_INDEX,
495 sending command failed
496 */
HWTEST_F(CodecComponentTestAdditional, testSetConfig002, Function | MediumTest | Level2)497 HWTEST_F(CodecComponentTestAdditional, testSetConfig002, Function | MediumTest | Level2)
498 {
499 ASSERT_TRUE(g_component != nullptr);
500 CodecVideoPortFormatParam param;
501 InitParam(param);
502 param.portIndex = INPUT_INDEX;
503
504 std::vector<int8_t> inParam;
505 ObjectToVector(param, inParam);
506 auto ret = g_component->SetConfig(OMX_IndexConfigVideoBitrate, inParam);
507 ASSERT_NE(ret, HDF_SUCCESS);
508 }
509 /**
510 * @tc.number : SUB_Driver_Codec_SetConfig_0400
511 * @tc.name : testSetConfig003
512 * @tc.desc : When index=OMX_IndexParamVideoQuantization, structure inParamStruct->portIndex=OUTPUT_INDEX,
513 sending command failed
514 */
HWTEST_F(CodecComponentTestAdditional, testSetConfig003, Function | MediumTest | Level2)515 HWTEST_F(CodecComponentTestAdditional, testSetConfig003, Function | MediumTest | Level2)
516 {
517 ASSERT_TRUE(g_component != nullptr);
518 CodecVideoPortFormatParam param;
519 InitParam(param);
520 param.portIndex = OUTPUT_INDEX;
521
522 std::vector<int8_t> inParam;
523 ObjectToVector(param, inParam);
524 auto ret = g_component->SetConfig(OMX_IndexParamVideoQuantization, inParam);
525 ASSERT_NE(ret, HDF_SUCCESS);
526 }
527 /**
528 * @tc.number : SUB_Driver_Codec_SetConfig_0500
529 * @tc.name : testSetConfig004
530 * @tc.desc : When index=OMX_IndexVideoStartUnused, Structure inParamStruct->portIndex=OUTPUT_INDEX,
531 sending command failed
532 */
HWTEST_F(CodecComponentTestAdditional, testSetConfig004, Function | MediumTest | Level2)533 HWTEST_F(CodecComponentTestAdditional, testSetConfig004, Function | MediumTest | Level2)
534 {
535 ASSERT_TRUE(g_component != nullptr);
536 CodecVideoPortFormatParam param;
537 InitParam(param);
538 param.portIndex = OUTPUT_INDEX;
539
540 std::vector<int8_t> inParam;
541 ObjectToVector(param, inParam);
542 auto ret = g_component->SetConfig(OMX_IndexVideoStartUnused, inParam);
543 ASSERT_NE(ret, HDF_SUCCESS);
544 }
545 /**
546 * @tc.number : SUB_Driver_Codec_SetConfig_0600
547 * @tc.name : testSetConfig005
548 * @tc.desc : When index=OMX_IndexCodecVideoPortFormat, Structure inParamStruct->portIndex=OUTPUT_INDEX,
549 not initialized,sending command failed.
550 */
HWTEST_F(CodecComponentTestAdditional, testSetConfig005, Function | MediumTest | Level2)551 HWTEST_F(CodecComponentTestAdditional, testSetConfig005, Function | MediumTest | Level2)
552 {
553 ASSERT_TRUE(g_component != nullptr);
554 CodecVideoPortFormatParam param;
555 param.portIndex = OUTPUT_INDEX;
556
557 std::vector<int8_t> inParam;
558 ObjectToVector(param, inParam);
559 auto ret = g_component->SetConfig(OMX_IndexParamVideoPortFormat, inParam);
560 ASSERT_NE(ret, HDF_SUCCESS);
561 }
562 /**
563 * @tc.number : SUB_Driver_Codec_SetConfig_0700
564 * @tc.name : testSetConfig006
565 * @tc.desc : When index=OMX_IndexParamVideoFastUpdate, Structure inParamStruct->portIndex=OUTPUT_INDEX,
566 sending command failed
567 */
HWTEST_F(CodecComponentTestAdditional, testSetConfig006, Function | MediumTest | Level2)568 HWTEST_F(CodecComponentTestAdditional, testSetConfig006, Function | MediumTest | Level2)
569 {
570 ASSERT_TRUE(g_component != nullptr);
571 CodecVideoPortFormatParam param;
572 InitParam(param);
573 param.portIndex = OUTPUT_INDEX;
574
575 std::vector<int8_t> inParam;
576 ObjectToVector(param, inParam);
577 auto ret = g_component->SetConfig(OMX_IndexParamVideoFastUpdate, inParam);
578 ASSERT_NE(ret, HDF_SUCCESS);
579 }
580 /**
581 * @tc.number : SUB_Driver_Codec_SetConfig_0800
582 * @tc.name : testSetConfig007
583 * @tc.desc : When index=OMX_IndexConfigVideoBitrate, structure inParamStruct->codecColorIndex=0,
584 command sent failed.
585 */
HWTEST_F(CodecComponentTestAdditional, testSetConfig007, Function | MediumTest | Level1)586 HWTEST_F(CodecComponentTestAdditional, testSetConfig007, Function | MediumTest | Level1)
587 {
588 ASSERT_TRUE(g_component != nullptr);
589 CodecVideoPortFormatParam param;
590 InitParam(param);
591 param.portIndex = OUTPUT_INDEX;
592 param.codecColorIndex = 0;
593
594 std::vector<int8_t> inParam;
595 ObjectToVector(param, inParam);
596 auto ret = g_component->SetConfig(OMX_IndexConfigVideoBitrate, inParam);
597 ASSERT_NE(ret, HDF_SUCCESS);
598 }
599 /**
600 * @tc.number : SUB_Driver_Codec_SetConfig_0900
601 * @tc.name : testSetConfig008
602 * @tc.desc : When index=OMX_IndexConfigVideoBitrate, structure inParamStruct->size=0, command sent failed.
603 */
HWTEST_F(CodecComponentTestAdditional, testSetConfig008, Function | MediumTest | Level1)604 HWTEST_F(CodecComponentTestAdditional, testSetConfig008, Function | MediumTest | Level1)
605 {
606 ASSERT_TRUE(g_component != nullptr);
607 CodecVideoPortFormatParam param;
608 InitParam(param);
609 param.portIndex = OUTPUT_INDEX;
610 param.size = 0;
611
612 std::vector<int8_t> inParam;
613 ObjectToVector(param, inParam);
614 auto ret = g_component->SetConfig(OMX_IndexConfigVideoBitrate, inParam);
615 ASSERT_NE(ret, HDF_SUCCESS);
616 }
617 /**
618 * @tc.number : SUB_Driver_Codec_SetConfig_1000
619 * @tc.name : testSetConfig009
620 * @tc.desc : When index=OMX_IndexConfigVideoBitrate, structure inParamStruct->codecColorFormat=0,
621 * command sent failed.
622 */
HWTEST_F(CodecComponentTestAdditional, testSetConfig009, Function | MediumTest | Level1)623 HWTEST_F(CodecComponentTestAdditional, testSetConfig009, Function | MediumTest | Level1)
624 {
625 ASSERT_TRUE(g_component != nullptr);
626 CodecVideoPortFormatParam param;
627 InitParam(param);
628 param.portIndex = OUTPUT_INDEX;
629 param.codecColorFormat = 0;
630
631 std::vector<int8_t> inParam;
632 ObjectToVector(param, inParam);
633 auto ret = g_component->SetConfig(OMX_IndexConfigVideoBitrate, inParam);
634 ASSERT_NE(ret, HDF_SUCCESS);
635 }
636
637 #ifdef SUPPORT_OMX
638 /**
639 * @tc.number : SUB_Driver_Codec_GetExtensionIndex_0200
640 * @tc.name : testGetExtensionIndex001
641 * @tc.desc : When the paramName is "OMX.Topaz.index.param.extended_video" and the indexType = 0,
642 * sending the command is successful.
643 */
HWTEST_F(CodecComponentTestAdditional, testGetExtensionIndex001, Function | MediumTest | Level1)644 HWTEST_F(CodecComponentTestAdditional, testGetExtensionIndex001, Function | MediumTest | Level1)
645 {
646 ASSERT_TRUE(g_component != nullptr);
647 uint32_t indexType = 0;
648 auto ret = g_component->GetExtensionIndex("OMX.Topaz.index.param.extended_video", indexType);
649 ASSERT_EQ(ret, HDF_SUCCESS);
650 }
651 /**
652 * @tc.number : SUB_Driver_Codec_GetExtensionIndex_0300
653 * @tc.name : testGetExtensionIndex002
654 * @tc.desc : Sending command failed when paramName is "" and indexType = 0.
655 */
HWTEST_F(CodecComponentTestAdditional, testGetExtensionIndex002, Function | MediumTest | Level2)656 HWTEST_F(CodecComponentTestAdditional, testGetExtensionIndex002, Function | MediumTest | Level2)
657 {
658 ASSERT_TRUE(g_component != nullptr);
659 uint32_t indexType = 0;
660 auto ret = g_component->GetExtensionIndex("", indexType);
661 ASSERT_NE(ret, HDF_SUCCESS);
662 }
663 /**
664 * @tc.number : SUB_Driver_Codec_GetExtensionIndex_0400
665 * @tc.name : testGetExtensionIndex003
666 * @tc.desc : When the paramName is "OMX.Topaz.index.param.extended_video" and the
667 * indexType = 0 Verify full width letters and symbols
668 */
HWTEST_F(CodecComponentTestAdditional, testGetExtensionIndex003, Function | MediumTest | Level2)669 HWTEST_F(CodecComponentTestAdditional, testGetExtensionIndex003, Function | MediumTest | Level2)
670 {
671 ASSERT_TRUE(g_component != nullptr);
672 uint32_t indexType = 0;
673 auto ret = g_component->GetExtensionIndex(
674 "OMX.Topaz.index.param.extended_video", indexType);
675 ASSERT_NE(ret, HDF_SUCCESS);
676 }
677 /**
678 * @tc.number : SUB_Driver_Codec_GetExtensionIndex_0500
679 * @tc.name : testGetExtensionIndex004
680 * @tc.desc : When the paramName is "!@#$%^&**" and the indexType = 0 Verify half width symbols
681 */
HWTEST_F(CodecComponentTestAdditional, testGetExtensionIndex004, Function | MediumTest | Level2)682 HWTEST_F(CodecComponentTestAdditional, testGetExtensionIndex004, Function | MediumTest | Level2)
683 {
684 ASSERT_TRUE(g_component != nullptr);
685 uint32_t indexType = 0;
686 auto ret = g_component->GetExtensionIndex("!@#$%^&**", indexType);
687 ASSERT_NE(ret, HDF_SUCCESS);
688 }
689 /**
690 * @tc.number : SUB_Driver_Codec_GetExtensionIndex_0600
691 * @tc.name : testGetExtensionIndex005
692 * @tc.desc : When the paramName is "!@#$%^&**" and the indexType = 0 Verify full width symbols
693 */
HWTEST_F(CodecComponentTestAdditional, testGetExtensionIndex005, Function | MediumTest | Level2)694 HWTEST_F(CodecComponentTestAdditional, testGetExtensionIndex005, Function | MediumTest | Level2)
695 {
696 ASSERT_TRUE(g_component != nullptr);
697 uint32_t indexType = 0;
698 auto ret = g_component->GetExtensionIndex("!@#$%^&**", indexType);
699 ASSERT_NE(ret, HDF_SUCCESS);
700 }
701 /**
702 * @tc.number : SUB_Driver_Codec_GetExtensionIndex_0700
703 * @tc.name : testGetExtensionIndex006
704 * @tc.desc : When the paramName is "12345" and the indexType = 0 Verify Half width Numbers
705 */
HWTEST_F(CodecComponentTestAdditional, testGetExtensionIndex006, Function | MediumTest | Level2)706 HWTEST_F(CodecComponentTestAdditional, testGetExtensionIndex006, Function | MediumTest | Level2)
707 {
708 ASSERT_TRUE(g_component != nullptr);
709 uint32_t indexType = 0;
710 auto ret = g_component->GetExtensionIndex("12345", indexType);
711 ASSERT_NE(ret, HDF_SUCCESS);
712 }
713 /**
714 * @tc.number : SUB_Driver_Codec_GetExtensionIndex_0800
715 * @tc.name : testGetExtensionIndex007
716 * @tc.desc : When the paramName is "12345MX.Topaz" and the indexType = 0 Verify half width numbers,
717 * half width letters, and half width symbols
718 */
HWTEST_F(CodecComponentTestAdditional, testGetExtensionIndex007, Function | MediumTest | Level2)719 HWTEST_F(CodecComponentTestAdditional, testGetExtensionIndex007, Function | MediumTest | Level2)
720 {
721 ASSERT_TRUE(g_component != nullptr);
722 uint32_t indexType = 0;
723 auto ret = g_component->GetExtensionIndex("12345MX.Topaz", indexType);
724 ASSERT_NE(ret, HDF_SUCCESS);
725 }
726 /**
727 * @tc.number : SUB_Driver_Codec_GetExtensionIndex_0900
728 * @tc.name : testGetExtensionIndex008
729 * @tc.desc : When the paramName is "!@#$%^&**OMX.Topaz" and the indexType = 0 Verify half width symbols and
730 * half width letters
731 */
HWTEST_F(CodecComponentTestAdditional, testGetExtensionIndex008, Function | MediumTest | Level2)732 HWTEST_F(CodecComponentTestAdditional, testGetExtensionIndex008, Function | MediumTest | Level2)
733 {
734 ASSERT_TRUE(g_component != nullptr);
735 uint32_t indexType = 0;
736 auto ret = g_component->GetExtensionIndex("!@#$%^&**OMX.Topaz", indexType);
737 ASSERT_NE(ret, HDF_SUCCESS);
738 }
739 /**
740 * @tc.number : SUB_Driver_Codec_GetExtensionIndex_1000
741 * @tc.name : testGetExtensionIndex009
742 * @tc.desc : When the paramName is "12345" and the indexType = 0 Verify full angle digits
743 */
HWTEST_F(CodecComponentTestAdditional, testGetExtensionIndex009, Function | MediumTest | Level2)744 HWTEST_F(CodecComponentTestAdditional, testGetExtensionIndex009, Function | MediumTest | Level2)
745 {
746 ASSERT_TRUE(g_component != nullptr);
747 uint32_t indexType = 0;
748 auto ret = g_component->GetExtensionIndex("12345", indexType);
749 ASSERT_NE(ret, HDF_SUCCESS);
750 }
751 /**
752 * @tc.number : SUB_Driver_Codec_GetExtensionIndex_1100
753 * @tc.name : testGetExtensionIndex010
754 * @tc.desc : When the paramName is "12345OMX.Topaz" and the indexType = 0 Verify full width digits,
755 * full width letters, and full width symbols
756 */
HWTEST_F(CodecComponentTestAdditional, testGetExtensionIndex010, Function | MediumTest | Level2)757 HWTEST_F(CodecComponentTestAdditional, testGetExtensionIndex010, Function | MediumTest | Level2)
758 {
759 ASSERT_TRUE(g_component != nullptr);
760 uint32_t indexType = 0;
761 auto ret = g_component->GetExtensionIndex("12345OMX.Topaz", indexType);
762 ASSERT_NE(ret, HDF_SUCCESS);
763 }
764 /**
765 * @tc.number : SUB_Driver_Codec_GetExtensionIndex_1200
766 * @tc.name : testGetExtensionIndex011
767 * @tc.desc : When the paramName is "12345!@#$%" and the indexType = 0 Verify full width digits and
768 * half width symbols
769 */
HWTEST_F(CodecComponentTestAdditional, testGetExtensionIndex011, Function | MediumTest | Level2)770 HWTEST_F(CodecComponentTestAdditional, testGetExtensionIndex011, Function | MediumTest | Level2)
771 {
772 ASSERT_TRUE(g_component != nullptr);
773 uint32_t indexType = 0;
774 auto ret = g_component->GetExtensionIndex("12345O!@#$%", indexType);
775 ASSERT_NE(ret, HDF_SUCCESS);
776 }
777 /**
778 * @tc.number : SUB_Driver_Codec_GetExtensionIndex_1300
779 * @tc.name : testGetExtensionIndex012
780 * @tc.desc : When the paramName is "12345!@#$" and the indexType = 0 Verify full width digits, full width
781 * symbols
782 */
HWTEST_F(CodecComponentTestAdditional, testGetExtensionIndex012, Function | MediumTest | Level2)783 HWTEST_F(CodecComponentTestAdditional, testGetExtensionIndex012, Function | MediumTest | Level2)
784 {
785 ASSERT_TRUE(g_component != nullptr);
786 uint32_t indexType = 0;
787 auto ret = g_component->GetExtensionIndex("12345!@#$", indexType);
788 ASSERT_NE(ret, HDF_SUCCESS);
789 }
790 /**
791 * @tc.number : SUB_Driver_Codec_GetExtensionIndex_1400
792 * @tc.name : testGetExtensionIndex013
793 * @tc.desc : When the paramName is "12345OMX.Topaz" and the indexType = 0 Verify full width numbers,
794 * half width letters, and half width symbols
795 */
HWTEST_F(CodecComponentTestAdditional, testGetExtensionIndex013, Function | MediumTest | Level2)796 HWTEST_F(CodecComponentTestAdditional, testGetExtensionIndex013, Function | MediumTest | Level2)
797 {
798 ASSERT_TRUE(g_component != nullptr);
799 uint32_t indexType = 0;
800 auto ret = g_component->GetExtensionIndex("12345OMX.Topaz", indexType);
801 ASSERT_NE(ret, HDF_SUCCESS);
802 }
803 /**
804 * @tc.number : SUB_Driver_Codec_GetExtensionIndex_1500
805 * @tc.name : testGetExtensionIndex014
806 * @tc.desc : When the paramName is "!@#$%OMX.Topaz" and the indexType = 0 Verify full width symbols,
807 * half width letters, and half width symbols
808 */
HWTEST_F(CodecComponentTestAdditional, testGetExtensionIndex014, Function | MediumTest | Level2)809 HWTEST_F(CodecComponentTestAdditional, testGetExtensionIndex014, Function | MediumTest | Level2)
810 {
811 ASSERT_TRUE(g_component != nullptr);
812 uint32_t indexType = 0;
813 auto ret = g_component->GetExtensionIndex("!@#$%OMX.Topaz", indexType);
814 ASSERT_NE(ret, HDF_SUCCESS);
815 }
816 /**
817 * @tc.number : SUB_Driver_Codec_GetExtensionIndex_1600
818 * @tc.name : testGetExtensionIndex015
819 * @tc.desc : When the paramName is "!@#$%OMX.Topaz" and the indexType = 0 Verify full width symbols and
820 * letters
821 */
HWTEST_F(CodecComponentTestAdditional, testGetExtensionIndex015, Function | MediumTest | Level2)822 HWTEST_F(CodecComponentTestAdditional, testGetExtensionIndex015, Function | MediumTest | Level2)
823 {
824 ASSERT_TRUE(g_component != nullptr);
825 uint32_t indexType = 0;
826 auto ret = g_component->GetExtensionIndex("!@#$%OMX.Topaz", indexType);
827 ASSERT_NE(ret, HDF_SUCCESS);
828 }
829 /**
830 * @tc.number : SUB_Driver_Codec_GetExtensionIndex_1700
831 * @tc.name : testGetExtensionIndex016
832 * @tc.desc : When the paramName is "12345OMX.Topaz" and the indexType = 0 Verify half width numbers,
833 * full width letters, and full width symbols
834 */
HWTEST_F(CodecComponentTestAdditional, testGetExtensionIndex016, Function | MediumTest | Level2)835 HWTEST_F(CodecComponentTestAdditional, testGetExtensionIndex016, Function | MediumTest | Level2)
836 {
837 ASSERT_TRUE(g_component != nullptr);
838 uint32_t indexType = 0;
839 auto ret = g_component->GetExtensionIndex("12345OMX.Topaz", indexType);
840 ASSERT_NE(ret, HDF_SUCCESS);
841 }
842 /**
843 * @tc.number : SUB_Driver_Codec_GetExtensionIndex_1800
844 * @tc.name : testGetExtensionIndex017
845 * @tc.desc : When the paramName is "12345!@#$%" and the indexType = 0 Verify half width numbers
846 * and half width symbols
847 */
HWTEST_F(CodecComponentTestAdditional, testGetExtensionIndex017, Function | MediumTest | Level2)848 HWTEST_F(CodecComponentTestAdditional, testGetExtensionIndex017, Function | MediumTest | Level2)
849 {
850 ASSERT_TRUE(g_component != nullptr);
851 uint32_t indexType = 0;
852 auto ret = g_component->GetExtensionIndex("12345!@#$%", indexType);
853 ASSERT_NE(ret, HDF_SUCCESS);
854 }
855 /**
856 * @tc.number : SUB_Driver_Codec_GetExtensionIndex_1900
857 * @tc.name : testGetExtensionIndex018
858 * @tc.desc : When the paramName is "12345!@#$%" and the indexType = 0 Verify half width numbers
859 * and full width symbols
860 */
HWTEST_F(CodecComponentTestAdditional, testGetExtensionIndex018, Function | MediumTest | Level2)861 HWTEST_F(CodecComponentTestAdditional, testGetExtensionIndex018, Function | MediumTest | Level2)
862 {
863 ASSERT_TRUE(g_component != nullptr);
864 uint32_t indexType = 0;
865 auto ret = g_component->GetExtensionIndex("12345!@#$%", indexType);
866 ASSERT_NE(ret, HDF_SUCCESS);
867 }
868 #endif
869 /**
870 * @tc.number : SUB_Driver_Codec_GetState_0200
871 * @tc.name : testGetState001
872 * @tc.desc : When the initial value of CodecStateType is CODEC_STATE_INVALID, does the function modify it.
873 */
HWTEST_F(CodecComponentTestAdditional, testGetState001, Function | MediumTest | Level1)874 HWTEST_F(CodecComponentTestAdditional, testGetState001, Function | MediumTest | Level1)
875 {
876 ASSERT_TRUE(g_component != nullptr);
877 CodecStateType state = CODEC_STATE_INVALID;
878 int32_t ret = g_component->GetState(state);
879 ASSERT_EQ(state, CODEC_STATE_LOADED);
880 ASSERT_EQ(ret, HDF_SUCCESS);
881 }
882 #ifdef SUPPORT_OMX
883 /**
884 * @tc.number : SUB_Driver_Codec_ComponentTunnelRequest_0200
885 * @tc.name : testComponentTunnelRequest001
886 * @tc.desc : When setting the component status to OMX_StateInvalid, input port=OUTPUT_INDEX, tunneledComp=1,
887 * tunneledPort=1,inTunnelSetup=CODEC_BUFFER_SUPPLY_INPUT, sending command failed.
888 */
HWTEST_F(CodecComponentTestAdditional, testComponentTunnelRequest001, Function | MediumTest | Level2)889 HWTEST_F(CodecComponentTestAdditional, testComponentTunnelRequest001, Function | MediumTest | Level2)
890 {
891 ASSERT_TRUE(g_component != nullptr);
892 std::vector<int8_t> cmdData;
893 auto ret = g_component->SendCommand(CODEC_COMMAND_STATE_SET, OMX_StateInvalid, cmdData);
894 ASSERT_EQ(ret, HDF_SUCCESS);
895 const int32_t tunneledComp = 1;
896 const uint32_t tunneledPort = 1;
897 OHOS::HDI::Codec::V3_0::CodecTunnelSetupType tunnelSetup;
898 tunnelSetup.supplier = OHOS::HDI::Codec::V3_0::CODEC_BUFFER_SUPPLY_INPUT;
899
900 ret = g_component->ComponentTunnelRequest(OUTPUT_INDEX, tunneledComp, tunneledPort, tunnelSetup, tunnelSetup);
901 ASSERT_NE(ret, HDF_SUCCESS);
902 }
903 /**
904 * @tc.number : SUB_Driver_Codec_ComponentTunnelRequest_0300
905 * @tc.name : testComponentTunnelRequest002
906 * @tc.desc : When setting the component status to OMX_StateIdle, input port=INPUT_INDEX, tunneledComp=1002,
907 * tunneledPort=101,inTunnelSetup=CODEC_BUFFER_SUPPLY_INPUT,Sending command failed.
908 */
HWTEST_F(CodecComponentTestAdditional, testComponentTunnelRequest002, Function | MediumTest | Level2)909 HWTEST_F(CodecComponentTestAdditional, testComponentTunnelRequest002, Function | MediumTest | Level2)
910 {
911 ASSERT_TRUE(g_component != nullptr);
912 std::vector<int8_t> cmdData;
913 auto ret = g_component->SendCommand(CODEC_COMMAND_STATE_SET, OMX_StateIdle, cmdData);
914 ASSERT_EQ(ret, HDF_SUCCESS);
915 const int32_t tunneledComp = 1002;
916 const uint32_t tunneledPort = 101;
917 OHOS::HDI::Codec::V3_0::CodecTunnelSetupType tunnelSetup;
918 tunnelSetup.supplier = OHOS::HDI::Codec::V3_0::CODEC_BUFFER_SUPPLY_INPUT;
919
920 ret = g_component->ComponentTunnelRequest(INPUT_INDEX, tunneledComp, tunneledPort, tunnelSetup, tunnelSetup);
921 ASSERT_NE(ret, HDF_SUCCESS);
922 }
923 /**
924 * @tc.number : SUB_Driver_Codec_ComponentTunnelRequest_0400
925 * @tc.name : testComponentTunnelRequest003
926 * @tc.desc : When setting the component status to OMX_ tatePause, input port=INPUT_INDEX, tunneledComp=1002,
927 * tunneledPort=101,inTunnelSetup=CODEC_BUFFER_SUPPLY_OUTPUT, sending command failed.
928 */
HWTEST_F(CodecComponentTestAdditional, testComponentTunnelRequest003, Function | MediumTest | Level2)929 HWTEST_F(CodecComponentTestAdditional, testComponentTunnelRequest003, Function | MediumTest | Level2)
930 {
931 ASSERT_TRUE(g_component != nullptr);
932 std::vector<int8_t> cmdData;
933 auto ret = g_component->SendCommand(CODEC_COMMAND_STATE_SET, OMX_StatePause, cmdData);
934 ASSERT_EQ(ret, HDF_SUCCESS);
935 const int32_t tunneledComp = 1002;
936 const uint32_t tunneledPort = 101;
937 OHOS::HDI::Codec::V3_0::CodecTunnelSetupType tunnelSetup;
938 tunnelSetup.supplier = OHOS::HDI::Codec::V3_0::CODEC_BUFFER_SUPPLY_OUTPUT;
939
940 ret = g_component->ComponentTunnelRequest(INPUT_INDEX, tunneledComp, tunneledPort, tunnelSetup, tunnelSetup);
941 ASSERT_NE(ret, HDF_SUCCESS);
942 }
943 /**
944 * @tc.number : SUB_Driver_Codec_ComponentTunnelRequest_0500
945 * @tc.name : testComponentTunnelRequest004
946 * @tc.desc : When setting the component status to OMX_StateWaitForResources, input port=OUTPUT_INDEX,
947 * tunneledComp=1002,tunneledPort=101, inTunnelSetup=CODEC_BUFFER_SUPPLY_OUTPUT, sending command failed.
948 */
HWTEST_F(CodecComponentTestAdditional, testComponentTunnelRequest004, Function | MediumTest | Level2)949 HWTEST_F(CodecComponentTestAdditional, testComponentTunnelRequest004, Function | MediumTest | Level2)
950 {
951 ASSERT_TRUE(g_component != nullptr);
952 std::vector<int8_t> cmdData;
953 auto ret = g_component->SendCommand(CODEC_COMMAND_STATE_SET, OMX_StateWaitForResources, cmdData);
954 ASSERT_EQ(ret, HDF_SUCCESS);
955 const int32_t tunneledComp = 1002;
956 const uint32_t tunneledPort = 101;
957 OHOS::HDI::Codec::V3_0::CodecTunnelSetupType tunnelSetup;
958 tunnelSetup.supplier = OHOS::HDI::Codec::V3_0::CODEC_BUFFER_SUPPLY_OUTPUT;
959
960 ret = g_component->ComponentTunnelRequest(OUTPUT_INDEX, tunneledComp, tunneledPort, tunnelSetup, tunnelSetup);
961 ASSERT_NE(ret, HDF_SUCCESS);
962 }
963 /**
964 * @tc.number : SUB_Driver_Codec_ComponentTunnelRequest_0600
965 * @tc.name : testComponentTunnelRequest005
966 * @tc.desc : When setting the component status to OMX_StateLoaded, input port=OUTPUT_INDEX,
967 * tunneledComp=1002,tunneledPort=101, inTunnelSetup=CODEC_BUFFER_SUPPLY_OUTPUT, sending command failed.
968 */
HWTEST_F(CodecComponentTestAdditional, testComponentTunnelRequest005, Function | MediumTest | Level2)969 HWTEST_F(CodecComponentTestAdditional, testComponentTunnelRequest005, Function | MediumTest | Level2)
970 {
971 ASSERT_TRUE(g_component != nullptr);
972 std::vector<int8_t> cmdData;
973 auto ret = g_component->SendCommand(CODEC_COMMAND_STATE_SET, OMX_StateLoaded, cmdData);
974 ASSERT_EQ(ret, HDF_SUCCESS);
975 const int32_t tunneledComp = 1002;
976 const uint32_t tunneledPort = 101;
977 OHOS::HDI::Codec::V3_0::CodecTunnelSetupType tunnelSetup;
978 tunnelSetup.supplier = OHOS::HDI::Codec::V3_0::CODEC_BUFFER_SUPPLY_OUTPUT;
979
980 ret = g_component->ComponentTunnelRequest(OUTPUT_INDEX, tunneledComp, tunneledPort, tunnelSetup, tunnelSetup);
981 ASSERT_NE(ret, HDF_SUCCESS);
982 }
983 /**
984 * @tc.number : SUB_Driver_Codec_ComponentTunnelRequest_0700
985 * @tc.name : testComponentTunnelRequest006
986 * @tc.desc : When setting the component status to OMX_StateExecuting, input port=OUTPUT_INDEX,
987 * tunneledComp=1002,tunneledPort=101, inTunnelSetup=CODEC_BUFFER_SUPPLY_OUTPUT, sending command failed.
988 */
HWTEST_F(CodecComponentTestAdditional, testComponentTunnelRequest006, Function | MediumTest | Level2)989 HWTEST_F(CodecComponentTestAdditional, testComponentTunnelRequest006, Function | MediumTest | Level2)
990 {
991 ASSERT_TRUE(g_component != nullptr);
992 std::vector<int8_t> cmdData;
993 auto ret = g_component->SendCommand(CODEC_COMMAND_STATE_SET, OMX_StateExecuting, cmdData);
994 ASSERT_EQ(ret, HDF_SUCCESS);
995 const int32_t tunneledComp = 1002;
996 const uint32_t tunneledPort = 101;
997 OHOS::HDI::Codec::V3_0::CodecTunnelSetupType tunnelSetup;
998 tunnelSetup.supplier = OHOS::HDI::Codec::V3_0::CODEC_BUFFER_SUPPLY_OUTPUT;
999
1000 ret = g_component->ComponentTunnelRequest(OUTPUT_INDEX, tunneledComp, tunneledPort, tunnelSetup, tunnelSetup);
1001 ASSERT_NE(ret, HDF_SUCCESS);
1002 }
1003 /**
1004 * @tc.number : SUB_Driver_Codec_ComponentTunnelRequest_0800
1005 * @tc.name : testComponentTunnelRequest007
1006 * @tc.desc : When setting the component status to OMX_StateKhronosExtensions, input port=OUTPUT_INDEX,
1007 * tunneledComp=1002,tunneledPort=101, inTunnelSetup=CODEC_BUFFER_SUPPLY_OUTPUT, sending command failed.
1008 */
HWTEST_F(CodecComponentTestAdditional, testComponentTunnelRequest007, Function | MediumTest | Level2)1009 HWTEST_F(CodecComponentTestAdditional, testComponentTunnelRequest007, Function | MediumTest | Level2)
1010 {
1011 ASSERT_TRUE(g_component != nullptr);
1012 std::vector<int8_t> cmdData;
1013 auto ret = g_component->SendCommand(CODEC_COMMAND_STATE_SET, OMX_StateKhronosExtensions, cmdData);
1014 ASSERT_EQ(ret, HDF_SUCCESS);
1015 const int32_t tunneledComp = 1002;
1016 const uint32_t tunneledPort = 101;
1017 OHOS::HDI::Codec::V3_0::CodecTunnelSetupType tunnelSetup;
1018 tunnelSetup.supplier = OHOS::HDI::Codec::V3_0::CODEC_BUFFER_SUPPLY_OUTPUT;
1019
1020 ret = g_component->ComponentTunnelRequest(OUTPUT_INDEX, tunneledComp, tunneledPort, tunnelSetup, tunnelSetup);
1021 ASSERT_NE(ret, HDF_SUCCESS);
1022 }
1023 /**
1024 * @tc.number : SUB_Driver_Codec_ComponentTunnelRequest_0900
1025 * @tc.name : testComponentTunnelRequest008
1026 * @tc.desc : When setting the component status to OMX_StateVendorStartUnused, input port=OUTPUT_INDEX,
1027 * tunneledComp=1002,tunneledPort=101, inTunnelSetup=CODEC_BUFFER_SUPPLY_OUTPUT, sending command failed.
1028 */
HWTEST_F(CodecComponentTestAdditional, testComponentTunnelRequest008, Function | MediumTest | Level2)1029 HWTEST_F(CodecComponentTestAdditional, testComponentTunnelRequest008, Function | MediumTest | Level2)
1030 {
1031 ASSERT_TRUE(g_component != nullptr);
1032 std::vector<int8_t> cmdData;
1033 auto ret = g_component->SendCommand(CODEC_COMMAND_STATE_SET, OMX_StateVendorStartUnused, cmdData);
1034 ASSERT_EQ(ret, HDF_SUCCESS);
1035 const int32_t tunneledComp = 1002;
1036 const uint32_t tunneledPort = 101;
1037 OHOS::HDI::Codec::V3_0::CodecTunnelSetupType tunnelSetup;
1038 tunnelSetup.supplier = OHOS::HDI::Codec::V3_0::CODEC_BUFFER_SUPPLY_OUTPUT;
1039
1040 ret = g_component->ComponentTunnelRequest(OUTPUT_INDEX, tunneledComp, tunneledPort, tunnelSetup, tunnelSetup);
1041 ASSERT_NE(ret, HDF_SUCCESS);
1042 }
1043 /**
1044 * @tc.number : SUB_Driver_Codec_ComponentTunnelRequest_1000
1045 * @tc.name : testComponentTunnelRequest009
1046 * @tc.desc : When setting the component status to OMX_StateMax, input port=OUTPUT_INDEX,
1047 * tunneledComp=1002,tunneledPort=101, inTunnelSetup=CODEC_BUFFER_SUPPLY_OUTPUT, sending command failed.
1048 */
HWTEST_F(CodecComponentTestAdditional, testComponentTunnelRequest009, Function | MediumTest | Level2)1049 HWTEST_F(CodecComponentTestAdditional, testComponentTunnelRequest009, Function | MediumTest | Level2)
1050 {
1051 ASSERT_TRUE(g_component != nullptr);
1052 std::vector<int8_t> cmdData;
1053 auto ret = g_component->SendCommand(CODEC_COMMAND_STATE_SET, OMX_StateMax, cmdData);
1054 ASSERT_EQ(ret, HDF_SUCCESS);
1055 const int32_t tunneledComp = 1002;
1056 const uint32_t tunneledPort = 101;
1057 OHOS::HDI::Codec::V3_0::CodecTunnelSetupType tunnelSetup;
1058 tunnelSetup.supplier = OHOS::HDI::Codec::V3_0::CODEC_BUFFER_SUPPLY_OUTPUT;
1059
1060 ret = g_component->ComponentTunnelRequest(OUTPUT_INDEX, tunneledComp, tunneledPort, tunnelSetup, tunnelSetup);
1061 ASSERT_NE(ret, HDF_SUCCESS);
1062 }
1063 /**
1064 * @tc.number : SUB_Driver_Codec_ComponentTunnelRequest_1100
1065 * @tc.name : testComponentTunnelRequest010
1066 * @tc.desc : When setting the component status to OMX_StateMax, input port=INPUT_INDEX,
1067 * tunneledComp=1002,tunneledPort=101, inTunnelSetup=CODEC_BUFFER_SUPPLY_UNSPECIFIED, sending command
1068 * failed.
1069 */
HWTEST_F(CodecComponentTestAdditional, testComponentTunnelRequest010, Function | MediumTest | Level2)1070 HWTEST_F(CodecComponentTestAdditional, testComponentTunnelRequest010, Function | MediumTest | Level2)
1071 {
1072 ASSERT_TRUE(g_component != nullptr);
1073 std::vector<int8_t> cmdData;
1074 auto ret = g_component->SendCommand(CODEC_COMMAND_STATE_SET, OMX_StateMax, cmdData);
1075 ASSERT_EQ(ret, HDF_SUCCESS);
1076 const int32_t tunneledComp = 1002;
1077 const uint32_t tunneledPort = 101;
1078 OHOS::HDI::Codec::V3_0::CodecTunnelSetupType tunnelSetup;
1079 tunnelSetup.supplier = OHOS::HDI::Codec::V3_0::CODEC_BUFFER_SUPPLY_UNSPECIFIED;
1080
1081 ret = g_component->ComponentTunnelRequest(INPUT_INDEX, tunneledComp, tunneledPort, tunnelSetup, tunnelSetup);
1082 ASSERT_NE(ret, HDF_SUCCESS);
1083 }
1084 /**
1085 * @tc.number : SUB_Driver_Codec_ComponentTunnelRequest_1200
1086 * @tc.name : testComponentTunnelRequest011
1087 * @tc.desc : When setting the component status to OMX_StateMax, input port=INPUT_INDEX,
1088 * tunneledComp=1002,tunneledPort=101, inTunnelSetup=CODEC_BUFFER_SUPPLY_KHRONOS_EXTENSIONS, sending
1089 * command failed.
1090 */
HWTEST_F(CodecComponentTestAdditional, testComponentTunnelRequest011, Function | MediumTest | Level2)1091 HWTEST_F(CodecComponentTestAdditional, testComponentTunnelRequest011, Function | MediumTest | Level2)
1092 {
1093 ASSERT_TRUE(g_component != nullptr);
1094 std::vector<int8_t> cmdData;
1095 auto ret = g_component->SendCommand(CODEC_COMMAND_STATE_SET, OMX_StateMax, cmdData);
1096 ASSERT_EQ(ret, HDF_SUCCESS);
1097 const int32_t tunneledComp = 1002;
1098 const uint32_t tunneledPort = 101;
1099 OHOS::HDI::Codec::V3_0::CodecTunnelSetupType tunnelSetup;
1100 tunnelSetup.supplier = OHOS::HDI::Codec::V3_0::CODEC_BUFFER_SUPPLY_KHRONOS_EXTENSIONS;
1101
1102 ret = g_component->ComponentTunnelRequest(INPUT_INDEX, tunneledComp, tunneledPort, tunnelSetup, tunnelSetup);
1103 ASSERT_NE(ret, HDF_SUCCESS);
1104 }
1105 /**
1106 * @tc.number : SUB_Driver_Codec_ComponentTunnelRequest_1300
1107 * @tc.name : testComponentTunnelRequest012
1108 * @tc.desc : When setting the component status to OMX_StateMax, input port=INPUT_INDEX,
1109 * tunneledComp=1002,tunneledPort=101, inTunnelSetup=CODEC_BUFFER_SUPPLY_VENDOR_START_UNUSED, sending
1110 * command failed.
1111 */
HWTEST_F(CodecComponentTestAdditional, testComponentTunnelRequest012, Function | MediumTest | Level2)1112 HWTEST_F(CodecComponentTestAdditional, testComponentTunnelRequest012, Function | MediumTest | Level2)
1113 {
1114 ASSERT_TRUE(g_component != nullptr);
1115 std::vector<int8_t> cmdData;
1116 auto ret = g_component->SendCommand(CODEC_COMMAND_STATE_SET, OMX_StateMax, cmdData);
1117 ASSERT_EQ(ret, HDF_SUCCESS);
1118 const int32_t tunneledComp = 1002;
1119 const uint32_t tunneledPort = 101;
1120 OHOS::HDI::Codec::V3_0::CodecTunnelSetupType tunnelSetup;
1121 tunnelSetup.supplier = OHOS::HDI::Codec::V3_0::CODEC_BUFFER_SUPPLY_VENDOR_START_UNUSED;
1122
1123 ret = g_component->ComponentTunnelRequest(INPUT_INDEX, tunneledComp, tunneledPort, tunnelSetup, tunnelSetup);
1124 ASSERT_NE(ret, HDF_SUCCESS);
1125 }
1126 /**
1127 * @tc.number : SUB_Driver_Codec_ComponentTunnelRequest_1400
1128 * @tc.name : testComponentTunnelRequest013
1129 * @tc.desc : When setting the component status to OMX_StateMax, input port=INPUT_INDEX,
1130 * tunneledComp=1002,tunneledPort=101, inTunnelSetup=CODEC_BUFFER_SUPPLY_MAX, sending command failed.
1131 */
HWTEST_F(CodecComponentTestAdditional, testComponentTunnelRequest013, Function | MediumTest | Level2)1132 HWTEST_F(CodecComponentTestAdditional, testComponentTunnelRequest013, Function | MediumTest | Level2)
1133 {
1134 ASSERT_TRUE(g_component != nullptr);
1135 std::vector<int8_t> cmdData;
1136 auto ret = g_component->SendCommand(CODEC_COMMAND_STATE_SET, OMX_StateMax, cmdData);
1137 ASSERT_EQ(ret, HDF_SUCCESS);
1138 const int32_t tunneledComp = 1002;
1139 const uint32_t tunneledPort = 101;
1140 OHOS::HDI::Codec::V3_0::CodecTunnelSetupType tunnelSetup;
1141 tunnelSetup.supplier = OHOS::HDI::Codec::V3_0::CODEC_BUFFER_SUPPLY_MAX;
1142
1143 ret = g_component->ComponentTunnelRequest(INPUT_INDEX, tunneledComp, tunneledPort, tunnelSetup, tunnelSetup);
1144 ASSERT_NE(ret, HDF_SUCCESS);
1145 }
1146 /**
1147 * @tc.number : SUB_Driver_Codec_ComponentTunnelRequest_1500
1148 * @tc.name : testComponentTunnelRequest014
1149 * @tc.desc : When setting the component status to OMX_StateMax, input port=OUTPUT_INDEX,
1150 * tunneledComp=1002,tunneledPort=101, inTunnelSetup=CODEC_BUFFER_SUPPLY_UNSPECIFIED, sending command
1151 * failed.
1152 */
HWTEST_F(CodecComponentTestAdditional, testComponentTunnelRequest014, Function | MediumTest | Level2)1153 HWTEST_F(CodecComponentTestAdditional, testComponentTunnelRequest014, Function | MediumTest | Level2)
1154 {
1155 ASSERT_TRUE(g_component != nullptr);
1156 std::vector<int8_t> cmdData;
1157 auto ret = g_component->SendCommand(CODEC_COMMAND_STATE_SET, OMX_StateMax, cmdData);
1158 ASSERT_EQ(ret, HDF_SUCCESS);
1159 const int32_t tunneledComp = 1002;
1160 const uint32_t tunneledPort = 101;
1161 OHOS::HDI::Codec::V3_0::CodecTunnelSetupType tunnelSetup;
1162 tunnelSetup.supplier = OHOS::HDI::Codec::V3_0::CODEC_BUFFER_SUPPLY_UNSPECIFIED;
1163
1164 ret = g_component->ComponentTunnelRequest(OUTPUT_INDEX, tunneledComp, tunneledPort, tunnelSetup, tunnelSetup);
1165 ASSERT_NE(ret, HDF_SUCCESS);
1166 }
1167 /**
1168 * @tc.number : SUB_Driver_Codec_ComponentTunnelRequest_1600
1169 * @tc.name : testComponentTunnelRequest015
1170 * @tc.desc : When setting the component status to OMX_StateMax, input port=OUTPUT_INDEX,
1171 * tunneledComp=1002,tunneledPort=101, inTunnelSetup=CODEC_BUFFER_SUPPLY_KHRONOS_EXTENSIONS, sending
1172 * command failed.
1173 */
HWTEST_F(CodecComponentTestAdditional, testComponentTunnelRequest015, Function | MediumTest | Level2)1174 HWTEST_F(CodecComponentTestAdditional, testComponentTunnelRequest015, Function | MediumTest | Level2)
1175 {
1176 ASSERT_TRUE(g_component != nullptr);
1177 std::vector<int8_t> cmdData;
1178 auto ret = g_component->SendCommand(CODEC_COMMAND_STATE_SET, OMX_StateMax, cmdData);
1179 ASSERT_EQ(ret, HDF_SUCCESS);
1180 const int32_t tunneledComp = 1002;
1181 const uint32_t tunneledPort = 101;
1182 OHOS::HDI::Codec::V3_0::CodecTunnelSetupType tunnelSetup;
1183 tunnelSetup.supplier = OHOS::HDI::Codec::V3_0::CODEC_BUFFER_SUPPLY_KHRONOS_EXTENSIONS;
1184
1185 ret = g_component->ComponentTunnelRequest(OUTPUT_INDEX, tunneledComp, tunneledPort, tunnelSetup, tunnelSetup);
1186 ASSERT_NE(ret, HDF_SUCCESS);
1187 }
1188 /**
1189 * @tc.number : SUB_Driver_Codec_ComponentTunnelRequest_1700
1190 * @tc.name : testComponentTunnelRequest016
1191 * @tc.desc : When setting the component status to OMX_StateMax, input port=OUTPUT_INDEX,
1192 * tunneledComp=1002,tunneledPort=101, inTunnelSetup=CODEC_BUFFER_SUPPLY_VENDOR_START_UNUSED, sending
1193 * command failed.
1194 */
HWTEST_F(CodecComponentTestAdditional, testComponentTunnelRequest016, Function | MediumTest | Level2)1195 HWTEST_F(CodecComponentTestAdditional, testComponentTunnelRequest016, Function | MediumTest | Level2)
1196 {
1197 ASSERT_TRUE(g_component != nullptr);
1198 std::vector<int8_t> cmdData;
1199 auto ret = g_component->SendCommand(CODEC_COMMAND_STATE_SET, OMX_StateMax, cmdData);
1200 ASSERT_EQ(ret, HDF_SUCCESS);
1201 const int32_t tunneledComp = 1002;
1202 const uint32_t tunneledPort = 101;
1203 OHOS::HDI::Codec::V3_0::CodecTunnelSetupType tunnelSetup;
1204 tunnelSetup.supplier = OHOS::HDI::Codec::V3_0::CODEC_BUFFER_SUPPLY_VENDOR_START_UNUSED;
1205
1206 ret = g_component->ComponentTunnelRequest(OUTPUT_INDEX, tunneledComp, tunneledPort, tunnelSetup, tunnelSetup);
1207 ASSERT_NE(ret, HDF_SUCCESS);
1208 }
1209 /**
1210 * @tc.number : SUB_Driver_Codec_ComponentTunnelRequest_1800
1211 * @tc.name : testComponentTunnelRequest017
1212 * @tc.desc : When setting the component status to OMX_StateMax, input port=OUTPUT_INDEX,
1213 * tunneledComp=1002,tunneledPort=101, inTunnelSetup=CODEC_BUFFER_SUPPLY_MAX, sending command failed.
1214 */
HWTEST_F(CodecComponentTestAdditional, testComponentTunnelRequest017, Function | MediumTest | Level2)1215 HWTEST_F(CodecComponentTestAdditional, testComponentTunnelRequest017, Function | MediumTest | Level2)
1216 {
1217 ASSERT_TRUE(g_component != nullptr);
1218 std::vector<int8_t> cmdData;
1219 auto ret = g_component->SendCommand(CODEC_COMMAND_STATE_SET, OMX_StateMax, cmdData);
1220 ASSERT_EQ(ret, HDF_SUCCESS);
1221 const int32_t tunneledComp = 1002;
1222 const uint32_t tunneledPort = 101;
1223 OHOS::HDI::Codec::V3_0::CodecTunnelSetupType tunnelSetup;
1224 tunnelSetup.supplier = OHOS::HDI::Codec::V3_0::CODEC_BUFFER_SUPPLY_MAX;
1225
1226 ret = g_component->ComponentTunnelRequest(OUTPUT_INDEX, tunneledComp, tunneledPort, tunnelSetup, tunnelSetup);
1227 ASSERT_NE(ret, HDF_SUCCESS);
1228 }
1229 #endif
1230
1231 /**
1232 * @tc.number : SUB_Driver_Codec_UseBuffer_0200
1233 * @tc.name : testUseBuffer001
1234 * @tc.desc : When setting the component status to CODEC_State_IDLE, portIndex=INPUT_INDEX,command sent successfully
1235 */
HWTEST_F(CodecComponentTestAdditional, testUseBuffer001, Function | MediumTest | Level1)1236 HWTEST_F(CodecComponentTestAdditional, testUseBuffer001, Function | MediumTest | Level1)
1237 {
1238 ASSERT_TRUE(g_component != nullptr);
1239 std::vector<int8_t> cmdData;
1240 auto ret = g_component->SendCommand(CODEC_COMMAND_STATE_SET, CODEC_STATE_IDLE, cmdData);
1241 ASSERT_EQ(ret, HDF_SUCCESS);
1242
1243 std::shared_ptr<OmxCodecBuffer> omxBuffer = std::make_shared<OmxCodecBuffer>();
1244 InitOmxCodecBuffer(*omxBuffer.get(), CODEC_BUFFER_TYPE_DYNAMIC_HANDLE);
1245
1246 OmxCodecBuffer outBuffer;
1247 ret = g_component->UseBuffer(INPUT_INDEX, *omxBuffer.get(), outBuffer);
1248 ASSERT_EQ(ret, HDF_SUCCESS);
1249 }
1250 /**
1251 * @tc.number : SUB_Driver_Codec_UseBuffer_0300
1252 * @tc.name : testUseBuffer002
1253 * @tc.desc : When setting the component status to CODEC_State_MAX, portIndex=INPUT_INDEX, sending command failed.
1254 */
HWTEST_F(CodecComponentTestAdditional, testUseBuffer002, Function | MediumTest | Level2)1255 HWTEST_F(CodecComponentTestAdditional, testUseBuffer002, Function | MediumTest | Level2)
1256 {
1257 ASSERT_TRUE(g_component != nullptr);
1258 std::vector<int8_t> cmdData;
1259 auto ret = g_component->SendCommand(CODEC_COMMAND_STATE_SET, CODEC_STATE_MAX, cmdData);
1260 #ifdef DISPLAY_COMMUNITY
1261 ASSERT_EQ(ret, HDF_SUCCESS);
1262 #else
1263 ASSERT_NE(ret, HDF_SUCCESS);
1264 #endif
1265
1266 std::shared_ptr<OmxCodecBuffer> omxBuffer = std::make_shared<OmxCodecBuffer>();
1267 InitOmxCodecBuffer(*omxBuffer.get(), CODEC_BUFFER_TYPE_HANDLE);
1268
1269 OmxCodecBuffer outBuffer;
1270 ret = g_component->UseBuffer(INPUT_INDEX, *omxBuffer.get(), outBuffer);
1271 ASSERT_NE(ret, HDF_SUCCESS);
1272 }
1273 /**
1274 * @tc.number : SUB_Driver_Codec_UseBuffer_0400
1275 * @tc.name : testUseBuffer003
1276 * @tc.desc : When setting the component status to CODEC_STATE_INVALID, portIndex=INPUT_INDEX,sending command failed.
1277 */
HWTEST_F(CodecComponentTestAdditional, testUseBuffer003, Function | MediumTest | Level2)1278 HWTEST_F(CodecComponentTestAdditional, testUseBuffer003, Function | MediumTest | Level2)
1279 {
1280 ASSERT_TRUE(g_component != nullptr);
1281 std::vector<int8_t> cmdData;
1282 auto ret = g_component->SendCommand(CODEC_COMMAND_STATE_SET, CODEC_STATE_INVALID, cmdData);
1283 ASSERT_EQ(ret, HDF_SUCCESS);
1284
1285 std::shared_ptr<OmxCodecBuffer> omxBuffer = std::make_shared<OmxCodecBuffer>();
1286 InitOmxCodecBuffer(*omxBuffer.get(), CODEC_BUFFER_TYPE_HANDLE);
1287
1288 OmxCodecBuffer outBuffer;
1289 ret = g_component->UseBuffer(INPUT_INDEX, *omxBuffer.get(), outBuffer);
1290 ASSERT_NE(ret, HDF_SUCCESS);
1291 }
1292 /**
1293 * @tc.number : SUB_Driver_Codec_UseBuffer_0500
1294 * @tc.name : testUseBuffer004
1295 * @tc.desc : setting the component status to CODEC_STATE_LOADED, portIndex=INPUT_INDEX,sending command failed.
1296 */
HWTEST_F(CodecComponentTestAdditional, testUseBuffer004, Function | MediumTest | Level2)1297 HWTEST_F(CodecComponentTestAdditional, testUseBuffer004, Function | MediumTest | Level2)
1298 {
1299 ASSERT_TRUE(g_component != nullptr);
1300 std::vector<int8_t> cmdData;
1301 auto ret = g_component->SendCommand(CODEC_COMMAND_STATE_SET, CODEC_STATE_LOADED, cmdData);
1302 ASSERT_EQ(ret, HDF_SUCCESS);
1303
1304 std::shared_ptr<OmxCodecBuffer> omxBuffer = std::make_shared<OmxCodecBuffer>();
1305 InitOmxCodecBuffer(*omxBuffer.get(), CODEC_BUFFER_TYPE_HANDLE);
1306
1307 OmxCodecBuffer outBuffer;
1308 ret = g_component->UseBuffer(INPUT_INDEX, *omxBuffer.get(), outBuffer);
1309 ASSERT_NE(ret, HDF_SUCCESS);
1310 }
1311 /**
1312 * @tc.number : SUB_Driver_Codec_UseBuffer_0600
1313 * @tc.name : testUseBuffer005
1314 * @tc.desc : setting the component status to CODEC_STATE_EXECUTING, portIndex=INPUT_INDEX,sending command failed.
1315 */
HWTEST_F(CodecComponentTestAdditional, testUseBuffer005, Function | MediumTest | Level2)1316 HWTEST_F(CodecComponentTestAdditional, testUseBuffer005, Function | MediumTest | Level2)
1317 {
1318 ASSERT_TRUE(g_component != nullptr);
1319 std::vector<int8_t> cmdData;
1320 auto ret = g_component->SendCommand(CODEC_COMMAND_STATE_SET, CODEC_STATE_EXECUTING, cmdData);
1321 ASSERT_EQ(ret, HDF_SUCCESS);
1322
1323 std::shared_ptr<OmxCodecBuffer> omxBuffer = std::make_shared<OmxCodecBuffer>();
1324 InitOmxCodecBuffer(*omxBuffer.get(), CODEC_BUFFER_TYPE_HANDLE);
1325
1326 OmxCodecBuffer outBuffer;
1327 ret = g_component->UseBuffer(INPUT_INDEX, *omxBuffer.get(), outBuffer);
1328 ASSERT_NE(ret, HDF_SUCCESS);
1329 }
1330 /**
1331 * @tc.number : SUB_Driver_Codec_UseBuffer_0700
1332 * @tc.name : testUseBuffer006
1333 * @tc.desc : setting the component status to CODEC_STATE_PAUSE, portIndex=INPUT_INDEX,sending command failed.
1334 */
HWTEST_F(CodecComponentTestAdditional, testUseBuffer006, Function | MediumTest | Level2)1335 HWTEST_F(CodecComponentTestAdditional, testUseBuffer006, Function | MediumTest | Level2)
1336 {
1337 ASSERT_TRUE(g_component != nullptr);
1338 std::vector<int8_t> cmdData;
1339 auto ret = g_component->SendCommand(CODEC_COMMAND_STATE_SET, CODEC_STATE_PAUSE, cmdData);
1340 ASSERT_EQ(ret, HDF_SUCCESS);
1341
1342 std::shared_ptr<OmxCodecBuffer> omxBuffer = std::make_shared<OmxCodecBuffer>();
1343 InitOmxCodecBuffer(*omxBuffer.get(), CODEC_BUFFER_TYPE_HANDLE);
1344
1345 OmxCodecBuffer outBuffer;
1346 ret = g_component->UseBuffer(INPUT_INDEX, *omxBuffer.get(), outBuffer);
1347 ASSERT_NE(ret, HDF_SUCCESS);
1348 }
1349 /**
1350 * @tc.number : SUB_Driver_Codec_UseBuffer_0800
1351 * @tc.name : testUseBuffer007
1352 * @tc.desc : setting the component status to CODEC_STATE_VENDOR_START_UNUSED, portIndex=INPUT_INDEX,
1353 * sending command failed.
1354 */
HWTEST_F(CodecComponentTestAdditional, testUseBuffer007, Function | MediumTest | Level2)1355 HWTEST_F(CodecComponentTestAdditional, testUseBuffer007, Function | MediumTest | Level2)
1356 {
1357 ASSERT_TRUE(g_component != nullptr);
1358 std::vector<int8_t> cmdData;
1359 auto ret = g_component->SendCommand(CODEC_COMMAND_STATE_SET, CODEC_STATE_VENDOR_START_UNUSED, cmdData);
1360 #ifdef DISPLAY_COMMUNITY
1361 ASSERT_EQ(ret, HDF_SUCCESS);
1362 #else
1363 ASSERT_NE(ret, HDF_SUCCESS);
1364 #endif
1365
1366 std::shared_ptr<OmxCodecBuffer> omxBuffer = std::make_shared<OmxCodecBuffer>();
1367 InitOmxCodecBuffer(*omxBuffer.get(), CODEC_BUFFER_TYPE_HANDLE);
1368
1369 OmxCodecBuffer outBuffer;
1370 ret = g_component->UseBuffer(INPUT_INDEX, *omxBuffer.get(), outBuffer);
1371 ASSERT_NE(ret, HDF_SUCCESS);
1372 }
1373 /**
1374 * @tc.number : SUB_Driver_Codec_UseBuffer_0900
1375 * @tc.name : testUseBuffer008
1376 * @tc.desc : setting the component status to CODEC_STATE_WAIT_FOR_RESOURCES, portIndex=INPUT_INDEX,
1377 * sending command failed.
1378 */
HWTEST_F(CodecComponentTestAdditional, testUseBuffer008, Function | MediumTest | Level2)1379 HWTEST_F(CodecComponentTestAdditional, testUseBuffer008, Function | MediumTest | Level2)
1380 {
1381 ASSERT_TRUE(g_component != nullptr);
1382 std::vector<int8_t> cmdData;
1383 auto ret = g_component->SendCommand(CODEC_COMMAND_STATE_SET, CODEC_STATE_WAIT_FOR_RESOURCES, cmdData);
1384 ASSERT_EQ(ret, HDF_SUCCESS);
1385
1386 std::shared_ptr<OmxCodecBuffer> omxBuffer = std::make_shared<OmxCodecBuffer>();
1387 InitOmxCodecBuffer(*omxBuffer.get(), CODEC_BUFFER_TYPE_HANDLE);
1388
1389 OmxCodecBuffer outBuffer;
1390 ret = g_component->UseBuffer(INPUT_INDEX, *omxBuffer.get(), outBuffer);
1391 ASSERT_NE(ret, HDF_SUCCESS);
1392 }
1393 /**
1394 * @tc.number : SUB_Driver_Codec_UseBuffer_1000
1395 * @tc.name : testUseBuffer009
1396 * @tc.desc : setting the component status to CODEC_STATE_IDLE, portIndex=OUTPUT_INDEX,sending command Success.
1397 */
HWTEST_F(CodecComponentTestAdditional, testUseBuffer009, Function | MediumTest | Level1)1398 HWTEST_F(CodecComponentTestAdditional, testUseBuffer009, Function | MediumTest | Level1)
1399 {
1400 ASSERT_TRUE(g_component != nullptr);
1401 std::vector<int8_t> cmdData;
1402 auto ret = g_component->SendCommand(CODEC_COMMAND_STATE_SET, CODEC_STATE_IDLE, cmdData);
1403 ASSERT_EQ(ret, HDF_SUCCESS);
1404
1405 std::shared_ptr<OmxCodecBuffer> omxBuffer = std::make_shared<OmxCodecBuffer>();
1406 InitOmxCodecBuffer(*omxBuffer.get(), CODEC_BUFFER_TYPE_DYNAMIC_HANDLE);
1407
1408 OmxCodecBuffer outBuffer;
1409 ret = g_component->UseBuffer(OUTPUT_INDEX, *omxBuffer.get(), outBuffer);
1410 ASSERT_EQ(ret, HDF_SUCCESS);
1411 }
1412 /**
1413 * @tc.number : SUB_Driver_Codec_AllocateBuffer_0200
1414 * @tc.name : testAllocateBuffer001
1415 * @tc.desc : Set component status to CODEC_State_IDLE, portIndex=INPUT_INDEX,command was successfully sent.
1416 */
HWTEST_F(CodecComponentTestAdditional, testAllocateBuffer001, Function | MediumTest | Level1)1417 HWTEST_F(CodecComponentTestAdditional, testAllocateBuffer001, Function | MediumTest | Level1)
1418 {
1419 ASSERT_TRUE(g_component != nullptr);
1420 std::vector<int8_t> cmdData;
1421 auto err = g_component->SendCommand(CODEC_COMMAND_STATE_SET, CODEC_STATE_IDLE, cmdData);
1422 ASSERT_EQ(err, HDF_SUCCESS);
1423
1424 struct OmxCodecBuffer allocBuffer;
1425 InitOmxCodecBuffer(allocBuffer, CODEC_BUFFER_TYPE_AVSHARE_MEM_FD);
1426 struct OmxCodecBuffer outBuffer;
1427 err = g_component->AllocateBuffer(INPUT_INDEX, allocBuffer, outBuffer);
1428 ASSERT_EQ(err, HDF_SUCCESS);
1429 err = g_component->FreeBuffer(INPUT_INDEX, outBuffer);
1430 ASSERT_EQ(err, HDF_SUCCESS);
1431 }
1432 /**
1433 * @tc.number : SUB_Driver_Codec_AllocateBuffer_0300
1434 * @tc.name : testAllocateBuffer002
1435 * @tc.desc : Set component status to CODEC_State_IDLE, portIndex=INPUT_INDEX,
1436 * The structure OmxCodecBuffer->bufferId=0,command was successfully sent.
1437 */
HWTEST_F(CodecComponentTestAdditional, testAllocateBuffer002, Function | MediumTest | Level1)1438 HWTEST_F(CodecComponentTestAdditional, testAllocateBuffer002, Function | MediumTest | Level1)
1439 {
1440 ASSERT_TRUE(g_component != nullptr);
1441 std::vector<int8_t> cmdData;
1442 auto err = g_component->SendCommand(CODEC_COMMAND_STATE_SET, CODEC_STATE_IDLE, cmdData);
1443 ASSERT_EQ(err, HDF_SUCCESS);
1444
1445 struct OmxCodecBuffer allocBuffer;
1446 InitOmxCodecBuffer(allocBuffer, CODEC_BUFFER_TYPE_AVSHARE_MEM_FD);
1447 allocBuffer.bufferId = 0;
1448 struct OmxCodecBuffer outBuffer;
1449 err = g_component->AllocateBuffer(INPUT_INDEX, allocBuffer, outBuffer);
1450 ASSERT_EQ(err, HDF_SUCCESS);
1451 err = g_component->FreeBuffer(INPUT_INDEX, outBuffer);
1452 ASSERT_EQ(err, HDF_SUCCESS);
1453 }
1454 /**
1455 * @tc.number : SUB_Driver_Codec_AllocateBuffer_0400
1456 * @tc.name : testAllocateBuffer003
1457 * @tc.desc : Set component status to CODEC_STATE_LOADED, portIndex=INPUT_INDEX,command was successfully sent.
1458 */
HWTEST_F(CodecComponentTestAdditional, testAllocateBuffer003, Function | MediumTest | Level1)1459 HWTEST_F(CodecComponentTestAdditional, testAllocateBuffer003, Function | MediumTest | Level1)
1460 {
1461 ASSERT_TRUE(g_component != nullptr);
1462 std::vector<int8_t> cmdData;
1463 auto err = g_component->SendCommand(CODEC_COMMAND_STATE_SET, CODEC_STATE_LOADED, cmdData);
1464 ASSERT_EQ(err, HDF_SUCCESS);
1465
1466 struct OmxCodecBuffer allocBuffer;
1467 InitOmxCodecBuffer(allocBuffer, CODEC_BUFFER_TYPE_AVSHARE_MEM_FD);
1468 struct OmxCodecBuffer outBuffer;
1469 err = g_component->AllocateBuffer(INPUT_INDEX, allocBuffer, outBuffer);
1470 #ifdef DISPLAY_COMMUNITY
1471 ASSERT_EQ(err, HDF_SUCCESS);
1472 #else
1473 ASSERT_NE(err, HDF_SUCCESS);
1474 #endif
1475 err = g_component->FreeBuffer(INPUT_INDEX, outBuffer);
1476 #ifdef DISPLAY_COMMUNITY
1477 ASSERT_EQ(err, HDF_SUCCESS);
1478 #else
1479 ASSERT_NE(err, HDF_SUCCESS);
1480 #endif
1481 }
1482 /**
1483 * @tc.number : SUB_Driver_Codec_AllocateBuffer_0500
1484 * @tc.name : testAllocateBuffer004
1485 * @tc.desc : Set component status to CODEC_STATE_IDLE, portIndex=OUTPUT_INDEX,command was successfully sent.
1486 */
HWTEST_F(CodecComponentTestAdditional, testAllocateBuffer004, Function | MediumTest | Level1)1487 HWTEST_F(CodecComponentTestAdditional, testAllocateBuffer004, Function | MediumTest | Level1)
1488 {
1489 ASSERT_TRUE(g_component != nullptr);
1490 std::vector<int8_t> cmdData;
1491 auto err = g_component->SendCommand(CODEC_COMMAND_STATE_SET, CODEC_STATE_IDLE, cmdData);
1492 ASSERT_EQ(err, HDF_SUCCESS);
1493
1494 struct OmxCodecBuffer allocBuffer;
1495 InitOmxCodecBuffer(allocBuffer, CODEC_BUFFER_TYPE_AVSHARE_MEM_FD);
1496 struct OmxCodecBuffer outBuffer;
1497 err = g_component->AllocateBuffer(OUTPUT_INDEX, allocBuffer, outBuffer);
1498 ASSERT_EQ(err, HDF_SUCCESS);
1499 err = g_component->FreeBuffer(OUTPUT_INDEX, outBuffer);
1500 ASSERT_EQ(err, HDF_SUCCESS);
1501 }
1502 /**
1503 * @tc.number : SUB_Driver_Codec_FreeBuffer_0200
1504 * @tc.name : testFreeBuffer001
1505 * @tc.desc : When the function is called directly for release, sending the command fails.
1506 */
HWTEST_F(CodecComponentTestAdditional, testFreeBuffer001, Function | MediumTest | Level2)1507 HWTEST_F(CodecComponentTestAdditional, testFreeBuffer001, Function | MediumTest | Level2)
1508 {
1509 ASSERT_TRUE(g_component != nullptr);
1510 struct OmxCodecBuffer omxBuffer;
1511 InitOmxCodecBuffer(omxBuffer, CODEC_BUFFER_TYPE_AVSHARE_MEM_FD);
1512 auto ret = g_component->FreeBuffer(OUTPUT_INDEX, omxBuffer);
1513 ASSERT_NE(ret, HDF_SUCCESS);
1514 }
1515 /**
1516 * @tc.number : SUB_Driver_Codec_FreeBuffer_0300
1517 * @tc.name : testFreeBuffer002
1518 * @tc.desc : Set the component status to OMX first_ StateLoaded, call the AllocateBuffer function to apply for space,
1519 * then call the FreeBuffer function,send the command successfully.
1520 */
HWTEST_F(CodecComponentTestAdditional, testFreeBuffer002, Function | MediumTest | Level1)1521 HWTEST_F(CodecComponentTestAdditional, testFreeBuffer002, Function | MediumTest | Level1)
1522 {
1523 ASSERT_TRUE(g_component != nullptr);
1524 std::vector<int8_t> cmdData;
1525 auto err = g_component->SendCommand(CODEC_COMMAND_STATE_SET, CODEC_STATE_IDLE, cmdData);
1526 ASSERT_EQ(err, HDF_SUCCESS);
1527
1528 struct OmxCodecBuffer allocBuffer;
1529 InitOmxCodecBuffer(allocBuffer, CODEC_BUFFER_TYPE_AVSHARE_MEM_FD);
1530 struct OmxCodecBuffer outBuffer;
1531 err = g_component->AllocateBuffer(INPUT_INDEX, allocBuffer, outBuffer);
1532 ASSERT_EQ(err, HDF_SUCCESS);
1533 err = g_component->FreeBuffer(INPUT_INDEX, outBuffer);
1534 ASSERT_EQ(err, HDF_SUCCESS);
1535 }
1536 /**
1537 * @tc.number : SUB_Driver_Codec_FreeBuffer_0400
1538 * @tc.name : testFreeBuffer003
1539 * @tc.desc : Structure OmxCodecBuffer->bufferId = BUFFER_ID_ERROR, sending command failed
1540 */
HWTEST_F(CodecComponentTestAdditional, testFreeBuffer003, Function | MediumTest | Level2)1541 HWTEST_F(CodecComponentTestAdditional, testFreeBuffer003, Function | MediumTest | Level2)
1542 {
1543 ASSERT_TRUE(g_component != nullptr);
1544 std::vector<int8_t> cmdData;
1545 auto err = g_component->SendCommand(CODEC_COMMAND_STATE_SET, CODEC_STATE_IDLE, cmdData);
1546 ASSERT_EQ(err, HDF_SUCCESS);
1547
1548 struct OmxCodecBuffer allocBuffer;
1549 InitOmxCodecBuffer(allocBuffer, CODEC_BUFFER_TYPE_AVSHARE_MEM_FD);
1550 struct OmxCodecBuffer outBuffer;
1551 err = g_component->AllocateBuffer(INPUT_INDEX, allocBuffer, outBuffer);
1552 ASSERT_EQ(err, HDF_SUCCESS);
1553 outBuffer.bufferId = BUFFER_ID_ERROR;
1554 err = g_component->FreeBuffer(INPUT_INDEX, outBuffer);
1555 ASSERT_NE(err, HDF_SUCCESS);
1556 }
1557 /**
1558 * @tc.number : SUB_Driver_Codec_FreeBuffer_0500
1559 * @tc.name : testFreeBuffer004
1560 * @tc.desc : Structure OmxCodecBuffer->size = 0, sending command success
1561 */
HWTEST_F(CodecComponentTestAdditional, testFreeBuffer004, Function | MediumTest | Level1)1562 HWTEST_F(CodecComponentTestAdditional, testFreeBuffer004, Function | MediumTest | Level1)
1563 {
1564 ASSERT_TRUE(g_component != nullptr);
1565 std::vector<int8_t> cmdData;
1566 auto err = g_component->SendCommand(CODEC_COMMAND_STATE_SET, CODEC_STATE_IDLE, cmdData);
1567 ASSERT_EQ(err, HDF_SUCCESS);
1568
1569 struct OmxCodecBuffer allocBuffer;
1570 InitOmxCodecBuffer(allocBuffer, CODEC_BUFFER_TYPE_AVSHARE_MEM_FD);
1571 struct OmxCodecBuffer outBuffer;
1572 err = g_component->AllocateBuffer(INPUT_INDEX, allocBuffer, outBuffer);
1573 ASSERT_EQ(err, HDF_SUCCESS);
1574 outBuffer.size = 0;
1575 err = g_component->FreeBuffer(INPUT_INDEX, outBuffer);
1576 ASSERT_EQ(err, HDF_SUCCESS);
1577 }
1578 /**
1579 * @tc.number : SUB_Driver_Codec_FreeBuffer_0600
1580 * @tc.name : testFreeBuffer005
1581 * @tc.desc : Structure OmxCodecBuffer->bufferType=CODEC_BUFFER_TYPE_AVSHARE_MEM_FD,command sent successfully.
1582 */
HWTEST_F(CodecComponentTestAdditional, testFreeBuffer005, Function | MediumTest | Level1)1583 HWTEST_F(CodecComponentTestAdditional, testFreeBuffer005, Function | MediumTest | Level1)
1584 {
1585 ASSERT_TRUE(g_component != nullptr);
1586 std::vector<int8_t> cmdData;
1587 auto err = g_component->SendCommand(CODEC_COMMAND_STATE_SET, CODEC_STATE_IDLE, cmdData);
1588 ASSERT_EQ(err, HDF_SUCCESS);
1589
1590 struct OmxCodecBuffer allocBuffer;
1591 InitOmxCodecBuffer(allocBuffer, CODEC_BUFFER_TYPE_AVSHARE_MEM_FD);
1592 struct OmxCodecBuffer outBuffer;
1593 err = g_component->AllocateBuffer(INPUT_INDEX, allocBuffer, outBuffer);
1594 ASSERT_EQ(err, HDF_SUCCESS);
1595 outBuffer.bufferType = CODEC_BUFFER_TYPE_AVSHARE_MEM_FD;
1596 err = g_component->FreeBuffer(INPUT_INDEX, outBuffer);
1597 ASSERT_EQ(err, HDF_SUCCESS);
1598 }
1599 /**
1600 * @tc.number : SUB_Driver_Codec_FreeBuffer_0700
1601 * @tc.name : testFreeBuffer006
1602 * @tc.desc : The structure OmxCodecBuffer->allocLen = 0,the command was successfully sent.
1603 */
HWTEST_F(CodecComponentTestAdditional, testFreeBuffer006, Function | MediumTest | Level1)1604 HWTEST_F(CodecComponentTestAdditional, testFreeBuffer006, Function | MediumTest | Level1)
1605 {
1606 ASSERT_TRUE(g_component != nullptr);
1607 std::vector<int8_t> cmdData;
1608 auto err = g_component->SendCommand(CODEC_COMMAND_STATE_SET, CODEC_STATE_IDLE, cmdData);
1609 ASSERT_EQ(err, HDF_SUCCESS);
1610
1611 struct OmxCodecBuffer allocBuffer;
1612 InitOmxCodecBuffer(allocBuffer, CODEC_BUFFER_TYPE_AVSHARE_MEM_FD);
1613 struct OmxCodecBuffer outBuffer;
1614 err = g_component->AllocateBuffer(INPUT_INDEX, allocBuffer, outBuffer);
1615 ASSERT_EQ(err, HDF_SUCCESS);
1616 outBuffer.allocLen = 0;
1617 err = g_component->FreeBuffer(INPUT_INDEX, outBuffer);
1618 ASSERT_EQ(err, HDF_SUCCESS);
1619 }
1620 /**
1621 * @tc.number : SUB_Driver_Codec_FreeBuffer_0800
1622 * @tc.name : testFreeBuffer007
1623 * @tc.desc : The structure OmxCodecBuffer->filledLen = 0,the command was successfully sent.
1624 */
HWTEST_F(CodecComponentTestAdditional, testFreeBuffer007, Function | MediumTest | Level1)1625 HWTEST_F(CodecComponentTestAdditional, testFreeBuffer007, Function | MediumTest | Level1)
1626 {
1627 ASSERT_TRUE(g_component != nullptr);
1628 std::vector<int8_t> cmdData;
1629 auto err = g_component->SendCommand(CODEC_COMMAND_STATE_SET, CODEC_STATE_IDLE, cmdData);
1630 ASSERT_EQ(err, HDF_SUCCESS);
1631
1632 struct OmxCodecBuffer allocBuffer;
1633 InitOmxCodecBuffer(allocBuffer, CODEC_BUFFER_TYPE_AVSHARE_MEM_FD);
1634 struct OmxCodecBuffer outBuffer;
1635 err = g_component->AllocateBuffer(INPUT_INDEX, allocBuffer, outBuffer);
1636 ASSERT_EQ(err, HDF_SUCCESS);
1637 outBuffer.filledLen = 0;
1638 err = g_component->FreeBuffer(INPUT_INDEX, outBuffer);
1639 ASSERT_EQ(err, HDF_SUCCESS);
1640 }
1641 /**
1642 * @tc.number : SUB_Driver_Codec_FreeBuffer_0900
1643 * @tc.name : testFreeBuffer008
1644 * @tc.desc : The structure OmxCodecBuffer->type = READ_WRITE_TYPE,the command was successfully sent.
1645 */
HWTEST_F(CodecComponentTestAdditional, testFreeBuffer008, Function | MediumTest | Level1)1646 HWTEST_F(CodecComponentTestAdditional, testFreeBuffer008, Function | MediumTest | Level1)
1647 {
1648 ASSERT_TRUE(g_component != nullptr);
1649 std::vector<int8_t> cmdData;
1650 auto err = g_component->SendCommand(CODEC_COMMAND_STATE_SET, CODEC_STATE_IDLE, cmdData);
1651 ASSERT_EQ(err, HDF_SUCCESS);
1652
1653 struct OmxCodecBuffer allocBuffer;
1654 InitOmxCodecBuffer(allocBuffer, CODEC_BUFFER_TYPE_AVSHARE_MEM_FD);
1655 struct OmxCodecBuffer outBuffer;
1656 err = g_component->AllocateBuffer(INPUT_INDEX, allocBuffer, outBuffer);
1657 ASSERT_EQ(err, HDF_SUCCESS);
1658 outBuffer.type = READ_WRITE_TYPE;
1659 err = g_component->FreeBuffer(INPUT_INDEX, outBuffer);
1660 ASSERT_EQ(err, HDF_SUCCESS);
1661 }
1662 /**
1663 * @tc.number : SUB_Driver_Codec_FreeBuffer_1000
1664 * @tc.name : testFreeBuffer009
1665 * @tc.desc : The structure OmxCodecBuffer->type = READ_ONLY_TYPE,the command was successfully sent.
1666 */
HWTEST_F(CodecComponentTestAdditional, testFreeBuffer009, Function | MediumTest | Level1)1667 HWTEST_F(CodecComponentTestAdditional, testFreeBuffer009, Function | MediumTest | Level1)
1668 {
1669 ASSERT_TRUE(g_component != nullptr);
1670 std::vector<int8_t> cmdData;
1671 auto err = g_component->SendCommand(CODEC_COMMAND_STATE_SET, CODEC_STATE_IDLE, cmdData);
1672 ASSERT_EQ(err, HDF_SUCCESS);
1673
1674 struct OmxCodecBuffer allocBuffer;
1675 InitOmxCodecBuffer(allocBuffer, CODEC_BUFFER_TYPE_AVSHARE_MEM_FD);
1676 struct OmxCodecBuffer outBuffer;
1677 err = g_component->AllocateBuffer(INPUT_INDEX, allocBuffer, outBuffer);
1678 ASSERT_EQ(err, HDF_SUCCESS);
1679 outBuffer.type = READ_ONLY_TYPE;
1680 err = g_component->FreeBuffer(INPUT_INDEX, outBuffer);
1681 ASSERT_EQ(err, HDF_SUCCESS);
1682 }
1683 /**
1684 * @tc.number : SUB_Driver_Codec_FreeBuffer_1100
1685 * @tc.name : testFreeBuffer010
1686 * @tc.desc : Set the component status to OMX_StateExecuting
1687 */
HWTEST_F(CodecComponentTestAdditional, testFreeBuffer010, Function | MediumTest | Level1)1688 HWTEST_F(CodecComponentTestAdditional, testFreeBuffer010, Function | MediumTest | Level1)
1689 {
1690 ASSERT_TRUE(g_component != nullptr);
1691 std::vector<int8_t> cmdData;
1692 auto err = g_component->SendCommand(CODEC_COMMAND_STATE_SET, OMX_StateExecuting, cmdData);
1693 ASSERT_EQ(err, HDF_SUCCESS);
1694
1695 struct OmxCodecBuffer allocBuffer;
1696 InitOmxCodecBuffer(allocBuffer, CODEC_BUFFER_TYPE_AVSHARE_MEM_FD);
1697 struct OmxCodecBuffer outBuffer;
1698 err = g_component->AllocateBuffer(INPUT_INDEX, allocBuffer, outBuffer);
1699 #ifdef DISPLAY_COMMUNITY
1700 ASSERT_EQ(err, HDF_SUCCESS);
1701 #else
1702 ASSERT_NE(err, HDF_SUCCESS);
1703 #endif
1704 err = g_component->FreeBuffer(INPUT_INDEX, outBuffer);
1705 #ifdef DISPLAY_COMMUNITY
1706 ASSERT_EQ(err, HDF_SUCCESS);
1707 #else
1708 ASSERT_NE(err, HDF_SUCCESS);
1709 #endif
1710 }
1711 /**
1712 * @tc.number : SUB_Driver_Codec_EmptyThisBuffer_0200
1713 * @tc.name : testEmptyThisBuffer001
1714 * @tc.desc : Set the component status to OMX_StateLoaded
1715 */
HWTEST_F(CodecComponentTestAdditional, testEmptyThisBuffer001, Function | MediumTest | Level2)1716 HWTEST_F(CodecComponentTestAdditional, testEmptyThisBuffer001, Function | MediumTest | Level2)
1717 {
1718 ASSERT_TRUE(g_component != nullptr);
1719 std::vector<int8_t> cmdData;
1720 auto err = g_component->SendCommand(CODEC_COMMAND_STATE_SET, OMX_StateLoaded, cmdData);
1721 ASSERT_EQ(err, HDF_SUCCESS);
1722 struct OmxCodecBuffer omxBuffer;
1723 InitOmxCodecBuffer(omxBuffer, CODEC_BUFFER_TYPE_AVSHARE_MEM_FD);
1724 auto ret = g_component->EmptyThisBuffer(omxBuffer);
1725 ASSERT_NE(ret, HDF_SUCCESS);
1726 }
1727 /**
1728 * @tc.number : SUB_Driver_Codec_EmptyThisBuffer_0300
1729 * @tc.name : testEmptyThisBuffer002
1730 * @tc.desc : Set component status to OMX_StateExecuting, structure OmxCodecBuffer->bufferId=BUFFER_ID_ERROR
1731 */
HWTEST_F(CodecComponentTestAdditional, testEmptyThisBuffer002, Function | MediumTest | Level2)1732 HWTEST_F(CodecComponentTestAdditional, testEmptyThisBuffer002, Function | MediumTest | Level2)
1733 {
1734 ASSERT_TRUE(g_component != nullptr);
1735 std::vector<int8_t> cmdData;
1736 auto err = g_component->SendCommand(CODEC_COMMAND_STATE_SET, OMX_StateExecuting, cmdData);
1737 ASSERT_EQ(err, HDF_SUCCESS);
1738 struct OmxCodecBuffer omxBuffer;
1739 InitOmxCodecBuffer(omxBuffer, CODEC_BUFFER_TYPE_AVSHARE_MEM_FD);
1740 omxBuffer.bufferId = BUFFER_ID_ERROR;
1741 auto ret = g_component->EmptyThisBuffer(omxBuffer);
1742 ASSERT_NE(ret, HDF_SUCCESS);
1743 }
1744 /**
1745 * @tc.number : SUB_Driver_Codec_EmptyThisBuffer_0400
1746 * @tc.name : testEmptyThisBuffer003
1747 * @tc.desc : Set component status to OMX_StateIdle
1748 */
HWTEST_F(CodecComponentTestAdditional, testEmptyThisBuffer003, Function | MediumTest | Level2)1749 HWTEST_F(CodecComponentTestAdditional, testEmptyThisBuffer003, Function | MediumTest | Level2)
1750 {
1751 ASSERT_TRUE(g_component != nullptr);
1752 std::vector<int8_t> cmdData;
1753 auto err = g_component->SendCommand(CODEC_COMMAND_STATE_SET, OMX_StateIdle, cmdData);
1754 ASSERT_EQ(err, HDF_SUCCESS);
1755 struct OmxCodecBuffer omxBuffer;
1756 InitOmxCodecBuffer(omxBuffer, CODEC_BUFFER_TYPE_AVSHARE_MEM_FD);
1757 auto ret = g_component->EmptyThisBuffer(omxBuffer);
1758 ASSERT_NE(ret, HDF_SUCCESS);
1759 }
1760 /**
1761 * @tc.number : SUB_Driver_Codec_EmptyThisBuffer_0500
1762 * @tc.name : testEmptyThisBuffer004
1763 * @tc.desc : Set component status to OMX_StateInvalid
1764 */
HWTEST_F(CodecComponentTestAdditional, testEmptyThisBuffer004, Function | MediumTest | Level2)1765 HWTEST_F(CodecComponentTestAdditional, testEmptyThisBuffer004, Function | MediumTest | Level2)
1766 {
1767 ASSERT_TRUE(g_component != nullptr);
1768 std::vector<int8_t> cmdData;
1769 auto err = g_component->SendCommand(CODEC_COMMAND_STATE_SET, OMX_StateInvalid, cmdData);
1770 ASSERT_EQ(err, HDF_SUCCESS);
1771 struct OmxCodecBuffer omxBuffer;
1772 InitOmxCodecBuffer(omxBuffer, CODEC_BUFFER_TYPE_AVSHARE_MEM_FD);
1773 auto ret = g_component->EmptyThisBuffer(omxBuffer);
1774 ASSERT_NE(ret, HDF_SUCCESS);
1775 }
1776 /**
1777 * @tc.number : SUB_Driver_Codec_EmptyThisBuffer_0600
1778 * @tc.name : testEmptyThisBuffer005
1779 * @tc.desc : Set component status to OMX_StateWaitForResources
1780 */
HWTEST_F(CodecComponentTestAdditional, testEmptyThisBuffer005, Function | MediumTest | Level2)1781 HWTEST_F(CodecComponentTestAdditional, testEmptyThisBuffer005, Function | MediumTest | Level2)
1782 {
1783 ASSERT_TRUE(g_component != nullptr);
1784 std::vector<int8_t> cmdData;
1785 auto err = g_component->SendCommand(CODEC_COMMAND_STATE_SET, OMX_StateWaitForResources, cmdData);
1786 ASSERT_EQ(err, HDF_SUCCESS);
1787 struct OmxCodecBuffer omxBuffer;
1788 InitOmxCodecBuffer(omxBuffer, CODEC_BUFFER_TYPE_AVSHARE_MEM_FD);
1789 auto ret = g_component->EmptyThisBuffer(omxBuffer);
1790 ASSERT_NE(ret, HDF_SUCCESS);
1791 }
1792 /**
1793 * @tc.number : SUB_Driver_Codec_FillThisBuffer_0200
1794 * @tc.name : testFillThisBuffer001
1795 * @tc.desc : Set component status to OMX_StatePause,structure OmxCodecBuffer->bufferType=CODEC_BUFFER_TYPE_INVALID
1796 */
HWTEST_F(CodecComponentTestAdditional, testFillThisBuffer001, Function | MediumTest | Level2)1797 HWTEST_F(CodecComponentTestAdditional, testFillThisBuffer001, Function | MediumTest | Level2)
1798 {
1799 ASSERT_TRUE(g_component != nullptr);
1800 std::vector<int8_t> cmdData;
1801 auto err = g_component->SendCommand(CODEC_COMMAND_STATE_SET, OMX_StatePause, cmdData);
1802 ASSERT_EQ(err, HDF_SUCCESS);
1803 struct OmxCodecBuffer omxBuffer;
1804 InitOmxCodecBuffer(omxBuffer, CODEC_BUFFER_TYPE_AVSHARE_MEM_FD);
1805 omxBuffer.bufferType = CODEC_BUFFER_TYPE_INVALID;
1806 auto ret = g_component->FillThisBuffer(omxBuffer);
1807 ASSERT_NE(ret, HDF_SUCCESS);
1808 }
1809 /**
1810 * @tc.number : SUB_Driver_Codec_FillThisBuffer_0300
1811 * @tc.name : testFillThisBuffer002
1812 * @tc.desc : Set component status to OMX_StateExecuting,
1813 * structure OmxCodecBuffer->bufferType=CODEC_BUFFER_TYPE_INVALID
1814 */
HWTEST_F(CodecComponentTestAdditional, testFillThisBuffer002, Function | MediumTest | Level2)1815 HWTEST_F(CodecComponentTestAdditional, testFillThisBuffer002, Function | MediumTest | Level2)
1816 {
1817 ASSERT_TRUE(g_component != nullptr);
1818 std::vector<int8_t> cmdData;
1819 auto err = g_component->SendCommand(CODEC_COMMAND_STATE_SET, OMX_StateExecuting, cmdData);
1820 ASSERT_EQ(err, HDF_SUCCESS);
1821 struct OmxCodecBuffer omxBuffer;
1822 InitOmxCodecBuffer(omxBuffer, CODEC_BUFFER_TYPE_AVSHARE_MEM_FD);
1823 omxBuffer.bufferType = CODEC_BUFFER_TYPE_INVALID;
1824 auto ret = g_component->FillThisBuffer(omxBuffer);
1825 ASSERT_NE(ret, HDF_SUCCESS);
1826 }
1827 /**
1828 * @tc.number : SUB_Driver_Codec_FillThisBuffer_0400
1829 * @tc.name : testFillThisBuffer003
1830 * @tc.desc : Set component status to OMX_StateExecution, structure OmxCodecBuffer->size=0
1831 */
HWTEST_F(CodecComponentTestAdditional, testFillThisBuffer003, Function | MediumTest | Level2)1832 HWTEST_F(CodecComponentTestAdditional, testFillThisBuffer003, Function | MediumTest | Level2)
1833 {
1834 ASSERT_TRUE(g_component != nullptr);
1835 std::vector<int8_t> cmdData;
1836 auto err = g_component->SendCommand(CODEC_COMMAND_STATE_SET, OMX_StateExecuting, cmdData);
1837 ASSERT_EQ(err, HDF_SUCCESS);
1838 struct OmxCodecBuffer omxBuffer;
1839 InitOmxCodecBuffer(omxBuffer, CODEC_BUFFER_TYPE_AVSHARE_MEM_FD);
1840 omxBuffer.size = 0;
1841 auto ret = g_component->FillThisBuffer(omxBuffer);
1842 ASSERT_NE(ret, HDF_SUCCESS);
1843 }
1844 /**
1845 * @tc.number : SUB_Driver_Codec_FillThisBuffer_0500
1846 * @tc.name : testFillThisBuffer004
1847 * @tc.desc : Set component status to OMX_StateExecution, structure OmxCodecBuffer->bufferId = BUFFER_ID_ERROR
1848 */
HWTEST_F(CodecComponentTestAdditional, testFillThisBuffer004, Function | MediumTest | Level2)1849 HWTEST_F(CodecComponentTestAdditional, testFillThisBuffer004, Function | MediumTest | Level2)
1850 {
1851 ASSERT_TRUE(g_component != nullptr);
1852 std::vector<int8_t> cmdData;
1853 auto err = g_component->SendCommand(CODEC_COMMAND_STATE_SET, OMX_StateExecuting, cmdData);
1854 ASSERT_EQ(err, HDF_SUCCESS);
1855 struct OmxCodecBuffer omxBuffer;
1856 InitOmxCodecBuffer(omxBuffer, CODEC_BUFFER_TYPE_AVSHARE_MEM_FD);
1857 omxBuffer.bufferId = BUFFER_ID_ERROR;
1858 auto ret = g_component->FillThisBuffer(omxBuffer);
1859 ASSERT_NE(ret, HDF_SUCCESS);
1860 }
1861 /**
1862 * @tc.number : SUB_Driver_Codec_FillThisBuffer_0600
1863 * @tc.name : testFillThisBuffer005
1864 * @tc.desc : Set component status to OMX_StateIdle
1865 */
HWTEST_F(CodecComponentTestAdditional, testFillThisBuffer005, Function | MediumTest | Level2)1866 HWTEST_F(CodecComponentTestAdditional, testFillThisBuffer005, Function | MediumTest | Level2)
1867 {
1868 ASSERT_TRUE(g_component != nullptr);
1869 std::vector<int8_t> cmdData;
1870 auto err = g_component->SendCommand(CODEC_COMMAND_STATE_SET, OMX_StateIdle, cmdData);
1871 ASSERT_EQ(err, HDF_SUCCESS);
1872 struct OmxCodecBuffer omxBuffer;
1873 InitOmxCodecBuffer(omxBuffer, CODEC_BUFFER_TYPE_AVSHARE_MEM_FD);
1874 auto ret = g_component->FillThisBuffer(omxBuffer);
1875 ASSERT_NE(ret, HDF_SUCCESS);
1876 }
1877 /**
1878 * @tc.number : SUB_Driver_Codec_ComponentDeInit_0200
1879 * @tc.name : testComponentDeInit001
1880 * @tc.desc : When directly calling the ComponentDeInit function, the command was successfully sent.
1881 */
HWTEST_F(CodecComponentTestAdditional, testComponentDeInit001, Function | MediumTest | Level1)1882 HWTEST_F(CodecComponentTestAdditional, testComponentDeInit001, Function | MediumTest | Level1)
1883 {
1884 ASSERT_TRUE(g_component != nullptr);
1885 auto ret = g_component->ComponentDeInit();
1886 ASSERT_EQ(ret, HDF_SUCCESS);
1887 }
1888 /**
1889 * @tc.number : SUB_Driver_Codec_ComponentDeInit_0300
1890 * @tc.name : testComponentDeInit002
1891 * @tc.desc : Set the condition to OMX_StateLoaded, the command was successfully sent.
1892 */
HWTEST_F(CodecComponentTestAdditional, testComponentDeInit002, Function | MediumTest | Level1)1893 HWTEST_F(CodecComponentTestAdditional, testComponentDeInit002, Function | MediumTest | Level1)
1894 {
1895 ASSERT_TRUE(g_component != nullptr);
1896 OMX_STATETYPE status = OMX_StateLoaded;
1897 std::cout << "status = " << status << std::endl;
1898 auto ret = g_component->ComponentDeInit();
1899 ASSERT_EQ(ret, HDF_SUCCESS);
1900 }
1901 #ifdef SUPPORT_OMX
1902 /**
1903 * @tc.number : SUB_Driver_Codec_ComponentRoleEnum_0200
1904 * @tc.name : testComponentRoleEnum001
1905 * @tc.desc : When index=0, the command was successfully sent.
1906 */
HWTEST_F(CodecComponentTestAdditional, testComponentRoleEnum001, Function | MediumTest | Level1)1907 HWTEST_F(CodecComponentTestAdditional, testComponentRoleEnum001, Function | MediumTest | Level1)
1908 {
1909 ASSERT_TRUE(g_component != nullptr);
1910 std::vector<uint8_t> role;
1911 auto ret = g_component->ComponentRoleEnum(role, 0);
1912 ASSERT_EQ(ret, HDF_SUCCESS);
1913 }
1914 /**
1915 * @tc.number : SUB_Driver_Codec_ComponentRoleEnum_0300
1916 * @tc.name : testComponentRoleEnum002
1917 * @tc.desc : When index=65000, sending command failed
1918 */
HWTEST_F(CodecComponentTestAdditional, testComponentRoleEnum002, Function | MediumTest | Level2)1919 HWTEST_F(CodecComponentTestAdditional, testComponentRoleEnum002, Function | MediumTest | Level2)
1920 {
1921 ASSERT_TRUE(g_component != nullptr);
1922 std::vector<uint8_t> role;
1923 auto ret = g_component->ComponentRoleEnum(role, 65000);
1924 ASSERT_NE(ret, HDF_SUCCESS);
1925 }
1926 /**
1927 * @tc.number : SUB_Driver_Codec_UseEglImage_0200
1928 * @tc.name : testUseEglImage001
1929 * @tc.desc : Initialize the structure OmxCodecBuffer with portIndex=INPUT_INDEX, sending command failed.
1930 */
HWTEST_F(CodecComponentTestAdditional, testUseEglImage001, Function | MediumTest | Level2)1931 HWTEST_F(CodecComponentTestAdditional, testUseEglImage001, Function | MediumTest | Level2)
1932 {
1933 ASSERT_TRUE(g_component != nullptr);
1934 struct OmxCodecBuffer omxBuffer;
1935 InitOmxCodecBuffer(omxBuffer, CODEC_BUFFER_TYPE_AVSHARE_MEM_FD);
1936 auto eglImage = std::make_unique<int8_t[]>(BUFFER_SIZE);
1937 ASSERT_TRUE(eglImage != nullptr);
1938 std::vector<int8_t> eglImageVec;
1939 eglImageVec.assign(eglImage.get(), eglImage.get() + BUFFER_SIZE);
1940 struct OmxCodecBuffer outbuffer;
1941 int32_t ret = g_component->UseEglImage(INPUT_INDEX, omxBuffer, outbuffer, eglImageVec);
1942 ASSERT_NE(ret, HDF_SUCCESS);
1943 }
1944 /**
1945 * @tc.number : SUB_Driver_Codec_UseEglImage_0300
1946 * @tc.name : testUseEglImage002
1947 * @tc.desc : Set component status to OMX_StatePause, portIndex=INPUT_INDEX, sending command failed.
1948 */
HWTEST_F(CodecComponentTestAdditional, testUseEglImage002, Function | MediumTest | Level2)1949 HWTEST_F(CodecComponentTestAdditional, testUseEglImage002, Function | MediumTest | Level2)
1950 {
1951 ASSERT_TRUE(g_component != nullptr);
1952 struct OmxCodecBuffer omxBuffer;
1953 OMX_STATETYPE status = OMX_StatePause;
1954 std::cout << "status = " << status << std::endl;
1955 InitOmxCodecBuffer(omxBuffer, CODEC_BUFFER_TYPE_AVSHARE_MEM_FD);
1956 auto eglImage = std::make_unique<int8_t[]>(BUFFER_SIZE);
1957 ASSERT_TRUE(eglImage != nullptr);
1958 std::vector<int8_t> eglImageVec;
1959 eglImageVec.assign(eglImage.get(), eglImage.get() + BUFFER_SIZE);
1960 struct OmxCodecBuffer outbuffer;
1961 int32_t ret = g_component->UseEglImage(INPUT_INDEX, omxBuffer, outbuffer, eglImageVec);
1962 ASSERT_NE(ret, HDF_SUCCESS);
1963 }
1964 /**
1965 * @tc.number : SUB_Driver_Codec_UseEglImage_0400
1966 * @tc.name : testUseEglImage003
1967 * @tc.desc : Set component status to OMX_StateLoaded, portIndex=INPUT_INDEX, sending command failed.
1968 */
HWTEST_F(CodecComponentTestAdditional, testUseEglImage003, Function | MediumTest | Level2)1969 HWTEST_F(CodecComponentTestAdditional, testUseEglImage003, Function | MediumTest | Level2)
1970 {
1971 ASSERT_TRUE(g_component != nullptr);
1972 struct OmxCodecBuffer omxBuffer;
1973 OMX_STATETYPE status = OMX_StateLoaded;
1974 std::cout << "status = " << status << std::endl;
1975 InitOmxCodecBuffer(omxBuffer, CODEC_BUFFER_TYPE_AVSHARE_MEM_FD);
1976 auto eglImage = std::make_unique<int8_t[]>(BUFFER_SIZE);
1977 ASSERT_TRUE(eglImage != nullptr);
1978 std::vector<int8_t> eglImageVec;
1979 eglImageVec.assign(eglImage.get(), eglImage.get() + BUFFER_SIZE);
1980 struct OmxCodecBuffer outbuffer;
1981 int32_t ret = g_component->UseEglImage(INPUT_INDEX, omxBuffer, outbuffer, eglImageVec);
1982 ASSERT_NE(ret, HDF_SUCCESS);
1983 }
1984 /**
1985 * @tc.number : SUB_Driver_Codec_UseEglImage_0500
1986 * @tc.name : testUseEglImage004
1987 * @tc.desc : Set component status to OMX_StateWaitForResources, portIndex=INPUT_INDEX, sending command failed.
1988 */
HWTEST_F(CodecComponentTestAdditional, testUseEglImage004, Function | MediumTest | Level2)1989 HWTEST_F(CodecComponentTestAdditional, testUseEglImage004, Function | MediumTest | Level2)
1990 {
1991 ASSERT_TRUE(g_component != nullptr);
1992 std::vector<int8_t> cmdData;
1993 struct OmxCodecBuffer omxBuffer;
1994 auto ret = g_component->SendCommand(CODEC_COMMAND_STATE_SET, OMX_StateWaitForResources, cmdData);
1995 InitOmxCodecBuffer(omxBuffer, CODEC_BUFFER_TYPE_AVSHARE_MEM_FD);
1996 auto eglImage = std::make_unique<int8_t[]>(BUFFER_SIZE);
1997 ASSERT_TRUE(eglImage != nullptr);
1998 std::vector<int8_t> eglImageVec;
1999 eglImageVec.assign(eglImage.get(), eglImage.get() + BUFFER_SIZE);
2000 struct OmxCodecBuffer outbuffer;
2001 ret = g_component->UseEglImage(INPUT_INDEX, omxBuffer, outbuffer, eglImageVec);
2002 ASSERT_NE(ret, HDF_SUCCESS);
2003 }
2004 /**
2005 * @tc.number : SUB_Driver_Codec_UseEglImage_0600
2006 * @tc.name : testUseEglImage005
2007 * @tc.desc : Set component status to OMX_StateExecuting, portIndex=INPUT_INDEX, sending command failed.
2008 */
HWTEST_F(CodecComponentTestAdditional, testUseEglImage005, Function | MediumTest | Level2)2009 HWTEST_F(CodecComponentTestAdditional, testUseEglImage005, Function | MediumTest | Level2)
2010 {
2011 ASSERT_TRUE(g_component != nullptr);
2012 std::vector<int8_t> cmdData;
2013 struct OmxCodecBuffer omxBuffer;
2014 auto ret = g_component->SendCommand(CODEC_COMMAND_STATE_SET, OMX_StateExecuting, cmdData);
2015 InitOmxCodecBuffer(omxBuffer, CODEC_BUFFER_TYPE_AVSHARE_MEM_FD);
2016 auto eglImage = std::make_unique<int8_t[]>(BUFFER_SIZE);
2017 ASSERT_TRUE(eglImage != nullptr);
2018 std::vector<int8_t> eglImageVec;
2019 eglImageVec.assign(eglImage.get(), eglImage.get() + BUFFER_SIZE);
2020 struct OmxCodecBuffer outbuffer;
2021 ret = g_component->UseEglImage(INPUT_INDEX, omxBuffer, outbuffer, eglImageVec);
2022 ASSERT_NE(ret, HDF_SUCCESS);
2023 }
2024 /**
2025 * @tc.number : SUB_Driver_Codec_UseEglImage_0700
2026 * @tc.name : testUseEglImage006
2027 * @tc.desc : Set component status to OMX_StateLoaded, with CODEC_BUFFER_TYPE_VIRTUAL_ADDR.
2028 */
HWTEST_F(CodecComponentTestAdditional, testUseEglImage006, Function | MediumTest | Level2)2029 HWTEST_F(CodecComponentTestAdditional, testUseEglImage006, Function | MediumTest | Level2)
2030 {
2031 ASSERT_TRUE(g_component != nullptr);
2032 std::vector<int8_t> cmdData;
2033 struct OmxCodecBuffer omxBuffer;
2034 auto ret = g_component->SendCommand(CODEC_COMMAND_STATE_SET, OMX_StateLoaded, cmdData);
2035 InitOmxCodecBuffer(omxBuffer, CODEC_BUFFER_TYPE_VIRTUAL_ADDR);
2036 auto eglImage = std::make_unique<int8_t[]>(BUFFER_SIZE);
2037 ASSERT_TRUE(eglImage != nullptr);
2038 std::vector<int8_t> eglImageVec;
2039 eglImageVec.assign(eglImage.get(), eglImage.get() + BUFFER_SIZE);
2040 struct OmxCodecBuffer outbuffer;
2041 ret = g_component->UseEglImage(INPUT_INDEX, omxBuffer, outbuffer, eglImageVec);
2042 ASSERT_NE(ret, HDF_SUCCESS);
2043 }
2044 /**
2045 * @tc.number : SUB_Driver_Codec_UseEglImage_0800
2046 * @tc.name : testUseEglImage007
2047 * @tc.desc : Set component status to OMX_StateExecuting, with CODEC_BUFFER_TYPE_VIRTUAL_ADDR
2048 */
HWTEST_F(CodecComponentTestAdditional, testUseEglImage007, Function | MediumTest | Level2)2049 HWTEST_F(CodecComponentTestAdditional, testUseEglImage007, Function | MediumTest | Level2)
2050 {
2051 ASSERT_TRUE(g_component != nullptr);
2052 std::vector<int8_t> cmdData;
2053 struct OmxCodecBuffer omxBuffer;
2054 auto ret = g_component->SendCommand(CODEC_COMMAND_STATE_SET, OMX_StateExecuting, cmdData);
2055 InitOmxCodecBuffer(omxBuffer, CODEC_BUFFER_TYPE_VIRTUAL_ADDR);
2056 auto eglImage = std::make_unique<int8_t[]>(BUFFER_SIZE);
2057 ASSERT_TRUE(eglImage != nullptr);
2058 std::vector<int8_t> eglImageVec;
2059 eglImageVec.assign(eglImage.get(), eglImage.get() + BUFFER_SIZE);
2060 struct OmxCodecBuffer outbuffer;
2061 ret = g_component->UseEglImage(INPUT_INDEX, omxBuffer, outbuffer, eglImageVec);
2062 ASSERT_NE(ret, HDF_SUCCESS);
2063 }
2064 /**
2065 * @tc.number : SUB_Driver_Codec_UseEglImage_0900
2066 * @tc.name : testUseEglImage008
2067 * @tc.desc : Set component status to OMX_StateWaitForResources, with CODEC_BUFFER_TYPE_HANDLE
2068 */
HWTEST_F(CodecComponentTestAdditional, testUseEglImage008, Function | MediumTest | Level2)2069 HWTEST_F(CodecComponentTestAdditional, testUseEglImage008, Function | MediumTest | Level2)
2070 {
2071 ASSERT_TRUE(g_component != nullptr);
2072 std::vector<int8_t> cmdData;
2073 struct OmxCodecBuffer omxBuffer;
2074 auto ret = g_component->SendCommand(CODEC_COMMAND_STATE_SET, OMX_StateWaitForResources, cmdData);
2075 InitOmxCodecBuffer(omxBuffer, CODEC_BUFFER_TYPE_HANDLE);
2076 auto eglImage = std::make_unique<int8_t[]>(BUFFER_SIZE);
2077 ASSERT_TRUE(eglImage != nullptr);
2078 std::vector<int8_t> eglImageVec;
2079 eglImageVec.assign(eglImage.get(), eglImage.get() + BUFFER_SIZE);
2080 struct OmxCodecBuffer outbuffer;
2081 ret = g_component->UseEglImage(INPUT_INDEX, omxBuffer, outbuffer, eglImageVec);
2082 ASSERT_NE(ret, HDF_SUCCESS);
2083 }
2084 /**
2085 * @tc.number : SUB_Driver_Codec_UseEglImage_1000
2086 * @tc.name : testUseEglImage009
2087 * @tc.desc : Set component status to OMX_StateLoaded, with CODEC_BUFFER_TYPE_DYNAMIC_HANDLE
2088 */
HWTEST_F(CodecComponentTestAdditional, testUseEglImage009, Function | MediumTest | Level2)2089 HWTEST_F(CodecComponentTestAdditional, testUseEglImage009, Function | MediumTest | Level2)
2090 {
2091 ASSERT_TRUE(g_component != nullptr);
2092 std::vector<int8_t> cmdData;
2093 struct OmxCodecBuffer omxBuffer;
2094 auto ret = g_component->SendCommand(CODEC_COMMAND_STATE_SET, OMX_StateLoaded, cmdData);
2095 InitOmxCodecBuffer(omxBuffer, CODEC_BUFFER_TYPE_DYNAMIC_HANDLE);
2096 auto eglImage = std::make_unique<int8_t[]>(BUFFER_SIZE);
2097 ASSERT_TRUE(eglImage != nullptr);
2098 std::vector<int8_t> eglImageVec;
2099 eglImageVec.assign(eglImage.get(), eglImage.get() + BUFFER_SIZE);
2100 struct OmxCodecBuffer outbuffer;
2101 ret = g_component->UseEglImage(INPUT_INDEX, omxBuffer, outbuffer, eglImageVec);
2102 ASSERT_NE(ret, HDF_SUCCESS);
2103 }
2104 /**
2105 * @tc.number : SUB_Driver_Codec_UseEglImage_1100
2106 * @tc.name : testUseEglImage010
2107 * @tc.desc : Initialize the structure OmxCodecBuffer with portIndex=OUTPUT_INDEX, sending command failed.
2108 */
HWTEST_F(CodecComponentTestAdditional, testUseEglImage010, Function | MediumTest | Level2)2109 HWTEST_F(CodecComponentTestAdditional, testUseEglImage010, Function | MediumTest | Level2)
2110 {
2111 ASSERT_TRUE(g_component != nullptr);
2112 struct OmxCodecBuffer omxBuffer;
2113 InitOmxCodecBuffer(omxBuffer, CODEC_BUFFER_TYPE_AVSHARE_MEM_FD);
2114 auto eglImage = std::make_unique<int8_t[]>(BUFFER_SIZE);
2115 ASSERT_TRUE(eglImage != nullptr);
2116 std::vector<int8_t> eglImageVec;
2117 eglImageVec.assign(eglImage.get(), eglImage.get() + BUFFER_SIZE);
2118 struct OmxCodecBuffer outbuffer;
2119 int32_t ret = g_component->UseEglImage(OUTPUT_INDEX, omxBuffer, outbuffer, eglImageVec);
2120 ASSERT_NE(ret, HDF_SUCCESS);
2121 }
2122 /**
2123 * @tc.number : SUB_Driver_Codec_UseEglImage_1200
2124 * @tc.name : testUseEglImage011
2125 * @tc.desc : Set component status to OMX_StatePause, portIndex=OUTPUT_INDEX, sending command failed.
2126 */
HWTEST_F(CodecComponentTestAdditional, testUseEglImage011, Function | MediumTest | Level2)2127 HWTEST_F(CodecComponentTestAdditional, testUseEglImage011, Function | MediumTest | Level2)
2128 {
2129 ASSERT_TRUE(g_component != nullptr);
2130 struct OmxCodecBuffer omxBuffer;
2131 OMX_STATETYPE status = OMX_StatePause;
2132 std::cout << "status = " << status << std::endl;
2133 InitOmxCodecBuffer(omxBuffer, CODEC_BUFFER_TYPE_AVSHARE_MEM_FD);
2134 auto eglImage = std::make_unique<int8_t[]>(BUFFER_SIZE);
2135 ASSERT_TRUE(eglImage != nullptr);
2136 std::vector<int8_t> eglImageVec;
2137 eglImageVec.assign(eglImage.get(), eglImage.get() + BUFFER_SIZE);
2138 struct OmxCodecBuffer outbuffer;
2139 int32_t ret = g_component->UseEglImage(OUTPUT_INDEX, omxBuffer, outbuffer, eglImageVec);
2140 ASSERT_NE(ret, HDF_SUCCESS);
2141 }
2142 /**
2143 * @tc.number : SUB_Driver_Codec_UseEglImage_1300
2144 * @tc.name : testUseEglImage012
2145 * @tc.desc : Set component status to OMX_StateLoaded, portIndex=OUTPUT_INDEX, sending command failed.
2146 */
HWTEST_F(CodecComponentTestAdditional, testUseEglImage012, Function | MediumTest | Level2)2147 HWTEST_F(CodecComponentTestAdditional, testUseEglImage012, Function | MediumTest | Level2)
2148 {
2149 ASSERT_TRUE(g_component != nullptr);
2150 struct OmxCodecBuffer omxBuffer;
2151 OMX_STATETYPE status = OMX_StateLoaded;
2152 std::cout << "status = " << status << std::endl;
2153 InitOmxCodecBuffer(omxBuffer, CODEC_BUFFER_TYPE_AVSHARE_MEM_FD);
2154 auto eglImage = std::make_unique<int8_t[]>(BUFFER_SIZE);
2155 ASSERT_TRUE(eglImage != nullptr);
2156 std::vector<int8_t> eglImageVec;
2157 eglImageVec.assign(eglImage.get(), eglImage.get() + BUFFER_SIZE);
2158 struct OmxCodecBuffer outbuffer;
2159 int32_t ret = g_component->UseEglImage(OUTPUT_INDEX, omxBuffer, outbuffer, eglImageVec);
2160 ASSERT_NE(ret, HDF_SUCCESS);
2161 }
2162 /**
2163 * @tc.number : SUB_Driver_Codec_UseEglImage_1400
2164 * @tc.name : testUseEglImage013
2165 * @tc.desc : Set component status to OMX_StateWaitForResources, portIndex=OUTPUT_INDEX, sending command failed.
2166 */
HWTEST_F(CodecComponentTestAdditional, testUseEglImage013, Function | MediumTest | Level2)2167 HWTEST_F(CodecComponentTestAdditional, testUseEglImage013, Function | MediumTest | Level2)
2168 {
2169 ASSERT_TRUE(g_component != nullptr);
2170 std::vector<int8_t> cmdData;
2171 struct OmxCodecBuffer omxBuffer;
2172 auto ret = g_component->SendCommand(CODEC_COMMAND_STATE_SET, OMX_StateWaitForResources, cmdData);
2173 InitOmxCodecBuffer(omxBuffer, CODEC_BUFFER_TYPE_AVSHARE_MEM_FD);
2174 auto eglImage = std::make_unique<int8_t[]>(BUFFER_SIZE);
2175 ASSERT_TRUE(eglImage != nullptr);
2176 std::vector<int8_t> eglImageVec;
2177 eglImageVec.assign(eglImage.get(), eglImage.get() + BUFFER_SIZE);
2178 struct OmxCodecBuffer outbuffer;
2179 ret = g_component->UseEglImage(OUTPUT_INDEX, omxBuffer, outbuffer, eglImageVec);
2180 ASSERT_NE(ret, HDF_SUCCESS);
2181 }
2182 /**
2183 * @tc.number : SUB_Driver_Codec_UseEglImage_1500
2184 * @tc.name : testUseEglImage014
2185 * @tc.desc : Set component status to OMX_StateExecuting, portIndex=OUTPUT_INDEX, sending command failed.
2186 */
HWTEST_F(CodecComponentTestAdditional, testUseEglImage014, Function | MediumTest | Level2)2187 HWTEST_F(CodecComponentTestAdditional, testUseEglImage014, Function | MediumTest | Level2)
2188 {
2189 ASSERT_TRUE(g_component != nullptr);
2190 std::vector<int8_t> cmdData;
2191 struct OmxCodecBuffer omxBuffer;
2192 auto ret = g_component->SendCommand(CODEC_COMMAND_STATE_SET, OMX_StateExecuting, cmdData);
2193 InitOmxCodecBuffer(omxBuffer, CODEC_BUFFER_TYPE_AVSHARE_MEM_FD);
2194 auto eglImage = std::make_unique<int8_t[]>(BUFFER_SIZE);
2195 ASSERT_TRUE(eglImage != nullptr);
2196 std::vector<int8_t> eglImageVec;
2197 eglImageVec.assign(eglImage.get(), eglImage.get() + BUFFER_SIZE);
2198 struct OmxCodecBuffer outbuffer;
2199 ret = g_component->UseEglImage(OUTPUT_INDEX, omxBuffer, outbuffer, eglImageVec);
2200 ASSERT_NE(ret, HDF_SUCCESS);
2201 }
2202 #endif
2203 /**
2204 * @tc.number : SUB_Driver_Codec_SetCallbacks_0200
2205 * @tc.name : testSetCallbacks001
2206 * @tc.desc : Set the function entry to appData = -1
2207 */
HWTEST_F(CodecComponentTestAdditional, testSetCallbacks001, Function | MediumTest | Level1)2208 HWTEST_F(CodecComponentTestAdditional, testSetCallbacks001, Function | MediumTest | Level1)
2209 {
2210 ASSERT_TRUE(g_component != nullptr);
2211 g_callback = new CodecCallbackService();
2212 ASSERT_TRUE(g_callback != nullptr);
2213 auto ret = g_component->SetCallbacks(g_callback, -1);
2214 ASSERT_EQ(ret, HDF_SUCCESS);
2215 }
2216 /**
2217 * @tc.number : SUB_Driver_Codec_SetCallbacks_0300
2218 * @tc.name : testSetCallbacks002
2219 * @tc.desc : Set the function entry to appData = 0
2220 */
HWTEST_F(CodecComponentTestAdditional, testSetCallbacks002, Function | MediumTest | Level1)2221 HWTEST_F(CodecComponentTestAdditional, testSetCallbacks002, Function | MediumTest | Level1)
2222 {
2223 ASSERT_TRUE(g_component != nullptr);
2224 g_callback = new CodecCallbackService();
2225 ASSERT_TRUE(g_callback != nullptr);
2226 auto ret = g_component->SetCallbacks(g_callback, 0);
2227 ASSERT_EQ(ret, HDF_SUCCESS);
2228 }
2229 /**
2230 * @tc.number : SUB_Driver_Codec_SetCallbacks_0400
2231 * @tc.name : testSetCallbacks003
2232 * @tc.desc : Set the function entry to appData = 1000
2233 */
HWTEST_F(CodecComponentTestAdditional, testSetCallbacks003, Function | MediumTest | Level1)2234 HWTEST_F(CodecComponentTestAdditional, testSetCallbacks003, Function | MediumTest | Level1)
2235 {
2236 ASSERT_TRUE(g_component != nullptr);
2237 g_callback = new CodecCallbackService();
2238 ASSERT_TRUE(g_callback != nullptr);
2239 auto ret = g_component->SetCallbacks(g_callback, 1000);
2240 ASSERT_EQ(ret, HDF_SUCCESS);
2241 }
2242 /**
2243 * @tc.number : SUB_Driver_Codec_SetCallbacks_0500
2244 * @tc.name : testSetCallbacks004
2245 * @tc.desc : Set the function entry to appData = 1 and cycle 100 times
2246 */
HWTEST_F(CodecComponentTestAdditional, testSetCallbacks004, Function | MediumTest | Level1)2247 HWTEST_F(CodecComponentTestAdditional, testSetCallbacks004, Function | MediumTest | Level1)
2248 {
2249 int32_t i = 0;
2250 int32_t ret;
2251 ASSERT_TRUE(g_component != nullptr);
2252 g_callback = new CodecCallbackService();
2253 ASSERT_TRUE(g_callback != nullptr);
2254 for (i = 0; i < 100; i++) {
2255 ret = g_component->SetCallbacks(g_callback, 1);
2256 ASSERT_EQ(ret, HDF_SUCCESS);
2257 }
2258 }
2259 /**
2260 * @tc.number SUB_Driver_Codec_GetComponentVersion_0100
2261 * @tc.name testGetComponentVersion001
2262 * @tc.desc The input parameter is empty.
2263 */
HWTEST_F(CodecComponentTestAdditional, testGetComponentVersion001, Function | MediumTest | Level1)2264 HWTEST_F(CodecComponentTestAdditional, testGetComponentVersion001, Function | MediumTest | Level1)
2265 {
2266 ASSERT_TRUE(g_component != nullptr);
2267 struct CompVerInfo verInfo;
2268 auto ret = g_component->GetComponentVersion(verInfo);
2269 ASSERT_EQ(ret, HDF_SUCCESS);
2270 }
2271 /**
2272 * @tc.number SUB_Driver_Codec_SendCommand_0100
2273 * @tc.name testSendCommand001
2274 * @tc.desc The first and second parameters are CODEC_COMMAND_STATE_SET and CODEC_STATE_INVALID. SendCommand is
2275 * successful.
2276 */
HWTEST_F(CodecComponentTestAdditional, testSendCommand001, Function | MediumTest | Level1)2277 HWTEST_F(CodecComponentTestAdditional, testSendCommand001, Function | MediumTest | Level1)
2278 {
2279 ASSERT_TRUE(g_component != nullptr);
2280 std::vector<int8_t> cmdData;
2281 int32_t ret = g_component->SendCommand(CODEC_COMMAND_STATE_SET, CODEC_STATE_INVALID, cmdData);
2282 ASSERT_EQ(ret, HDF_SUCCESS);
2283 }
2284 /**
2285 * @tc.number SUB_Driver_Codec_SendCommand_0200
2286 * @tc.name testSendCommand002
2287 * @tc.desc The first and second parameters are CODEC_COMMAND_STATE_SET and CODEC_STATE_LOADED. SendCommand is
2288 * successful.
2289 */
HWTEST_F(CodecComponentTestAdditional, testSendCommand002, Function | MediumTest | Level1)2290 HWTEST_F(CodecComponentTestAdditional, testSendCommand002, Function | MediumTest | Level1)
2291 {
2292 ASSERT_TRUE(g_component != nullptr);
2293 std::vector<int8_t> cmdData;
2294 int32_t ret = g_component->SendCommand(CODEC_COMMAND_STATE_SET, CODEC_STATE_LOADED, cmdData);
2295 ASSERT_EQ(ret, HDF_SUCCESS);
2296 }
2297 /**
2298 * @tc.number SUB_Driver_Codec_SendCommand_0300
2299 * @tc.name testSendCommand003
2300 * @tc.desc The first and second parameters are CODEC_COMMAND_STATE_SET and CODEC_STATE_IDLE. SendCommand is
2301 * successful.
2302 */
HWTEST_F(CodecComponentTestAdditional, testSendCommand003, Function | MediumTest | Level1)2303 HWTEST_F(CodecComponentTestAdditional, testSendCommand003, Function | MediumTest | Level1)
2304 {
2305 ASSERT_TRUE(g_component != nullptr);
2306 std::vector<int8_t> cmdData;
2307 int32_t ret = g_component->SendCommand(CODEC_COMMAND_STATE_SET, CODEC_STATE_IDLE, cmdData);
2308 ASSERT_EQ(ret, HDF_SUCCESS);
2309 }
2310 /**
2311 * @tc.number SUB_Driver_Codec_SendCommand_0400
2312 * @tc.name testSendCommand004
2313 * @tc.desc The first and second parameters are CODEC_COMMAND_STATE_SET and CODEC_STATE_EXECUTING. SendCommand is
2314 * successful.
2315 */
HWTEST_F(CodecComponentTestAdditional, testSendCommand004, Function | MediumTest | Level1)2316 HWTEST_F(CodecComponentTestAdditional, testSendCommand004, Function | MediumTest | Level1)
2317 {
2318 ASSERT_TRUE(g_component != nullptr);
2319 std::vector<int8_t> cmdData;
2320 int32_t ret = g_component->SendCommand(CODEC_COMMAND_STATE_SET, CODEC_STATE_EXECUTING, cmdData);
2321 ASSERT_EQ(ret, HDF_SUCCESS);
2322 }
2323 /**
2324 * @tc.number SUB_Driver_Codec_SendCommand_0500
2325 * @tc.name testSendCommand005
2326 * @tc.desc The first and second parameters are CODEC_COMMAND_STATE_SET and CODEC_STATE_PAUSE. SendCommand is
2327 * successful.
2328 */
HWTEST_F(CodecComponentTestAdditional, testSendCommand005, Function | MediumTest | Level1)2329 HWTEST_F(CodecComponentTestAdditional, testSendCommand005, Function | MediumTest | Level1)
2330 {
2331 ASSERT_TRUE(g_component != nullptr);
2332 std::vector<int8_t> cmdData;
2333 int32_t ret = g_component->SendCommand(CODEC_COMMAND_STATE_SET, CODEC_STATE_PAUSE, cmdData);
2334 ASSERT_EQ(ret, HDF_SUCCESS);
2335 }
2336 /**
2337 * @tc.number SUB_Driver_Codec_SendCommand_0600
2338 * @tc.name testSendCommand006
2339 * @tc.desc The first and second parameters are CODEC_COMMAND_STATE_SET and CODEC_STATE_WAIT_FOR_RESOURCES. SendCommand
2340 * is successful.
2341 */
HWTEST_F(CodecComponentTestAdditional, testSendCommand006, Function | MediumTest | Level1)2342 HWTEST_F(CodecComponentTestAdditional, testSendCommand006, Function | MediumTest | Level1)
2343 {
2344 ASSERT_TRUE(g_component != nullptr);
2345 std::vector<int8_t> cmdData;
2346 int32_t ret = g_component->SendCommand(CODEC_COMMAND_STATE_SET, CODEC_STATE_WAIT_FOR_RESOURCES, cmdData);
2347 ASSERT_EQ(ret, HDF_SUCCESS);
2348 }
2349 #ifdef SUPPORT_OMX
2350 /**
2351 * @tc.number SUB_Driver_Codec_SendCommand_0700
2352 * @tc.name testSendCommand007
2353 * @tc.desc The first and second parameters are CODEC_COMMAND_STATE_SET and CODEC_STATE_KHRONOS_EXTENSIONS. SendCommand
2354 * is successful.
2355 */
HWTEST_F(CodecComponentTestAdditional, testSendCommand007, Function | MediumTest | Level1)2356 HWTEST_F(CodecComponentTestAdditional, testSendCommand007, Function | MediumTest | Level1)
2357 {
2358 ASSERT_TRUE(g_component != nullptr);
2359 std::vector<int8_t> cmdData;
2360 int32_t ret = g_component->SendCommand(CODEC_COMMAND_STATE_SET, CODEC_STATE_KHRONOS_EXTENSIONS, cmdData);
2361 ASSERT_EQ(ret, HDF_SUCCESS);
2362 }
2363 /**
2364 * @tc.number SUB_Driver_Codec_SendCommand_0800
2365 * @tc.name testSendCommand008
2366 * @tc.desc The first and second parameters are CODEC_COMMAND_STATE_SET and CODEC_STATE_VENDOR_START_UNUSED.
2367 * SendCommand is successful.
2368 */
HWTEST_F(CodecComponentTestAdditional, testSendCommand008, Function | MediumTest | Level1)2369 HWTEST_F(CodecComponentTestAdditional, testSendCommand008, Function | MediumTest | Level1)
2370 {
2371 ASSERT_TRUE(g_component != nullptr);
2372 std::vector<int8_t> cmdData;
2373 int32_t ret = g_component->SendCommand(CODEC_COMMAND_STATE_SET, CODEC_STATE_VENDOR_START_UNUSED, cmdData);
2374 ASSERT_EQ(ret, HDF_SUCCESS);
2375 }
2376 /**
2377 * @tc.number SUB_Driver_Codec_SendCommand_0900
2378 * @tc.name testSendCommand009
2379 * @tc.desc The first and second parameters are CODEC_COMMAND_STATE_SET and CODEC_STATE_MAX. SendCommand is successful.
2380 */
HWTEST_F(CodecComponentTestAdditional, testSendCommand009, Function | MediumTest | Level1)2381 HWTEST_F(CodecComponentTestAdditional, testSendCommand009, Function | MediumTest | Level1)
2382 {
2383 ASSERT_TRUE(g_component != nullptr);
2384 std::vector<int8_t> cmdData;
2385 int32_t ret = g_component->SendCommand(CODEC_COMMAND_STATE_SET, CODEC_STATE_MAX, cmdData);
2386 ASSERT_EQ(ret, HDF_SUCCESS);
2387 }
2388 /**
2389 * @tc.number SUB_Driver_Codec_SendCommand_1000
2390 * @tc.name testSendCommand010
2391 * @tc.desc The first and second parameters are CODEC_COMMAND_STATE_SET and -1. SendCommand is successful.
2392 */
HWTEST_F(CodecComponentTestAdditional, testSendCommand010, Function | MediumTest | Level1)2393 HWTEST_F(CodecComponentTestAdditional, testSendCommand010, Function | MediumTest | Level1)
2394 {
2395 ASSERT_TRUE(g_component != nullptr);
2396 std::vector<int8_t> cmdData;
2397 int32_t ret = g_component->SendCommand(CODEC_COMMAND_STATE_SET, -1, cmdData);
2398 ASSERT_EQ(ret, HDF_SUCCESS);
2399 }
2400 /**
2401 * @tc.number SUB_Driver_Codec_SendCommand_1100
2402 * @tc.name testSendCommand011
2403 * @tc.desc The first and second parameters are CODEC_COMMAND_FLUSH and -1. SendCommand is error.
2404 */
HWTEST_F(CodecComponentTestAdditional, testSendCommand011, Function | MediumTest | Level2)2405 HWTEST_F(CodecComponentTestAdditional, testSendCommand011, Function | MediumTest | Level2)
2406 {
2407 ASSERT_TRUE(g_component != nullptr);
2408 std::vector<int8_t> cmdData;
2409 int32_t ret = g_component->SendCommand(CODEC_COMMAND_FLUSH, -1, cmdData);
2410 ASSERT_NE(ret, HDF_SUCCESS);
2411 }
2412 /**
2413 * @tc.number SUB_Driver_Codec_SendCommand_1200
2414 * @tc.name testSendCommand012
2415 * @tc.desc The first and second parameters are CODEC_COMMAND_FLUSH and 0. SendCommand is error.
2416 */
HWTEST_F(CodecComponentTestAdditional, testSendCommand012, Function | MediumTest | Level2)2417 HWTEST_F(CodecComponentTestAdditional, testSendCommand012, Function | MediumTest | Level2)
2418 {
2419 ASSERT_TRUE(g_component != nullptr);
2420 std::vector<int8_t> cmdData;
2421 int32_t ret = g_component->SendCommand(CODEC_COMMAND_FLUSH, 0, cmdData);
2422 ASSERT_NE(ret, HDF_SUCCESS);
2423 }
2424 /**
2425 * @tc.number SUB_Driver_Codec_SendCommand_1300
2426 * @tc.name testSendCommand013
2427 * @tc.desc The first and second parameters are CODEC_COMMAND_FLUSH and 1. SendCommand is error.
2428 */
HWTEST_F(CodecComponentTestAdditional, testSendCommand013, Function | MediumTest | Level2)2429 HWTEST_F(CodecComponentTestAdditional, testSendCommand013, Function | MediumTest | Level2)
2430 {
2431 ASSERT_TRUE(g_component != nullptr);
2432 std::vector<int8_t> cmdData;
2433 int32_t ret = g_component->SendCommand(CODEC_COMMAND_FLUSH, 1, cmdData);
2434 ASSERT_NE(ret, HDF_SUCCESS);
2435 }
2436 #endif
2437 /**
2438 * @tc.number SUB_Driver_Codec_SendCommand_1400
2439 * @tc.name testSendCommand014
2440 * @tc.desc The first and second parameters are CODEC_COMMAND_FLUSH and CODEC_STATE_PAUSE. SendCommand is error.
2441 */
HWTEST_F(CodecComponentTestAdditional, testSendCommand014, Function | MediumTest | Level2)2442 HWTEST_F(CodecComponentTestAdditional, testSendCommand014, Function | MediumTest | Level2)
2443 {
2444 ASSERT_TRUE(g_component != nullptr);
2445 std::vector<int8_t> cmdData;
2446 int32_t ret = g_component->SendCommand(CODEC_COMMAND_FLUSH, CODEC_STATE_PAUSE, cmdData);
2447 ASSERT_NE(ret, HDF_SUCCESS);
2448 }
2449 /**
2450 * @tc.number SUB_Driver_Codec_SendCommand_1500
2451 * @tc.name testSendCommand015
2452 * @tc.desc The first and second parameters are CODEC_COMMAND_PORT_DISABLE and -1. SendCommand is successful.
2453 */
HWTEST_F(CodecComponentTestAdditional, testSendCommand015, Function | MediumTest | Level1)2454 HWTEST_F(CodecComponentTestAdditional, testSendCommand015, Function | MediumTest | Level1)
2455 {
2456 ASSERT_TRUE(g_component != nullptr);
2457 std::vector<int8_t> cmdData;
2458 int32_t ret = g_component->SendCommand(CODEC_COMMAND_PORT_DISABLE, -1, cmdData);
2459 ASSERT_EQ(ret, HDF_SUCCESS);
2460 }
2461 /**
2462 * @tc.number SUB_Driver_Codec_SendCommand_1600
2463 * @tc.name testSendCommand016
2464 * @tc.desc The first and second parameters are CODEC_COMMAND_PORT_DISABLE and 0. SendCommand is successful.
2465 */
HWTEST_F(CodecComponentTestAdditional, testSendCommand016, Function | MediumTest | Level1)2466 HWTEST_F(CodecComponentTestAdditional, testSendCommand016, Function | MediumTest | Level1)
2467 {
2468 ASSERT_TRUE(g_component != nullptr);
2469 std::vector<int8_t> cmdData;
2470 int32_t ret = g_component->SendCommand(CODEC_COMMAND_PORT_DISABLE, 0, cmdData);
2471 ASSERT_EQ(ret, HDF_SUCCESS);
2472 }
2473 /**
2474 * @tc.number SUB_Driver_Codec_SendCommand_1700
2475 * @tc.name testSendCommand017
2476 * @tc.desc The first and second parameters are CODEC_COMMAND_PORT_DISABLE and 1. SendCommand is successful.
2477 */
HWTEST_F(CodecComponentTestAdditional, testSendCommand017, Function | MediumTest | Level1)2478 HWTEST_F(CodecComponentTestAdditional, testSendCommand017, Function | MediumTest | Level1)
2479 {
2480 ASSERT_TRUE(g_component != nullptr);
2481 std::vector<int8_t> cmdData;
2482 int32_t ret = g_component->SendCommand(CODEC_COMMAND_PORT_DISABLE, 1, cmdData);
2483 ASSERT_EQ(ret, HDF_SUCCESS);
2484 }
2485 #ifdef SUPPORT_OMX
2486 /**
2487 * @tc.number SUB_Driver_Codec_SendCommand_1800
2488 * @tc.name testSendCommand018
2489 * @tc.desc The first and second parameters are CODEC_COMMAND_PORT_DISABLE and CODEC_STATE_PAUSE. SendCommand is error.
2490 */
HWTEST_F(CodecComponentTestAdditional, testSendCommand018, Function | MediumTest | Level2)2491 HWTEST_F(CodecComponentTestAdditional, testSendCommand018, Function | MediumTest | Level2)
2492 {
2493 ASSERT_TRUE(g_component != nullptr);
2494 std::vector<int8_t> cmdData;
2495 int32_t ret = g_component->SendCommand(CODEC_COMMAND_PORT_DISABLE, CODEC_STATE_PAUSE, cmdData);
2496 ASSERT_NE(ret, HDF_SUCCESS);
2497 }
2498 /**
2499 * @tc.number SUB_Driver_Codec_SendCommand_1900
2500 * @tc.name testSendCommand019
2501 * @tc.desc The first and second parameters are CODEC_COMMAND_PORT_ENABLE and -1. SendCommand is error.
2502 */
HWTEST_F(CodecComponentTestAdditional, testSendCommand019, Function | MediumTest | Level2)2503 HWTEST_F(CodecComponentTestAdditional, testSendCommand019, Function | MediumTest | Level2)
2504 {
2505 ASSERT_TRUE(g_component != nullptr);
2506 std::vector<int8_t> cmdData;
2507 int32_t ret = g_component->SendCommand(CODEC_COMMAND_PORT_ENABLE, -1, cmdData);
2508 ASSERT_NE(ret, HDF_SUCCESS);
2509 }
2510 /**
2511 * @tc.number SUB_Driver_Codec_SendCommand_2000
2512 * @tc.name testSendCommand020
2513 * @tc.desc The first and second parameters are CODEC_COMMAND_PORT_ENABLE and 0. SendCommand is error.
2514 */
HWTEST_F(CodecComponentTestAdditional, testSendCommand020, Function | MediumTest | Level2)2515 HWTEST_F(CodecComponentTestAdditional, testSendCommand020, Function | MediumTest | Level2)
2516 {
2517 ASSERT_TRUE(g_component != nullptr);
2518 std::vector<int8_t> cmdData;
2519 int32_t ret = g_component->SendCommand(CODEC_COMMAND_PORT_ENABLE, 0, cmdData);
2520 ASSERT_NE(ret, HDF_SUCCESS);
2521 }
2522 /**
2523 * @tc.number SUB_Driver_Codec_SendCommand_2100
2524 * @tc.name testSendCommand021
2525 * @tc.desc The first and second parameters are CODEC_COMMAND_PORT_ENABLE and 1. SendCommand is error.
2526 */
HWTEST_F(CodecComponentTestAdditional, testSendCommand021, Function | MediumTest | Level2)2527 HWTEST_F(CodecComponentTestAdditional, testSendCommand021, Function | MediumTest | Level2)
2528 {
2529 ASSERT_TRUE(g_component != nullptr);
2530 std::vector<int8_t> cmdData;
2531 int32_t ret = g_component->SendCommand(CODEC_COMMAND_PORT_ENABLE, 1, cmdData);
2532 ASSERT_NE(ret, HDF_SUCCESS);
2533 }
2534 /**
2535 * @tc.number SUB_Driver_Codec_SendCommand_2200
2536 * @tc.name testSendCommand022
2537 * @tc.desc The first and second parameters are CODEC_COMMAND_PORT_ENABLE and CODEC_STATE_PAUSE. SendCommand is error.
2538 */
HWTEST_F(CodecComponentTestAdditional, testSendCommand022, Function | MediumTest | Level2)2539 HWTEST_F(CodecComponentTestAdditional, testSendCommand022, Function | MediumTest | Level2)
2540 {
2541 ASSERT_TRUE(g_component != nullptr);
2542 std::vector<int8_t> cmdData;
2543 int32_t ret = g_component->SendCommand(CODEC_COMMAND_PORT_ENABLE, CODEC_STATE_PAUSE, cmdData);
2544 ASSERT_NE(ret, HDF_SUCCESS);
2545 }
2546 /**
2547 * @tc.number SUB_Driver_Codec_SendCommand_2300
2548 * @tc.name testSendCommand023
2549 * @tc.desc The first and second parameters are CODEC_COMMAND_MARK_BUFFER and -1. SendCommand is error.
2550 */
HWTEST_F(CodecComponentTestAdditional, testSendCommand023, Function | MediumTest | Level2)2551 HWTEST_F(CodecComponentTestAdditional, testSendCommand023, Function | MediumTest | Level2)
2552 {
2553 ASSERT_TRUE(g_component != nullptr);
2554 std::vector<int8_t> cmdData;
2555 int32_t ret = g_component->SendCommand(CODEC_COMMAND_MARK_BUFFER, -1, cmdData);
2556 ASSERT_NE(ret, HDF_SUCCESS);
2557 }
2558 /**
2559 * @tc.number SUB_Driver_Codec_SendCommand_2400
2560 * @tc.name testSendCommand024
2561 * @tc.desc The first and second parameters are CODEC_COMMAND_MARK_BUFFER and 0. SendCommand is error.
2562 */
HWTEST_F(CodecComponentTestAdditional, testSendCommand024, Function | MediumTest | Level2)2563 HWTEST_F(CodecComponentTestAdditional, testSendCommand024, Function | MediumTest | Level2)
2564 {
2565 ASSERT_TRUE(g_component != nullptr);
2566 std::vector<int8_t> cmdData;
2567 int32_t ret = g_component->SendCommand(CODEC_COMMAND_MARK_BUFFER, 0, cmdData);
2568 ASSERT_NE(ret, HDF_SUCCESS);
2569 }
2570 /**
2571 * @tc.number SUB_Driver_Codec_SendCommand_2500
2572 * @tc.name testSendCommand025
2573 * @tc.desc The first and second parameters are CODEC_COMMAND_MARK_BUFFER and 1. SendCommand is error.
2574 */
HWTEST_F(CodecComponentTestAdditional, testSendCommand025, Function | MediumTest | Level2)2575 HWTEST_F(CodecComponentTestAdditional, testSendCommand025, Function | MediumTest | Level2)
2576 {
2577 ASSERT_TRUE(g_component != nullptr);
2578 std::vector<int8_t> cmdData;
2579 int32_t ret = g_component->SendCommand(CODEC_COMMAND_MARK_BUFFER, 1, cmdData);
2580 ASSERT_NE(ret, HDF_SUCCESS);
2581 }
2582 /**
2583 * @tc.number SUB_Driver_Codec_SendCommand_2600
2584 * @tc.name testSendCommand026
2585 * @tc.desc The first and second parameters are CODEC_COMMAND_MARK_BUFFER and CODEC_STATE_PAUSE. SendCommand is error.
2586 */
HWTEST_F(CodecComponentTestAdditional, testSendCommand026, Function | MediumTest | Level2)2587 HWTEST_F(CodecComponentTestAdditional, testSendCommand026, Function | MediumTest | Level2)
2588 {
2589 ASSERT_TRUE(g_component != nullptr);
2590 std::vector<int8_t> cmdData;
2591 int32_t ret = g_component->SendCommand(CODEC_COMMAND_MARK_BUFFER, CODEC_STATE_PAUSE, cmdData);
2592 ASSERT_NE(ret, HDF_SUCCESS);
2593 }
2594 /**
2595 * @tc.number SUB_Driver_Codec_SendCommand_2700
2596 * @tc.name testSendCommand027
2597 * @tc.desc The first and second parameters are CODEC_COMMAND_KHRONOS_EXTENSIONS and -1. SendCommand is successful.
2598 */
HWTEST_F(CodecComponentTestAdditional, testSendCommand027, Function | MediumTest | Level1)2599 HWTEST_F(CodecComponentTestAdditional, testSendCommand027, Function | MediumTest | Level1)
2600 {
2601 ASSERT_TRUE(g_component != nullptr);
2602 std::vector<int8_t> cmdData;
2603 int32_t ret = g_component->SendCommand(CODEC_COMMAND_KHRONOS_EXTENSIONS, -1, cmdData);
2604 ASSERT_EQ(ret, HDF_SUCCESS);
2605 }
2606 /**
2607 * @tc.number SUB_Driver_Codec_SendCommand_2800
2608 * @tc.name testSendCommand028
2609 * @tc.desc The first and second parameters are CODEC_COMMAND_KHRONOS_EXTENSIONS and 0. SendCommand is successful.
2610 */
HWTEST_F(CodecComponentTestAdditional, testSendCommand028, Function | MediumTest | Level1)2611 HWTEST_F(CodecComponentTestAdditional, testSendCommand028, Function | MediumTest | Level1)
2612 {
2613 ASSERT_TRUE(g_component != nullptr);
2614 std::vector<int8_t> cmdData;
2615 int32_t ret = g_component->SendCommand(CODEC_COMMAND_KHRONOS_EXTENSIONS, 0, cmdData);
2616 ASSERT_EQ(ret, HDF_SUCCESS);
2617 }
2618 /**
2619 * @tc.number SUB_Driver_Codec_SendCommand_2900
2620 * @tc.name testSendCommand029
2621 * @tc.desc The first and second parameters are CODEC_COMMAND_KHRONOS_EXTENSIONS and 1. SendCommand is successful.
2622 */
HWTEST_F(CodecComponentTestAdditional, testSendCommand029, Function | MediumTest | Level1)2623 HWTEST_F(CodecComponentTestAdditional, testSendCommand029, Function | MediumTest | Level1)
2624 {
2625 ASSERT_TRUE(g_component != nullptr);
2626 std::vector<int8_t> cmdData;
2627 int32_t ret = g_component->SendCommand(CODEC_COMMAND_KHRONOS_EXTENSIONS, 1, cmdData);
2628 ASSERT_EQ(ret, HDF_SUCCESS);
2629 }
2630 /**
2631 * @tc.number SUB_Driver_Codec_SendCommand_3000
2632 * @tc.name testSendCommand030
2633 * @tc.desc The first and second parameters are CODEC_COMMAND_KHRONOS_EXTENSIONS and CODEC_STATE_PAUSE. SendCommand is
2634 * successful.
2635 */
HWTEST_F(CodecComponentTestAdditional, testSendCommand030, Function | MediumTest | Level1)2636 HWTEST_F(CodecComponentTestAdditional, testSendCommand030, Function | MediumTest | Level1)
2637 {
2638 ASSERT_TRUE(g_component != nullptr);
2639 std::vector<int8_t> cmdData;
2640 int32_t ret = g_component->SendCommand(CODEC_COMMAND_KHRONOS_EXTENSIONS, CODEC_STATE_PAUSE, cmdData);
2641 ASSERT_EQ(ret, HDF_SUCCESS);
2642 }
2643 /**
2644 * @tc.number SUB_Driver_Codec_SendCommand_3100
2645 * @tc.name testSendCommand031
2646 * @tc.desc The first and second parameters are CODEC_COMMAND_VENDOR_START_UNUSED and -1. SendCommand is successful.
2647 */
HWTEST_F(CodecComponentTestAdditional, testSendCommand031, Function | MediumTest | Level1)2648 HWTEST_F(CodecComponentTestAdditional, testSendCommand031, Function | MediumTest | Level1)
2649 {
2650 ASSERT_TRUE(g_component != nullptr);
2651 std::vector<int8_t> cmdData;
2652 int32_t ret = g_component->SendCommand(CODEC_COMMAND_VENDOR_START_UNUSED, -1, cmdData);
2653 ASSERT_EQ(ret, HDF_SUCCESS);
2654 }
2655 /**
2656 * @tc.number SUB_Driver_Codec_SendCommand_3200
2657 * @tc.name testSendCommand032
2658 * @tc.desc The first and second parameters are CODEC_COMMAND_VENDOR_START_UNUSED and 0. SendCommand is successful.
2659 */
HWTEST_F(CodecComponentTestAdditional, testSendCommand032, Function | MediumTest | Level1)2660 HWTEST_F(CodecComponentTestAdditional, testSendCommand032, Function | MediumTest | Level1)
2661 {
2662 ASSERT_TRUE(g_component != nullptr);
2663 std::vector<int8_t> cmdData;
2664 int32_t ret = g_component->SendCommand(CODEC_COMMAND_VENDOR_START_UNUSED, 0, cmdData);
2665 ASSERT_EQ(ret, HDF_SUCCESS);
2666 }
2667 /**
2668 * @tc.number SUB_Driver_Codec_SendCommand_3300
2669 * @tc.name testSendCommand033
2670 * @tc.desc The first and second parameters are CODEC_COMMAND_VENDOR_START_UNUSED and 1. SendCommand is successful.
2671 */
HWTEST_F(CodecComponentTestAdditional, testSendCommand033, Function | MediumTest | Level1)2672 HWTEST_F(CodecComponentTestAdditional, testSendCommand033, Function | MediumTest | Level1)
2673 {
2674 ASSERT_TRUE(g_component != nullptr);
2675 std::vector<int8_t> cmdData;
2676 int32_t ret = g_component->SendCommand(CODEC_COMMAND_VENDOR_START_UNUSED, 1, cmdData);
2677 ASSERT_EQ(ret, HDF_SUCCESS);
2678 }
2679 /**
2680 * @tc.number SUB_Driver_Codec_SendCommand_3400
2681 * @tc.name testSendCommand034
2682 * @tc.desc The first and second parameters are CODEC_COMMAND_VENDOR_START_UNUSED and CODEC_STATE_PAUSE. SendCommand is
2683 * successful.
2684 */
HWTEST_F(CodecComponentTestAdditional, testSendCommand034, Function | MediumTest | Level1)2685 HWTEST_F(CodecComponentTestAdditional, testSendCommand034, Function | MediumTest | Level1)
2686 {
2687 ASSERT_TRUE(g_component != nullptr);
2688 std::vector<int8_t> cmdData;
2689 int32_t ret = g_component->SendCommand(CODEC_COMMAND_VENDOR_START_UNUSED, CODEC_STATE_PAUSE, cmdData);
2690 ASSERT_EQ(ret, HDF_SUCCESS);
2691 }
2692 /**
2693 * @tc.number SUB_Driver_Codec_SendCommand_3500
2694 * @tc.name testSendCommand035
2695 * @tc.desc The first and second parameters are CODEC_COMMAND_MAX and -1. SendCommand is successful.
2696 */
HWTEST_F(CodecComponentTestAdditional, testSendCommand035, Function | MediumTest | Level1)2697 HWTEST_F(CodecComponentTestAdditional, testSendCommand035, Function | MediumTest | Level1)
2698 {
2699 ASSERT_TRUE(g_component != nullptr);
2700 std::vector<int8_t> cmdData;
2701 int32_t ret = g_component->SendCommand(CODEC_COMMAND_MAX, -1, cmdData);
2702 ASSERT_EQ(ret, HDF_SUCCESS);
2703 }
2704 /**
2705 * @tc.number SUB_Driver_Codec_SendCommand_3600
2706 * @tc.name testSendCommand036
2707 * @tc.desc The first and second parameters are CODEC_COMMAND_MAX and 0. SendCommand is successful.
2708 */
HWTEST_F(CodecComponentTestAdditional, testSendCommand036, Function | MediumTest | Level1)2709 HWTEST_F(CodecComponentTestAdditional, testSendCommand036, Function | MediumTest | Level1)
2710 {
2711 ASSERT_TRUE(g_component != nullptr);
2712 std::vector<int8_t> cmdData;
2713 int32_t ret = g_component->SendCommand(CODEC_COMMAND_MAX, 0, cmdData);
2714 ASSERT_EQ(ret, HDF_SUCCESS);
2715 }
2716 /**
2717 * @tc.number SUB_Driver_Codec_SendCommand_3700
2718 * @tc.name testSendCommand037
2719 * @tc.desc The first and second parameters are CODEC_COMMAND_MAX and 1. SendCommand is successful.
2720 */
HWTEST_F(CodecComponentTestAdditional, testSendCommand037, Function | MediumTest | Level1)2721 HWTEST_F(CodecComponentTestAdditional, testSendCommand037, Function | MediumTest | Level1)
2722 {
2723 ASSERT_TRUE(g_component != nullptr);
2724 std::vector<int8_t> cmdData;
2725 int32_t ret = g_component->SendCommand(CODEC_COMMAND_MAX, 1, cmdData);
2726 ASSERT_EQ(ret, HDF_SUCCESS);
2727 }
2728 /**
2729 * @tc.number SUB_Driver_Codec_SendCommand_3800
2730 * @tc.name testSendCommand038
2731 * @tc.desc The first and second parameters are CODEC_COMMAND_MAX and CODEC_STATE_PAUSE. SendCommand is successful.
2732 */
HWTEST_F(CodecComponentTestAdditional, testSendCommand038, Function | MediumTest | Level1)2733 HWTEST_F(CodecComponentTestAdditional, testSendCommand038, Function | MediumTest | Level1)
2734 {
2735 ASSERT_TRUE(g_component != nullptr);
2736 std::vector<int8_t> cmdData;
2737 int32_t ret = g_component->SendCommand(CODEC_COMMAND_MAX, CODEC_STATE_PAUSE, cmdData);
2738 ASSERT_EQ(ret, HDF_SUCCESS);
2739 }
2740 #endif
2741 } // namespace