1da853ecaSopenharmony_ci/* 2da853ecaSopenharmony_ci * Copyright (C) 2022 Huawei Device Co., Ltd. 3da853ecaSopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License"); 4da853ecaSopenharmony_ci * you may not use this file except in compliance with the License. 5da853ecaSopenharmony_ci * You may obtain a copy of the License at 6da853ecaSopenharmony_ci * 7da853ecaSopenharmony_ci * http://www.apache.org/licenses/LICENSE-2.0 8da853ecaSopenharmony_ci * 9da853ecaSopenharmony_ci * Unless required by applicable law or agreed to in writing, software 10da853ecaSopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS, 11da853ecaSopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12da853ecaSopenharmony_ci * See the License for the specific language governing permissions and 13da853ecaSopenharmony_ci * limitations under the License. 14da853ecaSopenharmony_ci */ 15da853ecaSopenharmony_ci 16da853ecaSopenharmony_ci#include <string> 17da853ecaSopenharmony_ci#include "gtest/gtest.h" 18da853ecaSopenharmony_ci#include "AudioEncoderDemoCommon.h" 19da853ecaSopenharmony_ci 20da853ecaSopenharmony_ciusing namespace std; 21da853ecaSopenharmony_ciusing namespace testing::ext; 22da853ecaSopenharmony_ciusing namespace OHOS; 23da853ecaSopenharmony_ciusing namespace OHOS::MediaAVCodec; 24da853ecaSopenharmony_ci 25da853ecaSopenharmony_cinamespace { 26da853ecaSopenharmony_ciclass NativeInterfaceDependCheckTest : public testing::Test { 27da853ecaSopenharmony_cipublic: 28da853ecaSopenharmony_ci static void SetUpTestCase(); 29da853ecaSopenharmony_ci static void TearDownTestCase(); 30da853ecaSopenharmony_ci void SetUp() override; 31da853ecaSopenharmony_ci void TearDown() override; 32da853ecaSopenharmony_ci}; 33da853ecaSopenharmony_ci 34da853ecaSopenharmony_civoid NativeInterfaceDependCheckTest::SetUpTestCase() {} 35da853ecaSopenharmony_civoid NativeInterfaceDependCheckTest::TearDownTestCase() {} 36da853ecaSopenharmony_civoid NativeInterfaceDependCheckTest::SetUp() {} 37da853ecaSopenharmony_civoid NativeInterfaceDependCheckTest::TearDown() {} 38da853ecaSopenharmony_ci 39da853ecaSopenharmony_ciOH_AVCodec *Create(AudioEncoderDemo *encoderDemo) 40da853ecaSopenharmony_ci{ 41da853ecaSopenharmony_ci return encoderDemo->NativeCreateByName("OH.Media.Codec.Encoder.Audio.AAC"); 42da853ecaSopenharmony_ci} 43da853ecaSopenharmony_ci 44da853ecaSopenharmony_ciOH_AVErrCode Destroy(AudioEncoderDemo *encoderDemo, OH_AVCodec *handle) 45da853ecaSopenharmony_ci{ 46da853ecaSopenharmony_ci return encoderDemo->NativeDestroy(handle); 47da853ecaSopenharmony_ci} 48da853ecaSopenharmony_ci 49da853ecaSopenharmony_ciOH_AVErrCode SetCallback(AudioEncoderDemo *encoderDemo, OH_AVCodec *handle) 50da853ecaSopenharmony_ci{ 51da853ecaSopenharmony_ci struct OH_AVCodecAsyncCallback cb = {&OnError, &OnOutputFormatChanged, &OnInputBufferAvailable, 52da853ecaSopenharmony_ci &OnOutputBufferAvailable}; 53da853ecaSopenharmony_ci return encoderDemo->NativeSetCallback(handle, cb); 54da853ecaSopenharmony_ci} 55da853ecaSopenharmony_ci 56da853ecaSopenharmony_ciOH_AVErrCode Configure(AudioEncoderDemo *encoderDemo, OH_AVCodec *handle) 57da853ecaSopenharmony_ci{ 58da853ecaSopenharmony_ci constexpr uint32_t CHANNEL_COUNT = 2; 59da853ecaSopenharmony_ci constexpr uint32_t SAMPLE_RATE = 44100; 60da853ecaSopenharmony_ci constexpr uint32_t BITS_RATE = 169000; 61da853ecaSopenharmony_ci OH_AVFormat *format = OH_AVFormat_Create(); 62da853ecaSopenharmony_ci OH_AVFormat_SetIntValue(format, OH_MD_KEY_AUD_CHANNEL_COUNT, CHANNEL_COUNT); 63da853ecaSopenharmony_ci OH_AVFormat_SetIntValue(format, OH_MD_KEY_AUD_SAMPLE_RATE, SAMPLE_RATE); 64da853ecaSopenharmony_ci OH_AVFormat_SetIntValue(format, OH_MD_KEY_BITS_PER_CODED_SAMPLE, OH_BitsPerSample::SAMPLE_F32LE); 65da853ecaSopenharmony_ci OH_AVFormat_SetIntValue(format, OH_MD_KEY_AUDIO_SAMPLE_FORMAT, OH_BitsPerSample::SAMPLE_F32LE); 66da853ecaSopenharmony_ci OH_AVFormat_SetLongValue(format, OH_MD_KEY_CHANNEL_LAYOUT, STEREO); 67da853ecaSopenharmony_ci OH_AVFormat_SetIntValue(format, OH_MD_KEY_AAC_IS_ADTS, 1); 68da853ecaSopenharmony_ci OH_AVFormat_SetLongValue(format, OH_MD_KEY_BITRATE, BITS_RATE); 69da853ecaSopenharmony_ci 70da853ecaSopenharmony_ci OH_AVErrCode ret = encoderDemo->NativeConfigure(handle, format); 71da853ecaSopenharmony_ci 72da853ecaSopenharmony_ci OH_AVFormat_Destroy(format); 73da853ecaSopenharmony_ci return ret; 74da853ecaSopenharmony_ci} 75da853ecaSopenharmony_ci 76da853ecaSopenharmony_ciOH_AVErrCode Prepare(AudioEncoderDemo *encoderDemo, OH_AVCodec *handle) 77da853ecaSopenharmony_ci{ 78da853ecaSopenharmony_ci return encoderDemo->NativePrepare(handle); 79da853ecaSopenharmony_ci} 80da853ecaSopenharmony_ci 81da853ecaSopenharmony_ciOH_AVErrCode Start(AudioEncoderDemo *encoderDemo, OH_AVCodec *handle, uint32_t &index, uint8_t *data) 82da853ecaSopenharmony_ci{ 83da853ecaSopenharmony_ci OH_AVErrCode ret = encoderDemo->NativeStart(handle); 84da853ecaSopenharmony_ci if (ret != AV_ERR_OK) { 85da853ecaSopenharmony_ci return ret; 86da853ecaSopenharmony_ci } 87da853ecaSopenharmony_ci 88da853ecaSopenharmony_ci sleep(1); 89da853ecaSopenharmony_ci index = encoderDemo->NativeGetInputIndex(); 90da853ecaSopenharmony_ci data = encoderDemo->NativeGetInputBuf(); 91da853ecaSopenharmony_ci 92da853ecaSopenharmony_ci return ret; 93da853ecaSopenharmony_ci} 94da853ecaSopenharmony_ci 95da853ecaSopenharmony_ciOH_AVErrCode Stop(AudioEncoderDemo *encoderDemo, OH_AVCodec *handle) 96da853ecaSopenharmony_ci{ 97da853ecaSopenharmony_ci return encoderDemo->NativeStop(handle); 98da853ecaSopenharmony_ci} 99da853ecaSopenharmony_ci 100da853ecaSopenharmony_ciOH_AVErrCode Flush(AudioEncoderDemo *encoderDemo, OH_AVCodec *handle) 101da853ecaSopenharmony_ci{ 102da853ecaSopenharmony_ci return encoderDemo->NativeFlush(handle); 103da853ecaSopenharmony_ci} 104da853ecaSopenharmony_ci 105da853ecaSopenharmony_ciOH_AVErrCode Reset(AudioEncoderDemo *encoderDemo, OH_AVCodec *handle) 106da853ecaSopenharmony_ci{ 107da853ecaSopenharmony_ci return encoderDemo->NativeReset(handle); 108da853ecaSopenharmony_ci} 109da853ecaSopenharmony_ci 110da853ecaSopenharmony_ciOH_AVErrCode PushInputData(AudioEncoderDemo *encoderDemo, OH_AVCodec *handle, uint32_t index) 111da853ecaSopenharmony_ci{ 112da853ecaSopenharmony_ci OH_AVCodecBufferAttr info; 113da853ecaSopenharmony_ci constexpr uint32_t INFO_SIZE = 100; 114da853ecaSopenharmony_ci info.size = INFO_SIZE; 115da853ecaSopenharmony_ci info.offset = 0; 116da853ecaSopenharmony_ci info.pts = 0; 117da853ecaSopenharmony_ci info.flags = AVCODEC_BUFFER_FLAGS_NONE; 118da853ecaSopenharmony_ci 119da853ecaSopenharmony_ci return encoderDemo->NativePushInputData(handle, index, info); 120da853ecaSopenharmony_ci} 121da853ecaSopenharmony_ci 122da853ecaSopenharmony_ciOH_AVErrCode PushInputDataEOS(AudioEncoderDemo *encoderDemo, OH_AVCodec *handle, uint32_t index) 123da853ecaSopenharmony_ci{ 124da853ecaSopenharmony_ci OH_AVCodecBufferAttr info; 125da853ecaSopenharmony_ci info.size = 0; 126da853ecaSopenharmony_ci info.offset = 0; 127da853ecaSopenharmony_ci info.pts = 0; 128da853ecaSopenharmony_ci info.flags = AVCODEC_BUFFER_FLAGS_EOS; 129da853ecaSopenharmony_ci 130da853ecaSopenharmony_ci return encoderDemo->NativePushInputData(handle, index, info); 131da853ecaSopenharmony_ci} 132da853ecaSopenharmony_ci} // namespace 133da853ecaSopenharmony_ci 134da853ecaSopenharmony_ci/** 135da853ecaSopenharmony_ci * @tc.number : SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_001 136da853ecaSopenharmony_ci * @tc.name : Create -> SetCallback 137da853ecaSopenharmony_ci * @tc.desc : interface depend check 138da853ecaSopenharmony_ci */ 139da853ecaSopenharmony_ciHWTEST_F(NativeInterfaceDependCheckTest, SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_001, TestSize.Level2) 140da853ecaSopenharmony_ci{ 141da853ecaSopenharmony_ci OH_AVErrCode ret; 142da853ecaSopenharmony_ci AudioEncoderDemo *encoderDemo = new AudioEncoderDemo(); 143da853ecaSopenharmony_ci OH_AVCodec *handle = Create(encoderDemo); 144da853ecaSopenharmony_ci ASSERT_NE(nullptr, handle); 145da853ecaSopenharmony_ci 146da853ecaSopenharmony_ci ret = SetCallback(encoderDemo, handle); 147da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 148da853ecaSopenharmony_ci 149da853ecaSopenharmony_ci Destroy(encoderDemo, handle); 150da853ecaSopenharmony_ci delete encoderDemo; 151da853ecaSopenharmony_ci} 152da853ecaSopenharmony_ci 153da853ecaSopenharmony_ci/** 154da853ecaSopenharmony_ci * @tc.number : SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_002 155da853ecaSopenharmony_ci * @tc.name : Create -> SetCallback -> SetCallback 156da853ecaSopenharmony_ci * @tc.desc : interface depend check 157da853ecaSopenharmony_ci */ 158da853ecaSopenharmony_ciHWTEST_F(NativeInterfaceDependCheckTest, SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_002, TestSize.Level2) 159da853ecaSopenharmony_ci{ 160da853ecaSopenharmony_ci OH_AVErrCode ret; 161da853ecaSopenharmony_ci AudioEncoderDemo *encoderDemo = new AudioEncoderDemo(); 162da853ecaSopenharmony_ci OH_AVCodec *handle = Create(encoderDemo); 163da853ecaSopenharmony_ci ASSERT_NE(nullptr, handle); 164da853ecaSopenharmony_ci 165da853ecaSopenharmony_ci ret = SetCallback(encoderDemo, handle); 166da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 167da853ecaSopenharmony_ci 168da853ecaSopenharmony_ci ret = SetCallback(encoderDemo, handle); 169da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 170da853ecaSopenharmony_ci 171da853ecaSopenharmony_ci Destroy(encoderDemo, handle); 172da853ecaSopenharmony_ci delete encoderDemo; 173da853ecaSopenharmony_ci} 174da853ecaSopenharmony_ci 175da853ecaSopenharmony_ci/** 176da853ecaSopenharmony_ci * @tc.number : SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_003 177da853ecaSopenharmony_ci * @tc.name : Create -> Configure -> SetCallback 178da853ecaSopenharmony_ci * @tc.desc : interface depend check 179da853ecaSopenharmony_ci */ 180da853ecaSopenharmony_ciHWTEST_F(NativeInterfaceDependCheckTest, SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_003, TestSize.Level2) 181da853ecaSopenharmony_ci{ 182da853ecaSopenharmony_ci OH_AVErrCode ret; 183da853ecaSopenharmony_ci AudioEncoderDemo *encoderDemo = new AudioEncoderDemo(); 184da853ecaSopenharmony_ci OH_AVCodec *handle = Create(encoderDemo); 185da853ecaSopenharmony_ci ASSERT_NE(nullptr, handle); 186da853ecaSopenharmony_ci 187da853ecaSopenharmony_ci ret = Configure(encoderDemo, handle); 188da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 189da853ecaSopenharmony_ci 190da853ecaSopenharmony_ci ret = SetCallback(encoderDemo, handle); 191da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 192da853ecaSopenharmony_ci 193da853ecaSopenharmony_ci Destroy(encoderDemo, handle); 194da853ecaSopenharmony_ci delete encoderDemo; 195da853ecaSopenharmony_ci} 196da853ecaSopenharmony_ci 197da853ecaSopenharmony_ci/** 198da853ecaSopenharmony_ci * @tc.number : SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_004 199da853ecaSopenharmony_ci * @tc.name : Create -> SetCallback -> Configure -> Prepare -> SetCallback 200da853ecaSopenharmony_ci * @tc.desc : interface depend check 201da853ecaSopenharmony_ci */ 202da853ecaSopenharmony_ciHWTEST_F(NativeInterfaceDependCheckTest, SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_004, TestSize.Level2) 203da853ecaSopenharmony_ci{ 204da853ecaSopenharmony_ci OH_AVErrCode ret; 205da853ecaSopenharmony_ci AudioEncoderDemo *encoderDemo = new AudioEncoderDemo(); 206da853ecaSopenharmony_ci OH_AVCodec *handle = Create(encoderDemo); 207da853ecaSopenharmony_ci ASSERT_NE(nullptr, handle); 208da853ecaSopenharmony_ci 209da853ecaSopenharmony_ci ret = SetCallback(encoderDemo, handle); 210da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 211da853ecaSopenharmony_ci 212da853ecaSopenharmony_ci ret = Configure(encoderDemo, handle); 213da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 214da853ecaSopenharmony_ci 215da853ecaSopenharmony_ci ret = Prepare(encoderDemo, handle); 216da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 217da853ecaSopenharmony_ci 218da853ecaSopenharmony_ci ret = SetCallback(encoderDemo, handle); 219da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 220da853ecaSopenharmony_ci 221da853ecaSopenharmony_ci Destroy(encoderDemo, handle); 222da853ecaSopenharmony_ci delete encoderDemo; 223da853ecaSopenharmony_ci} 224da853ecaSopenharmony_ci 225da853ecaSopenharmony_ci/** 226da853ecaSopenharmony_ci * @tc.number : SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_005 227da853ecaSopenharmony_ci * @tc.name : Create -> SetCallback -> Configure -> Prepare -> Start -> SetCallback 228da853ecaSopenharmony_ci * @tc.desc : interface depend check 229da853ecaSopenharmony_ci */ 230da853ecaSopenharmony_ciHWTEST_F(NativeInterfaceDependCheckTest, SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_005, TestSize.Level2) 231da853ecaSopenharmony_ci{ 232da853ecaSopenharmony_ci OH_AVErrCode ret; 233da853ecaSopenharmony_ci uint32_t trackId = -1; 234da853ecaSopenharmony_ci uint8_t *data = nullptr; 235da853ecaSopenharmony_ci 236da853ecaSopenharmony_ci AudioEncoderDemo *encoderDemo = new AudioEncoderDemo(); 237da853ecaSopenharmony_ci OH_AVCodec *handle = Create(encoderDemo); 238da853ecaSopenharmony_ci cout << "handle is " << handle << endl; 239da853ecaSopenharmony_ci ASSERT_NE(nullptr, handle); 240da853ecaSopenharmony_ci 241da853ecaSopenharmony_ci ret = SetCallback(encoderDemo, handle); 242da853ecaSopenharmony_ci cout << "SetCallback ret is " << ret << endl; 243da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 244da853ecaSopenharmony_ci 245da853ecaSopenharmony_ci ret = Configure(encoderDemo, handle); 246da853ecaSopenharmony_ci cout << "Configure ret is " << ret << endl; 247da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 248da853ecaSopenharmony_ci 249da853ecaSopenharmony_ci ret = Prepare(encoderDemo, handle); 250da853ecaSopenharmony_ci cout << "Prepare ret is " << ret << endl; 251da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 252da853ecaSopenharmony_ci 253da853ecaSopenharmony_ci ret = Start(encoderDemo, handle, trackId, data); 254da853ecaSopenharmony_ci cout << "Start ret is " << ret << endl; 255da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 256da853ecaSopenharmony_ci 257da853ecaSopenharmony_ci ret = SetCallback(encoderDemo, handle); 258da853ecaSopenharmony_ci cout << "SetCallback ret is " << ret << endl; 259da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 260da853ecaSopenharmony_ci 261da853ecaSopenharmony_ci Destroy(encoderDemo, handle); 262da853ecaSopenharmony_ci delete encoderDemo; 263da853ecaSopenharmony_ci} 264da853ecaSopenharmony_ci 265da853ecaSopenharmony_ci/** 266da853ecaSopenharmony_ci * @tc.number : SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_006 267da853ecaSopenharmony_ci * @tc.name : Create -> SetCallback -> Configure -> Prepare -> Start -> PushInputData -> SetCallback 268da853ecaSopenharmony_ci * @tc.desc : interface depend check 269da853ecaSopenharmony_ci */ 270da853ecaSopenharmony_ciHWTEST_F(NativeInterfaceDependCheckTest, SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_006, TestSize.Level2) 271da853ecaSopenharmony_ci{ 272da853ecaSopenharmony_ci OH_AVErrCode ret; 273da853ecaSopenharmony_ci uint32_t trackId = -1; 274da853ecaSopenharmony_ci uint8_t *data = nullptr; 275da853ecaSopenharmony_ci 276da853ecaSopenharmony_ci AudioEncoderDemo *encoderDemo = new AudioEncoderDemo(); 277da853ecaSopenharmony_ci OH_AVCodec *handle = Create(encoderDemo); 278da853ecaSopenharmony_ci ASSERT_NE(nullptr, handle); 279da853ecaSopenharmony_ci 280da853ecaSopenharmony_ci ret = SetCallback(encoderDemo, handle); 281da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 282da853ecaSopenharmony_ci 283da853ecaSopenharmony_ci ret = Configure(encoderDemo, handle); 284da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 285da853ecaSopenharmony_ci 286da853ecaSopenharmony_ci ret = Prepare(encoderDemo, handle); 287da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 288da853ecaSopenharmony_ci 289da853ecaSopenharmony_ci ret = Start(encoderDemo, handle, trackId, data); 290da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 291da853ecaSopenharmony_ci 292da853ecaSopenharmony_ci ret = PushInputData(encoderDemo, handle, trackId); 293da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 294da853ecaSopenharmony_ci 295da853ecaSopenharmony_ci ret = SetCallback(encoderDemo, handle); 296da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 297da853ecaSopenharmony_ci 298da853ecaSopenharmony_ci Destroy(encoderDemo, handle); 299da853ecaSopenharmony_ci delete encoderDemo; 300da853ecaSopenharmony_ci} 301da853ecaSopenharmony_ci 302da853ecaSopenharmony_ci/** 303da853ecaSopenharmony_ci * @tc.number : SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_007 304da853ecaSopenharmony_ci * @tc.name : Create -> SetCallback -> Configure -> Prepare -> Start -> PushInputData[EOS] -> SetCallback 305da853ecaSopenharmony_ci * @tc.desc : interface depend check 306da853ecaSopenharmony_ci */ 307da853ecaSopenharmony_ciHWTEST_F(NativeInterfaceDependCheckTest, SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_007, TestSize.Level2) 308da853ecaSopenharmony_ci{ 309da853ecaSopenharmony_ci OH_AVErrCode ret; 310da853ecaSopenharmony_ci uint32_t trackId = -1; 311da853ecaSopenharmony_ci uint8_t *data = nullptr; 312da853ecaSopenharmony_ci 313da853ecaSopenharmony_ci AudioEncoderDemo *encoderDemo = new AudioEncoderDemo(); 314da853ecaSopenharmony_ci OH_AVCodec *handle = Create(encoderDemo); 315da853ecaSopenharmony_ci ASSERT_NE(nullptr, handle); 316da853ecaSopenharmony_ci 317da853ecaSopenharmony_ci ret = SetCallback(encoderDemo, handle); 318da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 319da853ecaSopenharmony_ci 320da853ecaSopenharmony_ci ret = Configure(encoderDemo, handle); 321da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 322da853ecaSopenharmony_ci 323da853ecaSopenharmony_ci ret = Prepare(encoderDemo, handle); 324da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 325da853ecaSopenharmony_ci 326da853ecaSopenharmony_ci ret = Start(encoderDemo, handle, trackId, data); 327da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 328da853ecaSopenharmony_ci 329da853ecaSopenharmony_ci ret = PushInputDataEOS(encoderDemo, handle, trackId); 330da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 331da853ecaSopenharmony_ci 332da853ecaSopenharmony_ci ret = SetCallback(encoderDemo, handle); 333da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 334da853ecaSopenharmony_ci 335da853ecaSopenharmony_ci Destroy(encoderDemo, handle); 336da853ecaSopenharmony_ci delete encoderDemo; 337da853ecaSopenharmony_ci} 338da853ecaSopenharmony_ci 339da853ecaSopenharmony_ci/** 340da853ecaSopenharmony_ci * @tc.number : SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_008 341da853ecaSopenharmony_ci * @tc.name : Create -> SetCallback -> Configure -> Prepare -> Start -> Flush -> SetCallback 342da853ecaSopenharmony_ci * @tc.desc : interface depend check 343da853ecaSopenharmony_ci */ 344da853ecaSopenharmony_ciHWTEST_F(NativeInterfaceDependCheckTest, SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_008, TestSize.Level2) 345da853ecaSopenharmony_ci{ 346da853ecaSopenharmony_ci OH_AVErrCode ret; 347da853ecaSopenharmony_ci uint32_t trackId = -1; 348da853ecaSopenharmony_ci uint8_t *data = nullptr; 349da853ecaSopenharmony_ci 350da853ecaSopenharmony_ci AudioEncoderDemo *encoderDemo = new AudioEncoderDemo(); 351da853ecaSopenharmony_ci OH_AVCodec *handle = Create(encoderDemo); 352da853ecaSopenharmony_ci ASSERT_NE(nullptr, handle); 353da853ecaSopenharmony_ci 354da853ecaSopenharmony_ci ret = SetCallback(encoderDemo, handle); 355da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 356da853ecaSopenharmony_ci 357da853ecaSopenharmony_ci ret = Configure(encoderDemo, handle); 358da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 359da853ecaSopenharmony_ci 360da853ecaSopenharmony_ci ret = Prepare(encoderDemo, handle); 361da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 362da853ecaSopenharmony_ci 363da853ecaSopenharmony_ci ret = Start(encoderDemo, handle, trackId, data); 364da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 365da853ecaSopenharmony_ci 366da853ecaSopenharmony_ci ret = Flush(encoderDemo, handle); 367da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 368da853ecaSopenharmony_ci 369da853ecaSopenharmony_ci ret = SetCallback(encoderDemo, handle); 370da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 371da853ecaSopenharmony_ci 372da853ecaSopenharmony_ci Destroy(encoderDemo, handle); 373da853ecaSopenharmony_ci delete encoderDemo; 374da853ecaSopenharmony_ci} 375da853ecaSopenharmony_ci 376da853ecaSopenharmony_ci/** 377da853ecaSopenharmony_ci * @tc.number : SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_009 378da853ecaSopenharmony_ci * @tc.name : Create -> SetCallback -> Configure -> Prepare -> Start -> Stop -> SetCallback 379da853ecaSopenharmony_ci * @tc.desc : interface depend check 380da853ecaSopenharmony_ci */ 381da853ecaSopenharmony_ciHWTEST_F(NativeInterfaceDependCheckTest, SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_009, TestSize.Level2) 382da853ecaSopenharmony_ci{ 383da853ecaSopenharmony_ci OH_AVErrCode ret; 384da853ecaSopenharmony_ci uint32_t trackId = -1; 385da853ecaSopenharmony_ci uint8_t *data = nullptr; 386da853ecaSopenharmony_ci 387da853ecaSopenharmony_ci AudioEncoderDemo *encoderDemo = new AudioEncoderDemo(); 388da853ecaSopenharmony_ci OH_AVCodec *handle = Create(encoderDemo); 389da853ecaSopenharmony_ci ASSERT_NE(nullptr, handle); 390da853ecaSopenharmony_ci 391da853ecaSopenharmony_ci ret = SetCallback(encoderDemo, handle); 392da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 393da853ecaSopenharmony_ci 394da853ecaSopenharmony_ci ret = Configure(encoderDemo, handle); 395da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 396da853ecaSopenharmony_ci 397da853ecaSopenharmony_ci ret = Prepare(encoderDemo, handle); 398da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 399da853ecaSopenharmony_ci 400da853ecaSopenharmony_ci ret = Start(encoderDemo, handle, trackId, data); 401da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 402da853ecaSopenharmony_ci 403da853ecaSopenharmony_ci ret = Stop(encoderDemo, handle); 404da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 405da853ecaSopenharmony_ci 406da853ecaSopenharmony_ci ret = SetCallback(encoderDemo, handle); 407da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 408da853ecaSopenharmony_ci 409da853ecaSopenharmony_ci Destroy(encoderDemo, handle); 410da853ecaSopenharmony_ci delete encoderDemo; 411da853ecaSopenharmony_ci} 412da853ecaSopenharmony_ci 413da853ecaSopenharmony_ci/** 414da853ecaSopenharmony_ci * @tc.number : SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_010 415da853ecaSopenharmony_ci * @tc.name : Create -> SetCallback -> Configure -> Prepare -> Start -> Stop -> Reset -> SetCallback 416da853ecaSopenharmony_ci * @tc.desc : interface depend check 417da853ecaSopenharmony_ci */ 418da853ecaSopenharmony_ciHWTEST_F(NativeInterfaceDependCheckTest, SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_010, TestSize.Level2) 419da853ecaSopenharmony_ci{ 420da853ecaSopenharmony_ci OH_AVErrCode ret; 421da853ecaSopenharmony_ci uint32_t trackId = -1; 422da853ecaSopenharmony_ci uint8_t *data = nullptr; 423da853ecaSopenharmony_ci 424da853ecaSopenharmony_ci AudioEncoderDemo *encoderDemo = new AudioEncoderDemo(); 425da853ecaSopenharmony_ci OH_AVCodec *handle = Create(encoderDemo); 426da853ecaSopenharmony_ci ASSERT_NE(nullptr, handle); 427da853ecaSopenharmony_ci cout << "handle is " << handle << endl; 428da853ecaSopenharmony_ci 429da853ecaSopenharmony_ci ret = SetCallback(encoderDemo, handle); 430da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 431da853ecaSopenharmony_ci cout << "SetCallback ret is " << ret << endl; 432da853ecaSopenharmony_ci 433da853ecaSopenharmony_ci ret = Configure(encoderDemo, handle); 434da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 435da853ecaSopenharmony_ci cout << "Configure ret is " << ret << endl; 436da853ecaSopenharmony_ci 437da853ecaSopenharmony_ci ret = Prepare(encoderDemo, handle); 438da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 439da853ecaSopenharmony_ci cout << "Prepare ret is " << ret << endl; 440da853ecaSopenharmony_ci 441da853ecaSopenharmony_ci ret = Start(encoderDemo, handle, trackId, data); 442da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 443da853ecaSopenharmony_ci cout << "Start ret is " << ret << endl; 444da853ecaSopenharmony_ci 445da853ecaSopenharmony_ci ret = Stop(encoderDemo, handle); 446da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 447da853ecaSopenharmony_ci cout << "Stop ret is " << ret << endl; 448da853ecaSopenharmony_ci 449da853ecaSopenharmony_ci ret = Reset(encoderDemo, handle); 450da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 451da853ecaSopenharmony_ci cout << "Reset ret is " << ret << endl; 452da853ecaSopenharmony_ci 453da853ecaSopenharmony_ci ret = SetCallback(encoderDemo, handle); 454da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 455da853ecaSopenharmony_ci cout << "SetCallback ret is " << ret << endl; 456da853ecaSopenharmony_ci 457da853ecaSopenharmony_ci Destroy(encoderDemo, handle); 458da853ecaSopenharmony_ci delete encoderDemo; 459da853ecaSopenharmony_ci} 460da853ecaSopenharmony_ci 461da853ecaSopenharmony_ci/** 462da853ecaSopenharmony_ci * @tc.number : SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_011 463da853ecaSopenharmony_ci * @tc.name : Create -> SetCallback -> Configure 464da853ecaSopenharmony_ci * @tc.desc : interface depend check 465da853ecaSopenharmony_ci */ 466da853ecaSopenharmony_ciHWTEST_F(NativeInterfaceDependCheckTest, SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_011, TestSize.Level2) 467da853ecaSopenharmony_ci{ 468da853ecaSopenharmony_ci OH_AVErrCode ret; 469da853ecaSopenharmony_ci 470da853ecaSopenharmony_ci AudioEncoderDemo *encoderDemo = new AudioEncoderDemo(); 471da853ecaSopenharmony_ci OH_AVCodec *handle = Create(encoderDemo); 472da853ecaSopenharmony_ci ASSERT_NE(nullptr, handle); 473da853ecaSopenharmony_ci 474da853ecaSopenharmony_ci ret = SetCallback(encoderDemo, handle); 475da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 476da853ecaSopenharmony_ci 477da853ecaSopenharmony_ci ret = Configure(encoderDemo, handle); 478da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 479da853ecaSopenharmony_ci 480da853ecaSopenharmony_ci Destroy(encoderDemo, handle); 481da853ecaSopenharmony_ci delete encoderDemo; 482da853ecaSopenharmony_ci} 483da853ecaSopenharmony_ci 484da853ecaSopenharmony_ci/** 485da853ecaSopenharmony_ci * @tc.number : SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_012 486da853ecaSopenharmony_ci * @tc.name : Create -> SetCallback -> Configure -> Configure 487da853ecaSopenharmony_ci * @tc.desc : interface depend check 488da853ecaSopenharmony_ci */ 489da853ecaSopenharmony_ciHWTEST_F(NativeInterfaceDependCheckTest, SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_012, TestSize.Level2) 490da853ecaSopenharmony_ci{ 491da853ecaSopenharmony_ci OH_AVErrCode ret; 492da853ecaSopenharmony_ci 493da853ecaSopenharmony_ci AudioEncoderDemo *encoderDemo = new AudioEncoderDemo(); 494da853ecaSopenharmony_ci OH_AVCodec *handle = Create(encoderDemo); 495da853ecaSopenharmony_ci ASSERT_NE(nullptr, handle); 496da853ecaSopenharmony_ci 497da853ecaSopenharmony_ci ret = SetCallback(encoderDemo, handle); 498da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 499da853ecaSopenharmony_ci 500da853ecaSopenharmony_ci ret = Configure(encoderDemo, handle); 501da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 502da853ecaSopenharmony_ci 503da853ecaSopenharmony_ci ret = Configure(encoderDemo, handle); 504da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_INVALID_STATE, ret); 505da853ecaSopenharmony_ci 506da853ecaSopenharmony_ci Destroy(encoderDemo, handle); 507da853ecaSopenharmony_ci delete encoderDemo; 508da853ecaSopenharmony_ci} 509da853ecaSopenharmony_ci 510da853ecaSopenharmony_ci/** 511da853ecaSopenharmony_ci * @tc.number : SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_013 512da853ecaSopenharmony_ci * @tc.name : Create -> SetCallback -> Configure -> Prepare -> Configure 513da853ecaSopenharmony_ci * @tc.desc : interface depend check 514da853ecaSopenharmony_ci */ 515da853ecaSopenharmony_ciHWTEST_F(NativeInterfaceDependCheckTest, SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_013, TestSize.Level2) 516da853ecaSopenharmony_ci{ 517da853ecaSopenharmony_ci OH_AVErrCode ret; 518da853ecaSopenharmony_ci 519da853ecaSopenharmony_ci AudioEncoderDemo *encoderDemo = new AudioEncoderDemo(); 520da853ecaSopenharmony_ci OH_AVCodec *handle = Create(encoderDemo); 521da853ecaSopenharmony_ci ASSERT_NE(nullptr, handle); 522da853ecaSopenharmony_ci 523da853ecaSopenharmony_ci ret = SetCallback(encoderDemo, handle); 524da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 525da853ecaSopenharmony_ci 526da853ecaSopenharmony_ci ret = Configure(encoderDemo, handle); 527da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 528da853ecaSopenharmony_ci 529da853ecaSopenharmony_ci ret = Prepare(encoderDemo, handle); 530da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 531da853ecaSopenharmony_ci 532da853ecaSopenharmony_ci ret = Configure(encoderDemo, handle); 533da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_INVALID_STATE, ret); 534da853ecaSopenharmony_ci 535da853ecaSopenharmony_ci Destroy(encoderDemo, handle); 536da853ecaSopenharmony_ci delete encoderDemo; 537da853ecaSopenharmony_ci} 538da853ecaSopenharmony_ci 539da853ecaSopenharmony_ci/** 540da853ecaSopenharmony_ci * @tc.number : SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_014 541da853ecaSopenharmony_ci * @tc.name : Create -> SetCallback -> Configure -> Prepare -> Start -> Configure 542da853ecaSopenharmony_ci * @tc.desc : interface depend check 543da853ecaSopenharmony_ci */ 544da853ecaSopenharmony_ciHWTEST_F(NativeInterfaceDependCheckTest, SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_014, TestSize.Level2) 545da853ecaSopenharmony_ci{ 546da853ecaSopenharmony_ci OH_AVErrCode ret; 547da853ecaSopenharmony_ci uint32_t trackId = -1; 548da853ecaSopenharmony_ci uint8_t *data = nullptr; 549da853ecaSopenharmony_ci 550da853ecaSopenharmony_ci AudioEncoderDemo *encoderDemo = new AudioEncoderDemo(); 551da853ecaSopenharmony_ci OH_AVCodec *handle = Create(encoderDemo); 552da853ecaSopenharmony_ci ASSERT_NE(nullptr, handle); 553da853ecaSopenharmony_ci 554da853ecaSopenharmony_ci ret = SetCallback(encoderDemo, handle); 555da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 556da853ecaSopenharmony_ci 557da853ecaSopenharmony_ci ret = Configure(encoderDemo, handle); 558da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 559da853ecaSopenharmony_ci 560da853ecaSopenharmony_ci ret = Prepare(encoderDemo, handle); 561da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 562da853ecaSopenharmony_ci 563da853ecaSopenharmony_ci ret = Start(encoderDemo, handle, trackId, data); 564da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 565da853ecaSopenharmony_ci 566da853ecaSopenharmony_ci ret = Configure(encoderDemo, handle); 567da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_INVALID_STATE, ret); 568da853ecaSopenharmony_ci 569da853ecaSopenharmony_ci Destroy(encoderDemo, handle); 570da853ecaSopenharmony_ci delete encoderDemo; 571da853ecaSopenharmony_ci} 572da853ecaSopenharmony_ci 573da853ecaSopenharmony_ci/** 574da853ecaSopenharmony_ci * @tc.number : SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_015 575da853ecaSopenharmony_ci * @tc.name : Create -> SetCallback -> Configure -> Prepare -> Start -> PushInputData -> Configure 576da853ecaSopenharmony_ci * @tc.desc : interface depend check 577da853ecaSopenharmony_ci */ 578da853ecaSopenharmony_ciHWTEST_F(NativeInterfaceDependCheckTest, SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_015, TestSize.Level2) 579da853ecaSopenharmony_ci{ 580da853ecaSopenharmony_ci OH_AVErrCode ret; 581da853ecaSopenharmony_ci uint32_t trackId = -1; 582da853ecaSopenharmony_ci uint8_t *data = nullptr; 583da853ecaSopenharmony_ci 584da853ecaSopenharmony_ci AudioEncoderDemo *encoderDemo = new AudioEncoderDemo(); 585da853ecaSopenharmony_ci OH_AVCodec *handle = Create(encoderDemo); 586da853ecaSopenharmony_ci ASSERT_NE(nullptr, handle); 587da853ecaSopenharmony_ci 588da853ecaSopenharmony_ci ret = SetCallback(encoderDemo, handle); 589da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 590da853ecaSopenharmony_ci 591da853ecaSopenharmony_ci ret = Configure(encoderDemo, handle); 592da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 593da853ecaSopenharmony_ci 594da853ecaSopenharmony_ci ret = Prepare(encoderDemo, handle); 595da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 596da853ecaSopenharmony_ci 597da853ecaSopenharmony_ci ret = Start(encoderDemo, handle, trackId, data); 598da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 599da853ecaSopenharmony_ci 600da853ecaSopenharmony_ci ret = PushInputData(encoderDemo, handle, trackId); 601da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 602da853ecaSopenharmony_ci 603da853ecaSopenharmony_ci ret = Configure(encoderDemo, handle); 604da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_INVALID_STATE, ret); 605da853ecaSopenharmony_ci 606da853ecaSopenharmony_ci Destroy(encoderDemo, handle); 607da853ecaSopenharmony_ci delete encoderDemo; 608da853ecaSopenharmony_ci} 609da853ecaSopenharmony_ci 610da853ecaSopenharmony_ci/** 611da853ecaSopenharmony_ci * @tc.number : SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_016 612da853ecaSopenharmony_ci * @tc.name : Create -> SetCallback -> Configure -> Prepare -> Start -> PushInputData[EOS] -> Configure 613da853ecaSopenharmony_ci * @tc.desc : interface depend check 614da853ecaSopenharmony_ci */ 615da853ecaSopenharmony_ciHWTEST_F(NativeInterfaceDependCheckTest, SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_016, TestSize.Level2) 616da853ecaSopenharmony_ci{ 617da853ecaSopenharmony_ci OH_AVErrCode ret; 618da853ecaSopenharmony_ci uint32_t trackId = -1; 619da853ecaSopenharmony_ci uint8_t *data = nullptr; 620da853ecaSopenharmony_ci 621da853ecaSopenharmony_ci AudioEncoderDemo *encoderDemo = new AudioEncoderDemo(); 622da853ecaSopenharmony_ci OH_AVCodec *handle = Create(encoderDemo); 623da853ecaSopenharmony_ci ASSERT_NE(nullptr, handle); 624da853ecaSopenharmony_ci 625da853ecaSopenharmony_ci ret = SetCallback(encoderDemo, handle); 626da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 627da853ecaSopenharmony_ci 628da853ecaSopenharmony_ci ret = Configure(encoderDemo, handle); 629da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 630da853ecaSopenharmony_ci 631da853ecaSopenharmony_ci ret = Prepare(encoderDemo, handle); 632da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 633da853ecaSopenharmony_ci 634da853ecaSopenharmony_ci ret = Start(encoderDemo, handle, trackId, data); 635da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 636da853ecaSopenharmony_ci 637da853ecaSopenharmony_ci ret = PushInputDataEOS(encoderDemo, handle, trackId); 638da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 639da853ecaSopenharmony_ci 640da853ecaSopenharmony_ci ret = Configure(encoderDemo, handle); 641da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_INVALID_STATE, ret); 642da853ecaSopenharmony_ci 643da853ecaSopenharmony_ci Destroy(encoderDemo, handle); 644da853ecaSopenharmony_ci delete encoderDemo; 645da853ecaSopenharmony_ci} 646da853ecaSopenharmony_ci 647da853ecaSopenharmony_ci/** 648da853ecaSopenharmony_ci * @tc.number : SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_017 649da853ecaSopenharmony_ci * @tc.name : Create -> SetCallback -> Configure -> Prepare -> Start -> Flush -> Configure 650da853ecaSopenharmony_ci * @tc.desc : interface depend check 651da853ecaSopenharmony_ci */ 652da853ecaSopenharmony_ciHWTEST_F(NativeInterfaceDependCheckTest, SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_017, TestSize.Level2) 653da853ecaSopenharmony_ci{ 654da853ecaSopenharmony_ci OH_AVErrCode ret; 655da853ecaSopenharmony_ci uint32_t trackId = -1; 656da853ecaSopenharmony_ci uint8_t *data = nullptr; 657da853ecaSopenharmony_ci 658da853ecaSopenharmony_ci AudioEncoderDemo *encoderDemo = new AudioEncoderDemo(); 659da853ecaSopenharmony_ci OH_AVCodec *handle = Create(encoderDemo); 660da853ecaSopenharmony_ci ASSERT_NE(nullptr, handle); 661da853ecaSopenharmony_ci 662da853ecaSopenharmony_ci ret = SetCallback(encoderDemo, handle); 663da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 664da853ecaSopenharmony_ci 665da853ecaSopenharmony_ci ret = Configure(encoderDemo, handle); 666da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 667da853ecaSopenharmony_ci 668da853ecaSopenharmony_ci ret = Prepare(encoderDemo, handle); 669da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 670da853ecaSopenharmony_ci 671da853ecaSopenharmony_ci ret = Start(encoderDemo, handle, trackId, data); 672da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 673da853ecaSopenharmony_ci 674da853ecaSopenharmony_ci ret = Flush(encoderDemo, handle); 675da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 676da853ecaSopenharmony_ci 677da853ecaSopenharmony_ci ret = Configure(encoderDemo, handle); 678da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_INVALID_STATE, ret); 679da853ecaSopenharmony_ci 680da853ecaSopenharmony_ci Destroy(encoderDemo, handle); 681da853ecaSopenharmony_ci delete encoderDemo; 682da853ecaSopenharmony_ci} 683da853ecaSopenharmony_ci 684da853ecaSopenharmony_ci/** 685da853ecaSopenharmony_ci * @tc.number : SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_018 686da853ecaSopenharmony_ci * @tc.name : Create -> SetCallback -> Configure -> Prepare -> Start -> Stop -> Configure 687da853ecaSopenharmony_ci * @tc.desc : interface depend check 688da853ecaSopenharmony_ci */ 689da853ecaSopenharmony_ciHWTEST_F(NativeInterfaceDependCheckTest, SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_018, TestSize.Level2) 690da853ecaSopenharmony_ci{ 691da853ecaSopenharmony_ci OH_AVErrCode ret; 692da853ecaSopenharmony_ci uint32_t trackId = -1; 693da853ecaSopenharmony_ci uint8_t *data = nullptr; 694da853ecaSopenharmony_ci 695da853ecaSopenharmony_ci AudioEncoderDemo *encoderDemo = new AudioEncoderDemo(); 696da853ecaSopenharmony_ci OH_AVCodec *handle = Create(encoderDemo); 697da853ecaSopenharmony_ci ASSERT_NE(nullptr, handle); 698da853ecaSopenharmony_ci 699da853ecaSopenharmony_ci ret = SetCallback(encoderDemo, handle); 700da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 701da853ecaSopenharmony_ci 702da853ecaSopenharmony_ci ret = Configure(encoderDemo, handle); 703da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 704da853ecaSopenharmony_ci 705da853ecaSopenharmony_ci ret = Prepare(encoderDemo, handle); 706da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 707da853ecaSopenharmony_ci 708da853ecaSopenharmony_ci ret = Start(encoderDemo, handle, trackId, data); 709da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 710da853ecaSopenharmony_ci 711da853ecaSopenharmony_ci ret = Stop(encoderDemo, handle); 712da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 713da853ecaSopenharmony_ci 714da853ecaSopenharmony_ci ret = Configure(encoderDemo, handle); 715da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_INVALID_STATE, ret); 716da853ecaSopenharmony_ci 717da853ecaSopenharmony_ci Destroy(encoderDemo, handle); 718da853ecaSopenharmony_ci delete encoderDemo; 719da853ecaSopenharmony_ci} 720da853ecaSopenharmony_ci 721da853ecaSopenharmony_ci/** 722da853ecaSopenharmony_ci * @tc.number : SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_019 723da853ecaSopenharmony_ci * @tc.name : Create -> SetCallback -> Configure -> Prepare -> Start -> Stop -> Reset -> Configure 724da853ecaSopenharmony_ci * @tc.desc : interface depend check 725da853ecaSopenharmony_ci */ 726da853ecaSopenharmony_ciHWTEST_F(NativeInterfaceDependCheckTest, SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_019, TestSize.Level2) 727da853ecaSopenharmony_ci{ 728da853ecaSopenharmony_ci OH_AVErrCode ret; 729da853ecaSopenharmony_ci uint32_t trackId = -1; 730da853ecaSopenharmony_ci uint8_t *data = nullptr; 731da853ecaSopenharmony_ci 732da853ecaSopenharmony_ci AudioEncoderDemo *encoderDemo = new AudioEncoderDemo(); 733da853ecaSopenharmony_ci OH_AVCodec *handle = Create(encoderDemo); 734da853ecaSopenharmony_ci ASSERT_NE(nullptr, handle); 735da853ecaSopenharmony_ci 736da853ecaSopenharmony_ci ret = SetCallback(encoderDemo, handle); 737da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 738da853ecaSopenharmony_ci 739da853ecaSopenharmony_ci ret = Configure(encoderDemo, handle); 740da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 741da853ecaSopenharmony_ci 742da853ecaSopenharmony_ci ret = Prepare(encoderDemo, handle); 743da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 744da853ecaSopenharmony_ci 745da853ecaSopenharmony_ci ret = Start(encoderDemo, handle, trackId, data); 746da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 747da853ecaSopenharmony_ci 748da853ecaSopenharmony_ci ret = Stop(encoderDemo, handle); 749da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 750da853ecaSopenharmony_ci 751da853ecaSopenharmony_ci ret = Reset(encoderDemo, handle); 752da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 753da853ecaSopenharmony_ci 754da853ecaSopenharmony_ci ret = Configure(encoderDemo, handle); 755da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 756da853ecaSopenharmony_ci 757da853ecaSopenharmony_ci Destroy(encoderDemo, handle); 758da853ecaSopenharmony_ci delete encoderDemo; 759da853ecaSopenharmony_ci} 760da853ecaSopenharmony_ci 761da853ecaSopenharmony_ci/** 762da853ecaSopenharmony_ci * @tc.number : SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_020 763da853ecaSopenharmony_ci * @tc.name : Create -> Start 764da853ecaSopenharmony_ci * @tc.desc : interface depend check 765da853ecaSopenharmony_ci */ 766da853ecaSopenharmony_ciHWTEST_F(NativeInterfaceDependCheckTest, SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_020, TestSize.Level2) 767da853ecaSopenharmony_ci{ 768da853ecaSopenharmony_ci OH_AVErrCode ret; 769da853ecaSopenharmony_ci uint32_t trackId = -1; 770da853ecaSopenharmony_ci uint8_t *data = nullptr; 771da853ecaSopenharmony_ci 772da853ecaSopenharmony_ci AudioEncoderDemo *encoderDemo = new AudioEncoderDemo(); 773da853ecaSopenharmony_ci OH_AVCodec *handle = Create(encoderDemo); 774da853ecaSopenharmony_ci ASSERT_NE(nullptr, handle); 775da853ecaSopenharmony_ci 776da853ecaSopenharmony_ci ret = Start(encoderDemo, handle, trackId, data); 777da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_INVALID_STATE, ret); 778da853ecaSopenharmony_ci 779da853ecaSopenharmony_ci Destroy(encoderDemo, handle); 780da853ecaSopenharmony_ci delete encoderDemo; 781da853ecaSopenharmony_ci} 782da853ecaSopenharmony_ci 783da853ecaSopenharmony_ci/** 784da853ecaSopenharmony_ci * @tc.number : SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_021 785da853ecaSopenharmony_ci * @tc.name : Create -> SetCallback -> Configure -> Prepare -> Start 786da853ecaSopenharmony_ci * @tc.desc : interface depend check 787da853ecaSopenharmony_ci */ 788da853ecaSopenharmony_ciHWTEST_F(NativeInterfaceDependCheckTest, SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_021, TestSize.Level2) 789da853ecaSopenharmony_ci{ 790da853ecaSopenharmony_ci OH_AVErrCode ret; 791da853ecaSopenharmony_ci uint32_t trackId = -1; 792da853ecaSopenharmony_ci uint8_t *data = nullptr; 793da853ecaSopenharmony_ci 794da853ecaSopenharmony_ci AudioEncoderDemo *encoderDemo = new AudioEncoderDemo(); 795da853ecaSopenharmony_ci OH_AVCodec *handle = Create(encoderDemo); 796da853ecaSopenharmony_ci ASSERT_NE(nullptr, handle); 797da853ecaSopenharmony_ci 798da853ecaSopenharmony_ci ret = SetCallback(encoderDemo, handle); 799da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 800da853ecaSopenharmony_ci 801da853ecaSopenharmony_ci ret = Configure(encoderDemo, handle); 802da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 803da853ecaSopenharmony_ci 804da853ecaSopenharmony_ci ret = Prepare(encoderDemo, handle); 805da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 806da853ecaSopenharmony_ci 807da853ecaSopenharmony_ci ret = Start(encoderDemo, handle, trackId, data); 808da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 809da853ecaSopenharmony_ci 810da853ecaSopenharmony_ci Destroy(encoderDemo, handle); 811da853ecaSopenharmony_ci delete encoderDemo; 812da853ecaSopenharmony_ci} 813da853ecaSopenharmony_ci 814da853ecaSopenharmony_ci/** 815da853ecaSopenharmony_ci * @tc.number : SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_022 816da853ecaSopenharmony_ci * @tc.name : Create -> SetCallback -> Configure -> Prepare -> Start -> Start 817da853ecaSopenharmony_ci * @tc.desc : interface depend check 818da853ecaSopenharmony_ci */ 819da853ecaSopenharmony_ciHWTEST_F(NativeInterfaceDependCheckTest, SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_022, TestSize.Level2) 820da853ecaSopenharmony_ci{ 821da853ecaSopenharmony_ci OH_AVErrCode ret; 822da853ecaSopenharmony_ci uint32_t trackId = -1; 823da853ecaSopenharmony_ci uint8_t *data = nullptr; 824da853ecaSopenharmony_ci 825da853ecaSopenharmony_ci AudioEncoderDemo *encoderDemo = new AudioEncoderDemo(); 826da853ecaSopenharmony_ci OH_AVCodec *handle = Create(encoderDemo); 827da853ecaSopenharmony_ci ASSERT_NE(nullptr, handle); 828da853ecaSopenharmony_ci 829da853ecaSopenharmony_ci ret = SetCallback(encoderDemo, handle); 830da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 831da853ecaSopenharmony_ci 832da853ecaSopenharmony_ci ret = Configure(encoderDemo, handle); 833da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 834da853ecaSopenharmony_ci 835da853ecaSopenharmony_ci ret = Prepare(encoderDemo, handle); 836da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 837da853ecaSopenharmony_ci 838da853ecaSopenharmony_ci ret = Start(encoderDemo, handle, trackId, data); 839da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 840da853ecaSopenharmony_ci 841da853ecaSopenharmony_ci ret = Start(encoderDemo, handle, trackId, data); 842da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_INVALID_STATE, ret); 843da853ecaSopenharmony_ci 844da853ecaSopenharmony_ci Destroy(encoderDemo, handle); 845da853ecaSopenharmony_ci delete encoderDemo; 846da853ecaSopenharmony_ci} 847da853ecaSopenharmony_ci 848da853ecaSopenharmony_ci/** 849da853ecaSopenharmony_ci * @tc.number : SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_023 850da853ecaSopenharmony_ci * @tc.name : Create -> SetCallback -> Configure -> Prepare -> Start -> PushInputData -> Start 851da853ecaSopenharmony_ci * @tc.desc : interface depend check 852da853ecaSopenharmony_ci */ 853da853ecaSopenharmony_ciHWTEST_F(NativeInterfaceDependCheckTest, SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_023, TestSize.Level2) 854da853ecaSopenharmony_ci{ 855da853ecaSopenharmony_ci OH_AVErrCode ret; 856da853ecaSopenharmony_ci uint32_t trackId = -1; 857da853ecaSopenharmony_ci uint8_t *data = nullptr; 858da853ecaSopenharmony_ci 859da853ecaSopenharmony_ci AudioEncoderDemo *encoderDemo = new AudioEncoderDemo(); 860da853ecaSopenharmony_ci OH_AVCodec *handle = Create(encoderDemo); 861da853ecaSopenharmony_ci ASSERT_NE(nullptr, handle); 862da853ecaSopenharmony_ci 863da853ecaSopenharmony_ci ret = SetCallback(encoderDemo, handle); 864da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 865da853ecaSopenharmony_ci 866da853ecaSopenharmony_ci ret = Configure(encoderDemo, handle); 867da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 868da853ecaSopenharmony_ci 869da853ecaSopenharmony_ci ret = Prepare(encoderDemo, handle); 870da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 871da853ecaSopenharmony_ci 872da853ecaSopenharmony_ci ret = Start(encoderDemo, handle, trackId, data); 873da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 874da853ecaSopenharmony_ci 875da853ecaSopenharmony_ci ret = PushInputData(encoderDemo, handle, trackId); 876da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 877da853ecaSopenharmony_ci 878da853ecaSopenharmony_ci ret = Start(encoderDemo, handle, trackId, data); 879da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_INVALID_STATE, ret); 880da853ecaSopenharmony_ci 881da853ecaSopenharmony_ci Destroy(encoderDemo, handle); 882da853ecaSopenharmony_ci delete encoderDemo; 883da853ecaSopenharmony_ci} 884da853ecaSopenharmony_ci 885da853ecaSopenharmony_ci/** 886da853ecaSopenharmony_ci * @tc.number : SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_024 887da853ecaSopenharmony_ci * @tc.name : Create -> SetCallback -> Configure -> Prepare -> Start -> PushInputData[EOS] -> Start 888da853ecaSopenharmony_ci * @tc.desc : interface depend check 889da853ecaSopenharmony_ci */ 890da853ecaSopenharmony_ciHWTEST_F(NativeInterfaceDependCheckTest, SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_024, TestSize.Level2) 891da853ecaSopenharmony_ci{ 892da853ecaSopenharmony_ci OH_AVErrCode ret; 893da853ecaSopenharmony_ci uint32_t trackId = -1; 894da853ecaSopenharmony_ci uint8_t *data = nullptr; 895da853ecaSopenharmony_ci 896da853ecaSopenharmony_ci AudioEncoderDemo *encoderDemo = new AudioEncoderDemo(); 897da853ecaSopenharmony_ci OH_AVCodec *handle = Create(encoderDemo); 898da853ecaSopenharmony_ci ASSERT_NE(nullptr, handle); 899da853ecaSopenharmony_ci 900da853ecaSopenharmony_ci ret = SetCallback(encoderDemo, handle); 901da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 902da853ecaSopenharmony_ci 903da853ecaSopenharmony_ci ret = Configure(encoderDemo, handle); 904da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 905da853ecaSopenharmony_ci 906da853ecaSopenharmony_ci ret = Prepare(encoderDemo, handle); 907da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 908da853ecaSopenharmony_ci 909da853ecaSopenharmony_ci ret = Start(encoderDemo, handle, trackId, data); 910da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 911da853ecaSopenharmony_ci 912da853ecaSopenharmony_ci ret = PushInputDataEOS(encoderDemo, handle, trackId); 913da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 914da853ecaSopenharmony_ci 915da853ecaSopenharmony_ci ret = Start(encoderDemo, handle, trackId, data); 916da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_INVALID_STATE, ret); 917da853ecaSopenharmony_ci 918da853ecaSopenharmony_ci Destroy(encoderDemo, handle); 919da853ecaSopenharmony_ci delete encoderDemo; 920da853ecaSopenharmony_ci} 921da853ecaSopenharmony_ci 922da853ecaSopenharmony_ci/** 923da853ecaSopenharmony_ci * @tc.number : SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_025 924da853ecaSopenharmony_ci * @tc.name : Create -> SetCallback -> Configure -> Prepare -> Start -> Flush -> Start 925da853ecaSopenharmony_ci * @tc.desc : interface depend check 926da853ecaSopenharmony_ci */ 927da853ecaSopenharmony_ciHWTEST_F(NativeInterfaceDependCheckTest, SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_025, TestSize.Level2) 928da853ecaSopenharmony_ci{ 929da853ecaSopenharmony_ci OH_AVErrCode ret; 930da853ecaSopenharmony_ci uint32_t trackId = -1; 931da853ecaSopenharmony_ci uint8_t *data = nullptr; 932da853ecaSopenharmony_ci 933da853ecaSopenharmony_ci AudioEncoderDemo *encoderDemo = new AudioEncoderDemo(); 934da853ecaSopenharmony_ci OH_AVCodec *handle = Create(encoderDemo); 935da853ecaSopenharmony_ci ASSERT_NE(nullptr, handle); 936da853ecaSopenharmony_ci 937da853ecaSopenharmony_ci ret = SetCallback(encoderDemo, handle); 938da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 939da853ecaSopenharmony_ci 940da853ecaSopenharmony_ci ret = Configure(encoderDemo, handle); 941da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 942da853ecaSopenharmony_ci 943da853ecaSopenharmony_ci ret = Prepare(encoderDemo, handle); 944da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 945da853ecaSopenharmony_ci 946da853ecaSopenharmony_ci ret = Start(encoderDemo, handle, trackId, data); 947da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 948da853ecaSopenharmony_ci 949da853ecaSopenharmony_ci ret = Flush(encoderDemo, handle); 950da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 951da853ecaSopenharmony_ci 952da853ecaSopenharmony_ci ret = Start(encoderDemo, handle, trackId, data); 953da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 954da853ecaSopenharmony_ci 955da853ecaSopenharmony_ci Destroy(encoderDemo, handle); 956da853ecaSopenharmony_ci delete encoderDemo; 957da853ecaSopenharmony_ci} 958da853ecaSopenharmony_ci 959da853ecaSopenharmony_ci/** 960da853ecaSopenharmony_ci * @tc.number : SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_026 961da853ecaSopenharmony_ci * @tc.name : Create -> SetCallback -> Configure -> Prepare -> Start -> Stop -> Start 962da853ecaSopenharmony_ci * @tc.desc : interface depend check 963da853ecaSopenharmony_ci */ 964da853ecaSopenharmony_ciHWTEST_F(NativeInterfaceDependCheckTest, SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_026, TestSize.Level2) 965da853ecaSopenharmony_ci{ 966da853ecaSopenharmony_ci OH_AVErrCode ret; 967da853ecaSopenharmony_ci uint32_t trackId = -1; 968da853ecaSopenharmony_ci uint8_t *data = nullptr; 969da853ecaSopenharmony_ci 970da853ecaSopenharmony_ci AudioEncoderDemo *encoderDemo = new AudioEncoderDemo(); 971da853ecaSopenharmony_ci OH_AVCodec *handle = Create(encoderDemo); 972da853ecaSopenharmony_ci ASSERT_NE(nullptr, handle); 973da853ecaSopenharmony_ci 974da853ecaSopenharmony_ci ret = SetCallback(encoderDemo, handle); 975da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 976da853ecaSopenharmony_ci 977da853ecaSopenharmony_ci ret = Configure(encoderDemo, handle); 978da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 979da853ecaSopenharmony_ci 980da853ecaSopenharmony_ci ret = Prepare(encoderDemo, handle); 981da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 982da853ecaSopenharmony_ci 983da853ecaSopenharmony_ci ret = Start(encoderDemo, handle, trackId, data); 984da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 985da853ecaSopenharmony_ci 986da853ecaSopenharmony_ci ret = Stop(encoderDemo, handle); 987da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 988da853ecaSopenharmony_ci 989da853ecaSopenharmony_ci ret = Start(encoderDemo, handle, trackId, data); 990da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 991da853ecaSopenharmony_ci 992da853ecaSopenharmony_ci Destroy(encoderDemo, handle); 993da853ecaSopenharmony_ci delete encoderDemo; 994da853ecaSopenharmony_ci} 995da853ecaSopenharmony_ci 996da853ecaSopenharmony_ci/** 997da853ecaSopenharmony_ci * @tc.number : SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_027 998da853ecaSopenharmony_ci * @tc.name : Create -> SetCallback -> Configure -> Prepare -> Start -> Stop -> Reset -> Start 999da853ecaSopenharmony_ci * @tc.desc : interface depend check 1000da853ecaSopenharmony_ci */ 1001da853ecaSopenharmony_ciHWTEST_F(NativeInterfaceDependCheckTest, SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_027, TestSize.Level2) 1002da853ecaSopenharmony_ci{ 1003da853ecaSopenharmony_ci OH_AVErrCode ret; 1004da853ecaSopenharmony_ci uint32_t trackId = -1; 1005da853ecaSopenharmony_ci uint8_t *data = nullptr; 1006da853ecaSopenharmony_ci 1007da853ecaSopenharmony_ci AudioEncoderDemo *encoderDemo = new AudioEncoderDemo(); 1008da853ecaSopenharmony_ci OH_AVCodec *handle = Create(encoderDemo); 1009da853ecaSopenharmony_ci ASSERT_NE(nullptr, handle); 1010da853ecaSopenharmony_ci 1011da853ecaSopenharmony_ci ret = SetCallback(encoderDemo, handle); 1012da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 1013da853ecaSopenharmony_ci 1014da853ecaSopenharmony_ci ret = Configure(encoderDemo, handle); 1015da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 1016da853ecaSopenharmony_ci 1017da853ecaSopenharmony_ci ret = Prepare(encoderDemo, handle); 1018da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 1019da853ecaSopenharmony_ci 1020da853ecaSopenharmony_ci ret = Start(encoderDemo, handle, trackId, data); 1021da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 1022da853ecaSopenharmony_ci 1023da853ecaSopenharmony_ci ret = Stop(encoderDemo, handle); 1024da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 1025da853ecaSopenharmony_ci 1026da853ecaSopenharmony_ci ret = Reset(encoderDemo, handle); 1027da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 1028da853ecaSopenharmony_ci 1029da853ecaSopenharmony_ci ret = Start(encoderDemo, handle, trackId, data); 1030da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_INVALID_STATE, ret); 1031da853ecaSopenharmony_ci 1032da853ecaSopenharmony_ci Destroy(encoderDemo, handle); 1033da853ecaSopenharmony_ci delete encoderDemo; 1034da853ecaSopenharmony_ci} 1035da853ecaSopenharmony_ci 1036da853ecaSopenharmony_ci/** 1037da853ecaSopenharmony_ci * @tc.number : SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_028 1038da853ecaSopenharmony_ci * @tc.name : Create -> PushInputData 1039da853ecaSopenharmony_ci * @tc.desc : interface depend check 1040da853ecaSopenharmony_ci */ 1041da853ecaSopenharmony_ciHWTEST_F(NativeInterfaceDependCheckTest, SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_028, TestSize.Level2) 1042da853ecaSopenharmony_ci{ 1043da853ecaSopenharmony_ci OH_AVErrCode ret; 1044da853ecaSopenharmony_ci uint32_t trackId = -1; 1045da853ecaSopenharmony_ci 1046da853ecaSopenharmony_ci AudioEncoderDemo *encoderDemo = new AudioEncoderDemo(); 1047da853ecaSopenharmony_ci OH_AVCodec *handle = Create(encoderDemo); 1048da853ecaSopenharmony_ci ASSERT_NE(nullptr, handle); 1049da853ecaSopenharmony_ci 1050da853ecaSopenharmony_ci ret = PushInputData(encoderDemo, handle, trackId); 1051da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_INVALID_STATE, ret); 1052da853ecaSopenharmony_ci 1053da853ecaSopenharmony_ci Destroy(encoderDemo, handle); 1054da853ecaSopenharmony_ci delete encoderDemo; 1055da853ecaSopenharmony_ci} 1056da853ecaSopenharmony_ci 1057da853ecaSopenharmony_ci/** 1058da853ecaSopenharmony_ci * @tc.number : SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_029 1059da853ecaSopenharmony_ci * @tc.name : Create -> SetCallback -> Configure -> Prepare -> PushInputData 1060da853ecaSopenharmony_ci * @tc.desc : interface depend check 1061da853ecaSopenharmony_ci */ 1062da853ecaSopenharmony_ciHWTEST_F(NativeInterfaceDependCheckTest, SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_029, TestSize.Level2) 1063da853ecaSopenharmony_ci{ 1064da853ecaSopenharmony_ci OH_AVErrCode ret; 1065da853ecaSopenharmony_ci uint32_t trackId = -1; 1066da853ecaSopenharmony_ci 1067da853ecaSopenharmony_ci AudioEncoderDemo *encoderDemo = new AudioEncoderDemo(); 1068da853ecaSopenharmony_ci OH_AVCodec *handle = Create(encoderDemo); 1069da853ecaSopenharmony_ci ASSERT_NE(nullptr, handle); 1070da853ecaSopenharmony_ci 1071da853ecaSopenharmony_ci ret = SetCallback(encoderDemo, handle); 1072da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 1073da853ecaSopenharmony_ci 1074da853ecaSopenharmony_ci ret = Configure(encoderDemo, handle); 1075da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 1076da853ecaSopenharmony_ci 1077da853ecaSopenharmony_ci ret = Prepare(encoderDemo, handle); 1078da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 1079da853ecaSopenharmony_ci 1080da853ecaSopenharmony_ci ret = PushInputData(encoderDemo, handle, trackId); 1081da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_INVALID_STATE, ret); 1082da853ecaSopenharmony_ci 1083da853ecaSopenharmony_ci Destroy(encoderDemo, handle); 1084da853ecaSopenharmony_ci delete encoderDemo; 1085da853ecaSopenharmony_ci} 1086da853ecaSopenharmony_ci 1087da853ecaSopenharmony_ci/** 1088da853ecaSopenharmony_ci * @tc.number : SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_030 1089da853ecaSopenharmony_ci * @tc.name : Create -> SetCallback -> Configure -> Prepare -> Start -> PushInputData 1090da853ecaSopenharmony_ci * @tc.desc : interface depend check 1091da853ecaSopenharmony_ci */ 1092da853ecaSopenharmony_ciHWTEST_F(NativeInterfaceDependCheckTest, SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_030, TestSize.Level2) 1093da853ecaSopenharmony_ci{ 1094da853ecaSopenharmony_ci OH_AVErrCode ret; 1095da853ecaSopenharmony_ci uint32_t trackId = -1; 1096da853ecaSopenharmony_ci uint8_t *data = nullptr; 1097da853ecaSopenharmony_ci 1098da853ecaSopenharmony_ci AudioEncoderDemo *encoderDemo = new AudioEncoderDemo(); 1099da853ecaSopenharmony_ci OH_AVCodec *handle = Create(encoderDemo); 1100da853ecaSopenharmony_ci ASSERT_NE(nullptr, handle); 1101da853ecaSopenharmony_ci 1102da853ecaSopenharmony_ci ret = SetCallback(encoderDemo, handle); 1103da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 1104da853ecaSopenharmony_ci 1105da853ecaSopenharmony_ci ret = Configure(encoderDemo, handle); 1106da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 1107da853ecaSopenharmony_ci 1108da853ecaSopenharmony_ci ret = Prepare(encoderDemo, handle); 1109da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 1110da853ecaSopenharmony_ci 1111da853ecaSopenharmony_ci ret = Start(encoderDemo, handle, trackId, data); 1112da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 1113da853ecaSopenharmony_ci 1114da853ecaSopenharmony_ci cout << "index is " << trackId << endl; 1115da853ecaSopenharmony_ci printf("data is %p\n", data); 1116da853ecaSopenharmony_ci ret = PushInputData(encoderDemo, handle, trackId); 1117da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 1118da853ecaSopenharmony_ci 1119da853ecaSopenharmony_ci Destroy(encoderDemo, handle); 1120da853ecaSopenharmony_ci delete encoderDemo; 1121da853ecaSopenharmony_ci} 1122da853ecaSopenharmony_ci 1123da853ecaSopenharmony_ci/** 1124da853ecaSopenharmony_ci * @tc.number : SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_031 1125da853ecaSopenharmony_ci * @tc.name : Create -> SetCallback -> Configure -> Prepare -> Start -> PushInputData -> PushInputData 1126da853ecaSopenharmony_ci * @tc.desc : interface depend check 1127da853ecaSopenharmony_ci */ 1128da853ecaSopenharmony_ciHWTEST_F(NativeInterfaceDependCheckTest, SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_031, TestSize.Level2) 1129da853ecaSopenharmony_ci{ 1130da853ecaSopenharmony_ci OH_AVErrCode ret; 1131da853ecaSopenharmony_ci uint32_t trackId = -1; 1132da853ecaSopenharmony_ci uint8_t *data = nullptr; 1133da853ecaSopenharmony_ci 1134da853ecaSopenharmony_ci AudioEncoderDemo *encoderDemo = new AudioEncoderDemo(); 1135da853ecaSopenharmony_ci OH_AVCodec *handle = Create(encoderDemo); 1136da853ecaSopenharmony_ci ASSERT_NE(nullptr, handle); 1137da853ecaSopenharmony_ci 1138da853ecaSopenharmony_ci ret = SetCallback(encoderDemo, handle); 1139da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 1140da853ecaSopenharmony_ci 1141da853ecaSopenharmony_ci ret = Configure(encoderDemo, handle); 1142da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 1143da853ecaSopenharmony_ci 1144da853ecaSopenharmony_ci ret = Prepare(encoderDemo, handle); 1145da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 1146da853ecaSopenharmony_ci 1147da853ecaSopenharmony_ci ret = Start(encoderDemo, handle, trackId, data); 1148da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 1149da853ecaSopenharmony_ci 1150da853ecaSopenharmony_ci ret = PushInputData(encoderDemo, handle, trackId); 1151da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 1152da853ecaSopenharmony_ci 1153da853ecaSopenharmony_ci ret = PushInputData(encoderDemo, handle, trackId); 1154da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_UNKNOWN, ret); 1155da853ecaSopenharmony_ci 1156da853ecaSopenharmony_ci Destroy(encoderDemo, handle); 1157da853ecaSopenharmony_ci delete encoderDemo; 1158da853ecaSopenharmony_ci} 1159da853ecaSopenharmony_ci 1160da853ecaSopenharmony_ci/** 1161da853ecaSopenharmony_ci * @tc.number : SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_032 1162da853ecaSopenharmony_ci * @tc.name : Create -> SetCallback -> Configure -> Prepare -> Start -> PushInputData[EOS] -> PushInputData 1163da853ecaSopenharmony_ci * @tc.desc : interface depend check 1164da853ecaSopenharmony_ci */ 1165da853ecaSopenharmony_ciHWTEST_F(NativeInterfaceDependCheckTest, SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_032, TestSize.Level2) 1166da853ecaSopenharmony_ci{ 1167da853ecaSopenharmony_ci OH_AVErrCode ret; 1168da853ecaSopenharmony_ci uint32_t trackId = -1; 1169da853ecaSopenharmony_ci uint8_t *data = nullptr; 1170da853ecaSopenharmony_ci 1171da853ecaSopenharmony_ci AudioEncoderDemo *encoderDemo = new AudioEncoderDemo(); 1172da853ecaSopenharmony_ci OH_AVCodec *handle = Create(encoderDemo); 1173da853ecaSopenharmony_ci ASSERT_NE(nullptr, handle); 1174da853ecaSopenharmony_ci 1175da853ecaSopenharmony_ci ret = SetCallback(encoderDemo, handle); 1176da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 1177da853ecaSopenharmony_ci 1178da853ecaSopenharmony_ci ret = Configure(encoderDemo, handle); 1179da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 1180da853ecaSopenharmony_ci 1181da853ecaSopenharmony_ci ret = Prepare(encoderDemo, handle); 1182da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 1183da853ecaSopenharmony_ci 1184da853ecaSopenharmony_ci ret = Start(encoderDemo, handle, trackId, data); 1185da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 1186da853ecaSopenharmony_ci 1187da853ecaSopenharmony_ci ret = PushInputDataEOS(encoderDemo, handle, trackId); 1188da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 1189da853ecaSopenharmony_ci 1190da853ecaSopenharmony_ci ret = PushInputData(encoderDemo, handle, trackId); 1191da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_INVALID_STATE, ret); 1192da853ecaSopenharmony_ci 1193da853ecaSopenharmony_ci Destroy(encoderDemo, handle); 1194da853ecaSopenharmony_ci delete encoderDemo; 1195da853ecaSopenharmony_ci} 1196da853ecaSopenharmony_ci 1197da853ecaSopenharmony_ci/** 1198da853ecaSopenharmony_ci * @tc.number : SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_033 1199da853ecaSopenharmony_ci * @tc.name : Create -> SetCallback -> Configure -> Prepare -> Start -> Flush -> PushInputData 1200da853ecaSopenharmony_ci * @tc.desc : interface depend check 1201da853ecaSopenharmony_ci */ 1202da853ecaSopenharmony_ciHWTEST_F(NativeInterfaceDependCheckTest, SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_033, TestSize.Level2) 1203da853ecaSopenharmony_ci{ 1204da853ecaSopenharmony_ci OH_AVErrCode ret; 1205da853ecaSopenharmony_ci uint32_t trackId = -1; 1206da853ecaSopenharmony_ci uint8_t *data = nullptr; 1207da853ecaSopenharmony_ci 1208da853ecaSopenharmony_ci AudioEncoderDemo *encoderDemo = new AudioEncoderDemo(); 1209da853ecaSopenharmony_ci OH_AVCodec *handle = Create(encoderDemo); 1210da853ecaSopenharmony_ci ASSERT_NE(nullptr, handle); 1211da853ecaSopenharmony_ci 1212da853ecaSopenharmony_ci ret = SetCallback(encoderDemo, handle); 1213da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 1214da853ecaSopenharmony_ci 1215da853ecaSopenharmony_ci ret = Configure(encoderDemo, handle); 1216da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 1217da853ecaSopenharmony_ci 1218da853ecaSopenharmony_ci ret = Prepare(encoderDemo, handle); 1219da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 1220da853ecaSopenharmony_ci 1221da853ecaSopenharmony_ci ret = Start(encoderDemo, handle, trackId, data); 1222da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 1223da853ecaSopenharmony_ci 1224da853ecaSopenharmony_ci ret = Flush(encoderDemo, handle); 1225da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 1226da853ecaSopenharmony_ci 1227da853ecaSopenharmony_ci ret = PushInputData(encoderDemo, handle, trackId); 1228da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_INVALID_STATE, ret); 1229da853ecaSopenharmony_ci 1230da853ecaSopenharmony_ci Destroy(encoderDemo, handle); 1231da853ecaSopenharmony_ci delete encoderDemo; 1232da853ecaSopenharmony_ci} 1233da853ecaSopenharmony_ci 1234da853ecaSopenharmony_ci/** 1235da853ecaSopenharmony_ci * @tc.number : SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_034 1236da853ecaSopenharmony_ci * @tc.name : Create -> SetCallback -> Configure -> Prepare -> Start -> Flush -> Start -> PushInputData 1237da853ecaSopenharmony_ci * @tc.desc : interface depend check 1238da853ecaSopenharmony_ci */ 1239da853ecaSopenharmony_ciHWTEST_F(NativeInterfaceDependCheckTest, SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_034, TestSize.Level2) 1240da853ecaSopenharmony_ci{ 1241da853ecaSopenharmony_ci OH_AVErrCode ret; 1242da853ecaSopenharmony_ci uint32_t trackId = -1; 1243da853ecaSopenharmony_ci uint8_t *data = nullptr; 1244da853ecaSopenharmony_ci 1245da853ecaSopenharmony_ci AudioEncoderDemo *encoderDemo = new AudioEncoderDemo(); 1246da853ecaSopenharmony_ci OH_AVCodec *handle = Create(encoderDemo); 1247da853ecaSopenharmony_ci ASSERT_NE(nullptr, handle); 1248da853ecaSopenharmony_ci 1249da853ecaSopenharmony_ci ret = SetCallback(encoderDemo, handle); 1250da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 1251da853ecaSopenharmony_ci 1252da853ecaSopenharmony_ci ret = Configure(encoderDemo, handle); 1253da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 1254da853ecaSopenharmony_ci 1255da853ecaSopenharmony_ci ret = Prepare(encoderDemo, handle); 1256da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 1257da853ecaSopenharmony_ci 1258da853ecaSopenharmony_ci ret = Start(encoderDemo, handle, trackId, data); 1259da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 1260da853ecaSopenharmony_ci 1261da853ecaSopenharmony_ci ret = Flush(encoderDemo, handle); 1262da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 1263da853ecaSopenharmony_ci 1264da853ecaSopenharmony_ci ret = Start(encoderDemo, handle, trackId, data); 1265da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 1266da853ecaSopenharmony_ci 1267da853ecaSopenharmony_ci ret = PushInputData(encoderDemo, handle, trackId); 1268da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 1269da853ecaSopenharmony_ci 1270da853ecaSopenharmony_ci Destroy(encoderDemo, handle); 1271da853ecaSopenharmony_ci delete encoderDemo; 1272da853ecaSopenharmony_ci} 1273da853ecaSopenharmony_ci 1274da853ecaSopenharmony_ci/** 1275da853ecaSopenharmony_ci * @tc.number : SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_035 1276da853ecaSopenharmony_ci * @tc.name : Create -> SetCallback -> Configure -> Prepare -> Start -> Stop -> PushInputData 1277da853ecaSopenharmony_ci * @tc.desc : interface depend check 1278da853ecaSopenharmony_ci */ 1279da853ecaSopenharmony_ciHWTEST_F(NativeInterfaceDependCheckTest, SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_035, TestSize.Level2) 1280da853ecaSopenharmony_ci{ 1281da853ecaSopenharmony_ci OH_AVErrCode ret; 1282da853ecaSopenharmony_ci uint32_t trackId = -1; 1283da853ecaSopenharmony_ci uint8_t *data = nullptr; 1284da853ecaSopenharmony_ci 1285da853ecaSopenharmony_ci AudioEncoderDemo *encoderDemo = new AudioEncoderDemo(); 1286da853ecaSopenharmony_ci OH_AVCodec *handle = Create(encoderDemo); 1287da853ecaSopenharmony_ci ASSERT_NE(nullptr, handle); 1288da853ecaSopenharmony_ci 1289da853ecaSopenharmony_ci ret = SetCallback(encoderDemo, handle); 1290da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 1291da853ecaSopenharmony_ci 1292da853ecaSopenharmony_ci ret = Configure(encoderDemo, handle); 1293da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 1294da853ecaSopenharmony_ci 1295da853ecaSopenharmony_ci ret = Prepare(encoderDemo, handle); 1296da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 1297da853ecaSopenharmony_ci 1298da853ecaSopenharmony_ci ret = Start(encoderDemo, handle, trackId, data); 1299da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 1300da853ecaSopenharmony_ci 1301da853ecaSopenharmony_ci ret = Stop(encoderDemo, handle); 1302da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 1303da853ecaSopenharmony_ci 1304da853ecaSopenharmony_ci ret = PushInputData(encoderDemo, handle, trackId); 1305da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_INVALID_STATE, ret); 1306da853ecaSopenharmony_ci 1307da853ecaSopenharmony_ci Destroy(encoderDemo, handle); 1308da853ecaSopenharmony_ci delete encoderDemo; 1309da853ecaSopenharmony_ci} 1310da853ecaSopenharmony_ci 1311da853ecaSopenharmony_ci/** 1312da853ecaSopenharmony_ci * @tc.number : SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_036 1313da853ecaSopenharmony_ci * @tc.name : Create -> SetCallback -> Configure -> Prepare -> Start -> Stop -> Reset -> PushInputData 1314da853ecaSopenharmony_ci * @tc.desc : interface depend check 1315da853ecaSopenharmony_ci */ 1316da853ecaSopenharmony_ciHWTEST_F(NativeInterfaceDependCheckTest, SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_036, TestSize.Level2) 1317da853ecaSopenharmony_ci{ 1318da853ecaSopenharmony_ci OH_AVErrCode ret; 1319da853ecaSopenharmony_ci uint32_t trackId = -1; 1320da853ecaSopenharmony_ci uint8_t *data = nullptr; 1321da853ecaSopenharmony_ci 1322da853ecaSopenharmony_ci AudioEncoderDemo *encoderDemo = new AudioEncoderDemo(); 1323da853ecaSopenharmony_ci OH_AVCodec *handle = Create(encoderDemo); 1324da853ecaSopenharmony_ci ASSERT_NE(nullptr, handle); 1325da853ecaSopenharmony_ci 1326da853ecaSopenharmony_ci ret = SetCallback(encoderDemo, handle); 1327da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 1328da853ecaSopenharmony_ci 1329da853ecaSopenharmony_ci ret = Configure(encoderDemo, handle); 1330da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 1331da853ecaSopenharmony_ci 1332da853ecaSopenharmony_ci ret = Prepare(encoderDemo, handle); 1333da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 1334da853ecaSopenharmony_ci 1335da853ecaSopenharmony_ci ret = Start(encoderDemo, handle, trackId, data); 1336da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 1337da853ecaSopenharmony_ci 1338da853ecaSopenharmony_ci ret = Stop(encoderDemo, handle); 1339da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 1340da853ecaSopenharmony_ci 1341da853ecaSopenharmony_ci ret = Reset(encoderDemo, handle); 1342da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 1343da853ecaSopenharmony_ci 1344da853ecaSopenharmony_ci ret = PushInputData(encoderDemo, handle, trackId); 1345da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_INVALID_STATE, ret); 1346da853ecaSopenharmony_ci 1347da853ecaSopenharmony_ci Destroy(encoderDemo, handle); 1348da853ecaSopenharmony_ci delete encoderDemo; 1349da853ecaSopenharmony_ci} 1350da853ecaSopenharmony_ci 1351da853ecaSopenharmony_ci/** 1352da853ecaSopenharmony_ci * @tc.number : SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_037 1353da853ecaSopenharmony_ci * @tc.name : Create -> Flush 1354da853ecaSopenharmony_ci * @tc.desc : interface depend check 1355da853ecaSopenharmony_ci */ 1356da853ecaSopenharmony_ciHWTEST_F(NativeInterfaceDependCheckTest, SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_037, TestSize.Level2) 1357da853ecaSopenharmony_ci{ 1358da853ecaSopenharmony_ci OH_AVErrCode ret; 1359da853ecaSopenharmony_ci 1360da853ecaSopenharmony_ci AudioEncoderDemo *encoderDemo = new AudioEncoderDemo(); 1361da853ecaSopenharmony_ci OH_AVCodec *handle = Create(encoderDemo); 1362da853ecaSopenharmony_ci ASSERT_NE(nullptr, handle); 1363da853ecaSopenharmony_ci 1364da853ecaSopenharmony_ci ret = Flush(encoderDemo, handle); 1365da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_INVALID_STATE, ret); 1366da853ecaSopenharmony_ci 1367da853ecaSopenharmony_ci Destroy(encoderDemo, handle); 1368da853ecaSopenharmony_ci delete encoderDemo; 1369da853ecaSopenharmony_ci} 1370da853ecaSopenharmony_ci 1371da853ecaSopenharmony_ci/** 1372da853ecaSopenharmony_ci * @tc.number : SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_038 1373da853ecaSopenharmony_ci * @tc.name : Create -> SetCallback -> Configure -> Prepare -> Flush 1374da853ecaSopenharmony_ci * @tc.desc : interface depend check 1375da853ecaSopenharmony_ci */ 1376da853ecaSopenharmony_ciHWTEST_F(NativeInterfaceDependCheckTest, SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_038, TestSize.Level2) 1377da853ecaSopenharmony_ci{ 1378da853ecaSopenharmony_ci OH_AVErrCode ret; 1379da853ecaSopenharmony_ci 1380da853ecaSopenharmony_ci AudioEncoderDemo *encoderDemo = new AudioEncoderDemo(); 1381da853ecaSopenharmony_ci OH_AVCodec *handle = Create(encoderDemo); 1382da853ecaSopenharmony_ci ASSERT_NE(nullptr, handle); 1383da853ecaSopenharmony_ci 1384da853ecaSopenharmony_ci ret = SetCallback(encoderDemo, handle); 1385da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 1386da853ecaSopenharmony_ci 1387da853ecaSopenharmony_ci ret = Configure(encoderDemo, handle); 1388da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 1389da853ecaSopenharmony_ci 1390da853ecaSopenharmony_ci ret = Prepare(encoderDemo, handle); 1391da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 1392da853ecaSopenharmony_ci 1393da853ecaSopenharmony_ci ret = Flush(encoderDemo, handle); 1394da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_INVALID_STATE, ret); 1395da853ecaSopenharmony_ci 1396da853ecaSopenharmony_ci Destroy(encoderDemo, handle); 1397da853ecaSopenharmony_ci delete encoderDemo; 1398da853ecaSopenharmony_ci} 1399da853ecaSopenharmony_ci 1400da853ecaSopenharmony_ci/** 1401da853ecaSopenharmony_ci * @tc.number : SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_039 1402da853ecaSopenharmony_ci * @tc.name : Create -> SetCallback -> Configure -> Prepare -> Start -> Flush 1403da853ecaSopenharmony_ci * @tc.desc : interface depend check 1404da853ecaSopenharmony_ci */ 1405da853ecaSopenharmony_ciHWTEST_F(NativeInterfaceDependCheckTest, SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_039, TestSize.Level2) 1406da853ecaSopenharmony_ci{ 1407da853ecaSopenharmony_ci OH_AVErrCode ret; 1408da853ecaSopenharmony_ci uint32_t trackId = -1; 1409da853ecaSopenharmony_ci uint8_t *data = nullptr; 1410da853ecaSopenharmony_ci 1411da853ecaSopenharmony_ci AudioEncoderDemo *encoderDemo = new AudioEncoderDemo(); 1412da853ecaSopenharmony_ci OH_AVCodec *handle = Create(encoderDemo); 1413da853ecaSopenharmony_ci ASSERT_NE(nullptr, handle); 1414da853ecaSopenharmony_ci 1415da853ecaSopenharmony_ci ret = SetCallback(encoderDemo, handle); 1416da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 1417da853ecaSopenharmony_ci 1418da853ecaSopenharmony_ci ret = Configure(encoderDemo, handle); 1419da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 1420da853ecaSopenharmony_ci 1421da853ecaSopenharmony_ci ret = Prepare(encoderDemo, handle); 1422da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 1423da853ecaSopenharmony_ci 1424da853ecaSopenharmony_ci ret = Start(encoderDemo, handle, trackId, data); 1425da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 1426da853ecaSopenharmony_ci 1427da853ecaSopenharmony_ci ret = Flush(encoderDemo, handle); 1428da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 1429da853ecaSopenharmony_ci 1430da853ecaSopenharmony_ci Destroy(encoderDemo, handle); 1431da853ecaSopenharmony_ci delete encoderDemo; 1432da853ecaSopenharmony_ci} 1433da853ecaSopenharmony_ci 1434da853ecaSopenharmony_ci/** 1435da853ecaSopenharmony_ci * @tc.number : SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_040 1436da853ecaSopenharmony_ci * @tc.name : Create -> SetCallback -> Configure -> Prepare -> Start -> PushInputData -> Flush 1437da853ecaSopenharmony_ci * @tc.desc : interface depend check 1438da853ecaSopenharmony_ci */ 1439da853ecaSopenharmony_ciHWTEST_F(NativeInterfaceDependCheckTest, SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_040, TestSize.Level2) 1440da853ecaSopenharmony_ci{ 1441da853ecaSopenharmony_ci OH_AVErrCode ret; 1442da853ecaSopenharmony_ci uint32_t trackId = -1; 1443da853ecaSopenharmony_ci uint8_t *data = nullptr; 1444da853ecaSopenharmony_ci 1445da853ecaSopenharmony_ci AudioEncoderDemo *encoderDemo = new AudioEncoderDemo(); 1446da853ecaSopenharmony_ci OH_AVCodec *handle = Create(encoderDemo); 1447da853ecaSopenharmony_ci ASSERT_NE(nullptr, handle); 1448da853ecaSopenharmony_ci 1449da853ecaSopenharmony_ci ret = SetCallback(encoderDemo, handle); 1450da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 1451da853ecaSopenharmony_ci 1452da853ecaSopenharmony_ci ret = Configure(encoderDemo, handle); 1453da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 1454da853ecaSopenharmony_ci 1455da853ecaSopenharmony_ci ret = Prepare(encoderDemo, handle); 1456da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 1457da853ecaSopenharmony_ci 1458da853ecaSopenharmony_ci ret = Start(encoderDemo, handle, trackId, data); 1459da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 1460da853ecaSopenharmony_ci 1461da853ecaSopenharmony_ci ret = PushInputData(encoderDemo, handle, trackId); 1462da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 1463da853ecaSopenharmony_ci 1464da853ecaSopenharmony_ci ret = Flush(encoderDemo, handle); 1465da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 1466da853ecaSopenharmony_ci 1467da853ecaSopenharmony_ci Destroy(encoderDemo, handle); 1468da853ecaSopenharmony_ci delete encoderDemo; 1469da853ecaSopenharmony_ci} 1470da853ecaSopenharmony_ci 1471da853ecaSopenharmony_ci/** 1472da853ecaSopenharmony_ci * @tc.number : SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_041 1473da853ecaSopenharmony_ci * @tc.name : Create -> SetCallback -> Configure -> Prepare -> Start -> PushInputData[EOS] -> Flush 1474da853ecaSopenharmony_ci * @tc.desc : interface depend check 1475da853ecaSopenharmony_ci */ 1476da853ecaSopenharmony_ciHWTEST_F(NativeInterfaceDependCheckTest, SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_041, TestSize.Level2) 1477da853ecaSopenharmony_ci{ 1478da853ecaSopenharmony_ci OH_AVErrCode ret; 1479da853ecaSopenharmony_ci uint32_t trackId = -1; 1480da853ecaSopenharmony_ci uint8_t *data = nullptr; 1481da853ecaSopenharmony_ci 1482da853ecaSopenharmony_ci AudioEncoderDemo *encoderDemo = new AudioEncoderDemo(); 1483da853ecaSopenharmony_ci OH_AVCodec *handle = Create(encoderDemo); 1484da853ecaSopenharmony_ci ASSERT_NE(nullptr, handle); 1485da853ecaSopenharmony_ci 1486da853ecaSopenharmony_ci ret = SetCallback(encoderDemo, handle); 1487da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 1488da853ecaSopenharmony_ci 1489da853ecaSopenharmony_ci ret = Configure(encoderDemo, handle); 1490da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 1491da853ecaSopenharmony_ci 1492da853ecaSopenharmony_ci ret = Prepare(encoderDemo, handle); 1493da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 1494da853ecaSopenharmony_ci 1495da853ecaSopenharmony_ci ret = Start(encoderDemo, handle, trackId, data); 1496da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 1497da853ecaSopenharmony_ci 1498da853ecaSopenharmony_ci ret = PushInputDataEOS(encoderDemo, handle, trackId); 1499da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 1500da853ecaSopenharmony_ci 1501da853ecaSopenharmony_ci ret = Flush(encoderDemo, handle); 1502da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 1503da853ecaSopenharmony_ci 1504da853ecaSopenharmony_ci Destroy(encoderDemo, handle); 1505da853ecaSopenharmony_ci delete encoderDemo; 1506da853ecaSopenharmony_ci} 1507da853ecaSopenharmony_ci 1508da853ecaSopenharmony_ci/** 1509da853ecaSopenharmony_ci * @tc.number : SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_042 1510da853ecaSopenharmony_ci * @tc.name : Create -> SetCallback -> Configure -> Prepare -> Start -> Flush -> Flush 1511da853ecaSopenharmony_ci * @tc.desc : interface depend check 1512da853ecaSopenharmony_ci */ 1513da853ecaSopenharmony_ciHWTEST_F(NativeInterfaceDependCheckTest, SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_042, TestSize.Level2) 1514da853ecaSopenharmony_ci{ 1515da853ecaSopenharmony_ci OH_AVErrCode ret; 1516da853ecaSopenharmony_ci uint32_t trackId = -1; 1517da853ecaSopenharmony_ci uint8_t *data = nullptr; 1518da853ecaSopenharmony_ci 1519da853ecaSopenharmony_ci AudioEncoderDemo *encoderDemo = new AudioEncoderDemo(); 1520da853ecaSopenharmony_ci OH_AVCodec *handle = Create(encoderDemo); 1521da853ecaSopenharmony_ci ASSERT_NE(nullptr, handle); 1522da853ecaSopenharmony_ci 1523da853ecaSopenharmony_ci ret = SetCallback(encoderDemo, handle); 1524da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 1525da853ecaSopenharmony_ci 1526da853ecaSopenharmony_ci ret = Configure(encoderDemo, handle); 1527da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 1528da853ecaSopenharmony_ci 1529da853ecaSopenharmony_ci ret = Prepare(encoderDemo, handle); 1530da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 1531da853ecaSopenharmony_ci 1532da853ecaSopenharmony_ci ret = Start(encoderDemo, handle, trackId, data); 1533da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 1534da853ecaSopenharmony_ci 1535da853ecaSopenharmony_ci ret = Flush(encoderDemo, handle); 1536da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 1537da853ecaSopenharmony_ci 1538da853ecaSopenharmony_ci ret = Flush(encoderDemo, handle); 1539da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_INVALID_STATE, ret); 1540da853ecaSopenharmony_ci 1541da853ecaSopenharmony_ci Destroy(encoderDemo, handle); 1542da853ecaSopenharmony_ci delete encoderDemo; 1543da853ecaSopenharmony_ci} 1544da853ecaSopenharmony_ci 1545da853ecaSopenharmony_ci/** 1546da853ecaSopenharmony_ci * @tc.number : SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_043 1547da853ecaSopenharmony_ci * @tc.name : Create -> SetCallback -> Configure -> Prepare -> Start -> Stop -> Flush 1548da853ecaSopenharmony_ci * @tc.desc : interface depend check 1549da853ecaSopenharmony_ci */ 1550da853ecaSopenharmony_ciHWTEST_F(NativeInterfaceDependCheckTest, SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_043, TestSize.Level2) 1551da853ecaSopenharmony_ci{ 1552da853ecaSopenharmony_ci OH_AVErrCode ret; 1553da853ecaSopenharmony_ci uint32_t trackId = -1; 1554da853ecaSopenharmony_ci uint8_t *data = nullptr; 1555da853ecaSopenharmony_ci 1556da853ecaSopenharmony_ci AudioEncoderDemo *encoderDemo = new AudioEncoderDemo(); 1557da853ecaSopenharmony_ci OH_AVCodec *handle = Create(encoderDemo); 1558da853ecaSopenharmony_ci ASSERT_NE(nullptr, handle); 1559da853ecaSopenharmony_ci 1560da853ecaSopenharmony_ci ret = SetCallback(encoderDemo, handle); 1561da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 1562da853ecaSopenharmony_ci 1563da853ecaSopenharmony_ci ret = Configure(encoderDemo, handle); 1564da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 1565da853ecaSopenharmony_ci 1566da853ecaSopenharmony_ci ret = Prepare(encoderDemo, handle); 1567da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 1568da853ecaSopenharmony_ci 1569da853ecaSopenharmony_ci ret = Start(encoderDemo, handle, trackId, data); 1570da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 1571da853ecaSopenharmony_ci 1572da853ecaSopenharmony_ci ret = Stop(encoderDemo, handle); 1573da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 1574da853ecaSopenharmony_ci 1575da853ecaSopenharmony_ci ret = Flush(encoderDemo, handle); 1576da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_INVALID_STATE, ret); 1577da853ecaSopenharmony_ci 1578da853ecaSopenharmony_ci Destroy(encoderDemo, handle); 1579da853ecaSopenharmony_ci delete encoderDemo; 1580da853ecaSopenharmony_ci} 1581da853ecaSopenharmony_ci 1582da853ecaSopenharmony_ci/** 1583da853ecaSopenharmony_ci * @tc.number : SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_044 1584da853ecaSopenharmony_ci * @tc.name : Create -> SetCallback -> Configure -> Prepare -> Start -> Stop -> Reset -> Flush 1585da853ecaSopenharmony_ci * @tc.desc : interface depend check 1586da853ecaSopenharmony_ci */ 1587da853ecaSopenharmony_ciHWTEST_F(NativeInterfaceDependCheckTest, SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_044, TestSize.Level2) 1588da853ecaSopenharmony_ci{ 1589da853ecaSopenharmony_ci OH_AVErrCode ret; 1590da853ecaSopenharmony_ci uint32_t trackId = -1; 1591da853ecaSopenharmony_ci uint8_t *data = nullptr; 1592da853ecaSopenharmony_ci 1593da853ecaSopenharmony_ci AudioEncoderDemo *encoderDemo = new AudioEncoderDemo(); 1594da853ecaSopenharmony_ci OH_AVCodec *handle = Create(encoderDemo); 1595da853ecaSopenharmony_ci ASSERT_NE(nullptr, handle); 1596da853ecaSopenharmony_ci 1597da853ecaSopenharmony_ci ret = SetCallback(encoderDemo, handle); 1598da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 1599da853ecaSopenharmony_ci 1600da853ecaSopenharmony_ci ret = Configure(encoderDemo, handle); 1601da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 1602da853ecaSopenharmony_ci 1603da853ecaSopenharmony_ci ret = Prepare(encoderDemo, handle); 1604da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 1605da853ecaSopenharmony_ci 1606da853ecaSopenharmony_ci ret = Start(encoderDemo, handle, trackId, data); 1607da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 1608da853ecaSopenharmony_ci 1609da853ecaSopenharmony_ci ret = Stop(encoderDemo, handle); 1610da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 1611da853ecaSopenharmony_ci 1612da853ecaSopenharmony_ci ret = Reset(encoderDemo, handle); 1613da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 1614da853ecaSopenharmony_ci 1615da853ecaSopenharmony_ci ret = Flush(encoderDemo, handle); 1616da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_INVALID_STATE, ret); 1617da853ecaSopenharmony_ci 1618da853ecaSopenharmony_ci Destroy(encoderDemo, handle); 1619da853ecaSopenharmony_ci delete encoderDemo; 1620da853ecaSopenharmony_ci} 1621da853ecaSopenharmony_ci 1622da853ecaSopenharmony_ci/** 1623da853ecaSopenharmony_ci * @tc.number : SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_045 1624da853ecaSopenharmony_ci * @tc.name : Create -> Stop 1625da853ecaSopenharmony_ci * @tc.desc : interface depend check 1626da853ecaSopenharmony_ci */ 1627da853ecaSopenharmony_ciHWTEST_F(NativeInterfaceDependCheckTest, SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_045, TestSize.Level2) 1628da853ecaSopenharmony_ci{ 1629da853ecaSopenharmony_ci OH_AVErrCode ret; 1630da853ecaSopenharmony_ci 1631da853ecaSopenharmony_ci AudioEncoderDemo *encoderDemo = new AudioEncoderDemo(); 1632da853ecaSopenharmony_ci OH_AVCodec *handle = Create(encoderDemo); 1633da853ecaSopenharmony_ci ASSERT_NE(nullptr, handle); 1634da853ecaSopenharmony_ci 1635da853ecaSopenharmony_ci ret = Stop(encoderDemo, handle); 1636da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_INVALID_STATE, ret); 1637da853ecaSopenharmony_ci 1638da853ecaSopenharmony_ci Destroy(encoderDemo, handle); 1639da853ecaSopenharmony_ci delete encoderDemo; 1640da853ecaSopenharmony_ci} 1641da853ecaSopenharmony_ci 1642da853ecaSopenharmony_ci/** 1643da853ecaSopenharmony_ci * @tc.number : SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_046 1644da853ecaSopenharmony_ci * @tc.name : Create -> SetCallback -> Configure -> Prepare -> Stop 1645da853ecaSopenharmony_ci * @tc.desc : interface depend check 1646da853ecaSopenharmony_ci */ 1647da853ecaSopenharmony_ciHWTEST_F(NativeInterfaceDependCheckTest, SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_046, TestSize.Level2) 1648da853ecaSopenharmony_ci{ 1649da853ecaSopenharmony_ci OH_AVErrCode ret; 1650da853ecaSopenharmony_ci 1651da853ecaSopenharmony_ci AudioEncoderDemo *encoderDemo = new AudioEncoderDemo(); 1652da853ecaSopenharmony_ci OH_AVCodec *handle = Create(encoderDemo); 1653da853ecaSopenharmony_ci ASSERT_NE(nullptr, handle); 1654da853ecaSopenharmony_ci 1655da853ecaSopenharmony_ci ret = SetCallback(encoderDemo, handle); 1656da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 1657da853ecaSopenharmony_ci 1658da853ecaSopenharmony_ci ret = Configure(encoderDemo, handle); 1659da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 1660da853ecaSopenharmony_ci 1661da853ecaSopenharmony_ci ret = Prepare(encoderDemo, handle); 1662da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 1663da853ecaSopenharmony_ci 1664da853ecaSopenharmony_ci ret = Stop(encoderDemo, handle); 1665da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_INVALID_STATE, ret); 1666da853ecaSopenharmony_ci 1667da853ecaSopenharmony_ci Destroy(encoderDemo, handle); 1668da853ecaSopenharmony_ci delete encoderDemo; 1669da853ecaSopenharmony_ci} 1670da853ecaSopenharmony_ci 1671da853ecaSopenharmony_ci/** 1672da853ecaSopenharmony_ci * @tc.number : SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_047 1673da853ecaSopenharmony_ci * @tc.name : Create -> SetCallback -> Configure -> Prepare -> Start -> Stop 1674da853ecaSopenharmony_ci * @tc.desc : interface depend check 1675da853ecaSopenharmony_ci */ 1676da853ecaSopenharmony_ciHWTEST_F(NativeInterfaceDependCheckTest, SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_047, TestSize.Level2) 1677da853ecaSopenharmony_ci{ 1678da853ecaSopenharmony_ci OH_AVErrCode ret; 1679da853ecaSopenharmony_ci uint32_t trackId = -1; 1680da853ecaSopenharmony_ci uint8_t *data = nullptr; 1681da853ecaSopenharmony_ci 1682da853ecaSopenharmony_ci AudioEncoderDemo *encoderDemo = new AudioEncoderDemo(); 1683da853ecaSopenharmony_ci OH_AVCodec *handle = Create(encoderDemo); 1684da853ecaSopenharmony_ci ASSERT_NE(nullptr, handle); 1685da853ecaSopenharmony_ci 1686da853ecaSopenharmony_ci ret = SetCallback(encoderDemo, handle); 1687da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 1688da853ecaSopenharmony_ci 1689da853ecaSopenharmony_ci ret = Configure(encoderDemo, handle); 1690da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 1691da853ecaSopenharmony_ci 1692da853ecaSopenharmony_ci ret = Prepare(encoderDemo, handle); 1693da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 1694da853ecaSopenharmony_ci 1695da853ecaSopenharmony_ci ret = Start(encoderDemo, handle, trackId, data); 1696da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 1697da853ecaSopenharmony_ci 1698da853ecaSopenharmony_ci ret = Stop(encoderDemo, handle); 1699da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 1700da853ecaSopenharmony_ci 1701da853ecaSopenharmony_ci Destroy(encoderDemo, handle); 1702da853ecaSopenharmony_ci delete encoderDemo; 1703da853ecaSopenharmony_ci} 1704da853ecaSopenharmony_ci 1705da853ecaSopenharmony_ci/** 1706da853ecaSopenharmony_ci * @tc.number : SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_048 1707da853ecaSopenharmony_ci * @tc.name : Create -> SetCallback -> Configure -> Prepare -> Start -> PushInputData -> Stop 1708da853ecaSopenharmony_ci * @tc.desc : interface depend check 1709da853ecaSopenharmony_ci */ 1710da853ecaSopenharmony_ciHWTEST_F(NativeInterfaceDependCheckTest, SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_048, TestSize.Level2) 1711da853ecaSopenharmony_ci{ 1712da853ecaSopenharmony_ci OH_AVErrCode ret; 1713da853ecaSopenharmony_ci uint32_t trackId = -1; 1714da853ecaSopenharmony_ci uint8_t *data = nullptr; 1715da853ecaSopenharmony_ci 1716da853ecaSopenharmony_ci AudioEncoderDemo *encoderDemo = new AudioEncoderDemo(); 1717da853ecaSopenharmony_ci OH_AVCodec *handle = Create(encoderDemo); 1718da853ecaSopenharmony_ci ASSERT_NE(nullptr, handle); 1719da853ecaSopenharmony_ci 1720da853ecaSopenharmony_ci ret = SetCallback(encoderDemo, handle); 1721da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 1722da853ecaSopenharmony_ci 1723da853ecaSopenharmony_ci ret = Configure(encoderDemo, handle); 1724da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 1725da853ecaSopenharmony_ci 1726da853ecaSopenharmony_ci ret = Prepare(encoderDemo, handle); 1727da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 1728da853ecaSopenharmony_ci 1729da853ecaSopenharmony_ci ret = Start(encoderDemo, handle, trackId, data); 1730da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 1731da853ecaSopenharmony_ci 1732da853ecaSopenharmony_ci ret = PushInputData(encoderDemo, handle, trackId); 1733da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 1734da853ecaSopenharmony_ci 1735da853ecaSopenharmony_ci ret = Stop(encoderDemo, handle); 1736da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 1737da853ecaSopenharmony_ci 1738da853ecaSopenharmony_ci Destroy(encoderDemo, handle); 1739da853ecaSopenharmony_ci delete encoderDemo; 1740da853ecaSopenharmony_ci} 1741da853ecaSopenharmony_ci 1742da853ecaSopenharmony_ci/** 1743da853ecaSopenharmony_ci * @tc.number : SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_049 1744da853ecaSopenharmony_ci * @tc.name : Create -> SetCallback -> Configure -> Prepare -> Start -> PushInputData[EOS] -> Stop 1745da853ecaSopenharmony_ci * @tc.desc : interface depend check 1746da853ecaSopenharmony_ci */ 1747da853ecaSopenharmony_ciHWTEST_F(NativeInterfaceDependCheckTest, SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_049, TestSize.Level2) 1748da853ecaSopenharmony_ci{ 1749da853ecaSopenharmony_ci OH_AVErrCode ret; 1750da853ecaSopenharmony_ci uint32_t trackId = -1; 1751da853ecaSopenharmony_ci uint8_t *data = nullptr; 1752da853ecaSopenharmony_ci 1753da853ecaSopenharmony_ci AudioEncoderDemo *encoderDemo = new AudioEncoderDemo(); 1754da853ecaSopenharmony_ci OH_AVCodec *handle = Create(encoderDemo); 1755da853ecaSopenharmony_ci ASSERT_NE(nullptr, handle); 1756da853ecaSopenharmony_ci 1757da853ecaSopenharmony_ci ret = SetCallback(encoderDemo, handle); 1758da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 1759da853ecaSopenharmony_ci 1760da853ecaSopenharmony_ci ret = Configure(encoderDemo, handle); 1761da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 1762da853ecaSopenharmony_ci 1763da853ecaSopenharmony_ci ret = Prepare(encoderDemo, handle); 1764da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 1765da853ecaSopenharmony_ci 1766da853ecaSopenharmony_ci ret = Start(encoderDemo, handle, trackId, data); 1767da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 1768da853ecaSopenharmony_ci 1769da853ecaSopenharmony_ci ret = PushInputDataEOS(encoderDemo, handle, trackId); 1770da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 1771da853ecaSopenharmony_ci 1772da853ecaSopenharmony_ci ret = Stop(encoderDemo, handle); 1773da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 1774da853ecaSopenharmony_ci 1775da853ecaSopenharmony_ci Destroy(encoderDemo, handle); 1776da853ecaSopenharmony_ci delete encoderDemo; 1777da853ecaSopenharmony_ci} 1778da853ecaSopenharmony_ci 1779da853ecaSopenharmony_ci/** 1780da853ecaSopenharmony_ci * @tc.number : SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_050 1781da853ecaSopenharmony_ci * @tc.name : Create -> SetCallback -> Configure -> Prepare -> Start -> Flush -> Stop 1782da853ecaSopenharmony_ci * @tc.desc : interface depend check 1783da853ecaSopenharmony_ci */ 1784da853ecaSopenharmony_ciHWTEST_F(NativeInterfaceDependCheckTest, SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_050, TestSize.Level2) 1785da853ecaSopenharmony_ci{ 1786da853ecaSopenharmony_ci OH_AVErrCode ret; 1787da853ecaSopenharmony_ci uint32_t trackId = -1; 1788da853ecaSopenharmony_ci uint8_t *data = nullptr; 1789da853ecaSopenharmony_ci 1790da853ecaSopenharmony_ci AudioEncoderDemo *encoderDemo = new AudioEncoderDemo(); 1791da853ecaSopenharmony_ci OH_AVCodec *handle = Create(encoderDemo); 1792da853ecaSopenharmony_ci ASSERT_NE(nullptr, handle); 1793da853ecaSopenharmony_ci 1794da853ecaSopenharmony_ci ret = SetCallback(encoderDemo, handle); 1795da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 1796da853ecaSopenharmony_ci 1797da853ecaSopenharmony_ci ret = Configure(encoderDemo, handle); 1798da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 1799da853ecaSopenharmony_ci 1800da853ecaSopenharmony_ci ret = Prepare(encoderDemo, handle); 1801da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 1802da853ecaSopenharmony_ci 1803da853ecaSopenharmony_ci ret = Start(encoderDemo, handle, trackId, data); 1804da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 1805da853ecaSopenharmony_ci 1806da853ecaSopenharmony_ci ret = Flush(encoderDemo, handle); 1807da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 1808da853ecaSopenharmony_ci 1809da853ecaSopenharmony_ci ret = Stop(encoderDemo, handle); 1810da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 1811da853ecaSopenharmony_ci 1812da853ecaSopenharmony_ci Destroy(encoderDemo, handle); 1813da853ecaSopenharmony_ci delete encoderDemo; 1814da853ecaSopenharmony_ci} 1815da853ecaSopenharmony_ci 1816da853ecaSopenharmony_ci/** 1817da853ecaSopenharmony_ci * @tc.number : SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_051 1818da853ecaSopenharmony_ci * @tc.name : Create -> SetCallback -> Configure -> Prepare -> Start -> Stop -> Stop 1819da853ecaSopenharmony_ci * @tc.desc : interface depend check 1820da853ecaSopenharmony_ci */ 1821da853ecaSopenharmony_ciHWTEST_F(NativeInterfaceDependCheckTest, SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_051, TestSize.Level2) 1822da853ecaSopenharmony_ci{ 1823da853ecaSopenharmony_ci OH_AVErrCode ret; 1824da853ecaSopenharmony_ci uint32_t trackId = -1; 1825da853ecaSopenharmony_ci uint8_t *data = nullptr; 1826da853ecaSopenharmony_ci 1827da853ecaSopenharmony_ci AudioEncoderDemo *encoderDemo = new AudioEncoderDemo(); 1828da853ecaSopenharmony_ci OH_AVCodec *handle = Create(encoderDemo); 1829da853ecaSopenharmony_ci ASSERT_NE(nullptr, handle); 1830da853ecaSopenharmony_ci 1831da853ecaSopenharmony_ci ret = SetCallback(encoderDemo, handle); 1832da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 1833da853ecaSopenharmony_ci 1834da853ecaSopenharmony_ci ret = Configure(encoderDemo, handle); 1835da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 1836da853ecaSopenharmony_ci 1837da853ecaSopenharmony_ci ret = Prepare(encoderDemo, handle); 1838da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 1839da853ecaSopenharmony_ci 1840da853ecaSopenharmony_ci ret = Start(encoderDemo, handle, trackId, data); 1841da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 1842da853ecaSopenharmony_ci 1843da853ecaSopenharmony_ci ret = Stop(encoderDemo, handle); 1844da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 1845da853ecaSopenharmony_ci 1846da853ecaSopenharmony_ci ret = Stop(encoderDemo, handle); 1847da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_INVALID_STATE, ret); 1848da853ecaSopenharmony_ci 1849da853ecaSopenharmony_ci Destroy(encoderDemo, handle); 1850da853ecaSopenharmony_ci delete encoderDemo; 1851da853ecaSopenharmony_ci} 1852da853ecaSopenharmony_ci 1853da853ecaSopenharmony_ci/** 1854da853ecaSopenharmony_ci * @tc.number : SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_052 1855da853ecaSopenharmony_ci * @tc.name : Create -> SetCallback -> Configure -> Prepare -> Start -> Stop -> Reset -> Stop 1856da853ecaSopenharmony_ci * @tc.desc : interface depend check 1857da853ecaSopenharmony_ci */ 1858da853ecaSopenharmony_ciHWTEST_F(NativeInterfaceDependCheckTest, SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_052, TestSize.Level2) 1859da853ecaSopenharmony_ci{ 1860da853ecaSopenharmony_ci OH_AVErrCode ret; 1861da853ecaSopenharmony_ci uint32_t trackId = -1; 1862da853ecaSopenharmony_ci uint8_t *data = nullptr; 1863da853ecaSopenharmony_ci 1864da853ecaSopenharmony_ci AudioEncoderDemo *encoderDemo = new AudioEncoderDemo(); 1865da853ecaSopenharmony_ci OH_AVCodec *handle = Create(encoderDemo); 1866da853ecaSopenharmony_ci ASSERT_NE(nullptr, handle); 1867da853ecaSopenharmony_ci 1868da853ecaSopenharmony_ci ret = SetCallback(encoderDemo, handle); 1869da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 1870da853ecaSopenharmony_ci 1871da853ecaSopenharmony_ci ret = Configure(encoderDemo, handle); 1872da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 1873da853ecaSopenharmony_ci 1874da853ecaSopenharmony_ci ret = Prepare(encoderDemo, handle); 1875da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 1876da853ecaSopenharmony_ci 1877da853ecaSopenharmony_ci ret = Start(encoderDemo, handle, trackId, data); 1878da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 1879da853ecaSopenharmony_ci 1880da853ecaSopenharmony_ci ret = Stop(encoderDemo, handle); 1881da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 1882da853ecaSopenharmony_ci 1883da853ecaSopenharmony_ci ret = Reset(encoderDemo, handle); 1884da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 1885da853ecaSopenharmony_ci 1886da853ecaSopenharmony_ci ret = Stop(encoderDemo, handle); 1887da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_INVALID_STATE, ret); 1888da853ecaSopenharmony_ci 1889da853ecaSopenharmony_ci Destroy(encoderDemo, handle); 1890da853ecaSopenharmony_ci delete encoderDemo; 1891da853ecaSopenharmony_ci} 1892da853ecaSopenharmony_ci 1893da853ecaSopenharmony_ci/** 1894da853ecaSopenharmony_ci * @tc.number : SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_053 1895da853ecaSopenharmony_ci * @tc.name : Creat -> Reset 1896da853ecaSopenharmony_ci * @tc.desc : interface depend check 1897da853ecaSopenharmony_ci */ 1898da853ecaSopenharmony_ciHWTEST_F(NativeInterfaceDependCheckTest, SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_053, TestSize.Level2) 1899da853ecaSopenharmony_ci{ 1900da853ecaSopenharmony_ci OH_AVErrCode ret; 1901da853ecaSopenharmony_ci 1902da853ecaSopenharmony_ci AudioEncoderDemo *encoderDemo = new AudioEncoderDemo(); 1903da853ecaSopenharmony_ci OH_AVCodec *handle = Create(encoderDemo); 1904da853ecaSopenharmony_ci ASSERT_NE(nullptr, handle); 1905da853ecaSopenharmony_ci 1906da853ecaSopenharmony_ci ret = Reset(encoderDemo, handle); 1907da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 1908da853ecaSopenharmony_ci 1909da853ecaSopenharmony_ci Destroy(encoderDemo, handle); 1910da853ecaSopenharmony_ci delete encoderDemo; 1911da853ecaSopenharmony_ci} 1912da853ecaSopenharmony_ci 1913da853ecaSopenharmony_ci/** 1914da853ecaSopenharmony_ci * @tc.number : SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_054 1915da853ecaSopenharmony_ci * @tc.name : Creat -> SetCallback -> Configure -> Prepare -> Reset 1916da853ecaSopenharmony_ci * @tc.desc : interface depend check 1917da853ecaSopenharmony_ci */ 1918da853ecaSopenharmony_ciHWTEST_F(NativeInterfaceDependCheckTest, SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_054, TestSize.Level2) 1919da853ecaSopenharmony_ci{ 1920da853ecaSopenharmony_ci OH_AVErrCode ret; 1921da853ecaSopenharmony_ci 1922da853ecaSopenharmony_ci AudioEncoderDemo *encoderDemo = new AudioEncoderDemo(); 1923da853ecaSopenharmony_ci OH_AVCodec *handle = Create(encoderDemo); 1924da853ecaSopenharmony_ci ASSERT_NE(nullptr, handle); 1925da853ecaSopenharmony_ci 1926da853ecaSopenharmony_ci ret = SetCallback(encoderDemo, handle); 1927da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 1928da853ecaSopenharmony_ci 1929da853ecaSopenharmony_ci ret = Configure(encoderDemo, handle); 1930da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 1931da853ecaSopenharmony_ci 1932da853ecaSopenharmony_ci ret = Prepare(encoderDemo, handle); 1933da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 1934da853ecaSopenharmony_ci 1935da853ecaSopenharmony_ci ret = Reset(encoderDemo, handle); 1936da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 1937da853ecaSopenharmony_ci 1938da853ecaSopenharmony_ci Destroy(encoderDemo, handle); 1939da853ecaSopenharmony_ci delete encoderDemo; 1940da853ecaSopenharmony_ci} 1941da853ecaSopenharmony_ci 1942da853ecaSopenharmony_ci/** 1943da853ecaSopenharmony_ci * @tc.number : SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_055 1944da853ecaSopenharmony_ci * @tc.name : Creat -> SetCallback -> Configure -> Prepare -> Start -> Reset 1945da853ecaSopenharmony_ci * @tc.desc : interface depend check 1946da853ecaSopenharmony_ci */ 1947da853ecaSopenharmony_ciHWTEST_F(NativeInterfaceDependCheckTest, SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_055, TestSize.Level2) 1948da853ecaSopenharmony_ci{ 1949da853ecaSopenharmony_ci OH_AVErrCode ret; 1950da853ecaSopenharmony_ci uint32_t trackId = -1; 1951da853ecaSopenharmony_ci uint8_t *data = nullptr; 1952da853ecaSopenharmony_ci 1953da853ecaSopenharmony_ci AudioEncoderDemo *encoderDemo = new AudioEncoderDemo(); 1954da853ecaSopenharmony_ci OH_AVCodec *handle = Create(encoderDemo); 1955da853ecaSopenharmony_ci ASSERT_NE(nullptr, handle); 1956da853ecaSopenharmony_ci 1957da853ecaSopenharmony_ci ret = SetCallback(encoderDemo, handle); 1958da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 1959da853ecaSopenharmony_ci 1960da853ecaSopenharmony_ci ret = Configure(encoderDemo, handle); 1961da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 1962da853ecaSopenharmony_ci 1963da853ecaSopenharmony_ci ret = Prepare(encoderDemo, handle); 1964da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 1965da853ecaSopenharmony_ci 1966da853ecaSopenharmony_ci ret = Start(encoderDemo, handle, trackId, data); 1967da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 1968da853ecaSopenharmony_ci 1969da853ecaSopenharmony_ci ret = Reset(encoderDemo, handle); 1970da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 1971da853ecaSopenharmony_ci 1972da853ecaSopenharmony_ci Destroy(encoderDemo, handle); 1973da853ecaSopenharmony_ci delete encoderDemo; 1974da853ecaSopenharmony_ci} 1975da853ecaSopenharmony_ci 1976da853ecaSopenharmony_ci/** 1977da853ecaSopenharmony_ci * @tc.number : SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_056 1978da853ecaSopenharmony_ci * @tc.name : Creat -> SetCallback -> Configure -> Prepare -> Start -> PushInputData -> Reset 1979da853ecaSopenharmony_ci * @tc.desc : interface depend check 1980da853ecaSopenharmony_ci */ 1981da853ecaSopenharmony_ciHWTEST_F(NativeInterfaceDependCheckTest, SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_056, TestSize.Level2) 1982da853ecaSopenharmony_ci{ 1983da853ecaSopenharmony_ci OH_AVErrCode ret; 1984da853ecaSopenharmony_ci uint32_t trackId = -1; 1985da853ecaSopenharmony_ci uint8_t *data = nullptr; 1986da853ecaSopenharmony_ci 1987da853ecaSopenharmony_ci AudioEncoderDemo *encoderDemo = new AudioEncoderDemo(); 1988da853ecaSopenharmony_ci OH_AVCodec *handle = Create(encoderDemo); 1989da853ecaSopenharmony_ci ASSERT_NE(nullptr, handle); 1990da853ecaSopenharmony_ci 1991da853ecaSopenharmony_ci ret = SetCallback(encoderDemo, handle); 1992da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 1993da853ecaSopenharmony_ci 1994da853ecaSopenharmony_ci ret = Configure(encoderDemo, handle); 1995da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 1996da853ecaSopenharmony_ci 1997da853ecaSopenharmony_ci ret = Prepare(encoderDemo, handle); 1998da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 1999da853ecaSopenharmony_ci 2000da853ecaSopenharmony_ci ret = Start(encoderDemo, handle, trackId, data); 2001da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 2002da853ecaSopenharmony_ci 2003da853ecaSopenharmony_ci ret = PushInputData(encoderDemo, handle, trackId); 2004da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 2005da853ecaSopenharmony_ci 2006da853ecaSopenharmony_ci ret = Reset(encoderDemo, handle); 2007da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 2008da853ecaSopenharmony_ci 2009da853ecaSopenharmony_ci Destroy(encoderDemo, handle); 2010da853ecaSopenharmony_ci delete encoderDemo; 2011da853ecaSopenharmony_ci} 2012da853ecaSopenharmony_ci 2013da853ecaSopenharmony_ci/** 2014da853ecaSopenharmony_ci * @tc.number : SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_057 2015da853ecaSopenharmony_ci * @tc.name : Creat -> SetCallback -> Configure -> Prepare -> Start -> PushInputData[EOS] -> Reset 2016da853ecaSopenharmony_ci * @tc.desc : interface depend check 2017da853ecaSopenharmony_ci */ 2018da853ecaSopenharmony_ciHWTEST_F(NativeInterfaceDependCheckTest, SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_057, TestSize.Level2) 2019da853ecaSopenharmony_ci{ 2020da853ecaSopenharmony_ci OH_AVErrCode ret; 2021da853ecaSopenharmony_ci uint32_t trackId = -1; 2022da853ecaSopenharmony_ci uint8_t *data = nullptr; 2023da853ecaSopenharmony_ci 2024da853ecaSopenharmony_ci AudioEncoderDemo *encoderDemo = new AudioEncoderDemo(); 2025da853ecaSopenharmony_ci OH_AVCodec *handle = Create(encoderDemo); 2026da853ecaSopenharmony_ci ASSERT_NE(nullptr, handle); 2027da853ecaSopenharmony_ci 2028da853ecaSopenharmony_ci ret = SetCallback(encoderDemo, handle); 2029da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 2030da853ecaSopenharmony_ci 2031da853ecaSopenharmony_ci ret = Configure(encoderDemo, handle); 2032da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 2033da853ecaSopenharmony_ci 2034da853ecaSopenharmony_ci ret = Prepare(encoderDemo, handle); 2035da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 2036da853ecaSopenharmony_ci 2037da853ecaSopenharmony_ci ret = Start(encoderDemo, handle, trackId, data); 2038da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 2039da853ecaSopenharmony_ci 2040da853ecaSopenharmony_ci ret = PushInputDataEOS(encoderDemo, handle, trackId); 2041da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 2042da853ecaSopenharmony_ci 2043da853ecaSopenharmony_ci ret = Reset(encoderDemo, handle); 2044da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 2045da853ecaSopenharmony_ci 2046da853ecaSopenharmony_ci Destroy(encoderDemo, handle); 2047da853ecaSopenharmony_ci delete encoderDemo; 2048da853ecaSopenharmony_ci} 2049da853ecaSopenharmony_ci 2050da853ecaSopenharmony_ci/** 2051da853ecaSopenharmony_ci * @tc.number : SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_058 2052da853ecaSopenharmony_ci * @tc.name : Creat -> SetCallback -> Configure -> Prepare -> Start -> Flush -> Reset 2053da853ecaSopenharmony_ci * @tc.desc : interface depend check 2054da853ecaSopenharmony_ci */ 2055da853ecaSopenharmony_ciHWTEST_F(NativeInterfaceDependCheckTest, SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_058, TestSize.Level2) 2056da853ecaSopenharmony_ci{ 2057da853ecaSopenharmony_ci OH_AVErrCode ret; 2058da853ecaSopenharmony_ci uint32_t trackId = -1; 2059da853ecaSopenharmony_ci uint8_t *data = nullptr; 2060da853ecaSopenharmony_ci 2061da853ecaSopenharmony_ci AudioEncoderDemo *encoderDemo = new AudioEncoderDemo(); 2062da853ecaSopenharmony_ci OH_AVCodec *handle = Create(encoderDemo); 2063da853ecaSopenharmony_ci ASSERT_NE(nullptr, handle); 2064da853ecaSopenharmony_ci 2065da853ecaSopenharmony_ci ret = SetCallback(encoderDemo, handle); 2066da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 2067da853ecaSopenharmony_ci 2068da853ecaSopenharmony_ci ret = Configure(encoderDemo, handle); 2069da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 2070da853ecaSopenharmony_ci 2071da853ecaSopenharmony_ci ret = Prepare(encoderDemo, handle); 2072da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 2073da853ecaSopenharmony_ci 2074da853ecaSopenharmony_ci ret = Start(encoderDemo, handle, trackId, data); 2075da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 2076da853ecaSopenharmony_ci 2077da853ecaSopenharmony_ci ret = Flush(encoderDemo, handle); 2078da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 2079da853ecaSopenharmony_ci 2080da853ecaSopenharmony_ci ret = Reset(encoderDemo, handle); 2081da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 2082da853ecaSopenharmony_ci 2083da853ecaSopenharmony_ci Destroy(encoderDemo, handle); 2084da853ecaSopenharmony_ci delete encoderDemo; 2085da853ecaSopenharmony_ci} 2086da853ecaSopenharmony_ci 2087da853ecaSopenharmony_ci/** 2088da853ecaSopenharmony_ci * @tc.number : SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_059 2089da853ecaSopenharmony_ci * @tc.name : Creat -> SetCallback -> Configure -> Prepare -> Start -> Stop -> Reset 2090da853ecaSopenharmony_ci * @tc.desc : interface depend check 2091da853ecaSopenharmony_ci */ 2092da853ecaSopenharmony_ciHWTEST_F(NativeInterfaceDependCheckTest, SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_059, TestSize.Level2) 2093da853ecaSopenharmony_ci{ 2094da853ecaSopenharmony_ci OH_AVErrCode ret; 2095da853ecaSopenharmony_ci uint32_t trackId = -1; 2096da853ecaSopenharmony_ci uint8_t *data = nullptr; 2097da853ecaSopenharmony_ci 2098da853ecaSopenharmony_ci AudioEncoderDemo *encoderDemo = new AudioEncoderDemo(); 2099da853ecaSopenharmony_ci OH_AVCodec *handle = Create(encoderDemo); 2100da853ecaSopenharmony_ci ASSERT_NE(nullptr, handle); 2101da853ecaSopenharmony_ci 2102da853ecaSopenharmony_ci ret = SetCallback(encoderDemo, handle); 2103da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 2104da853ecaSopenharmony_ci 2105da853ecaSopenharmony_ci ret = Configure(encoderDemo, handle); 2106da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 2107da853ecaSopenharmony_ci 2108da853ecaSopenharmony_ci ret = Prepare(encoderDemo, handle); 2109da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 2110da853ecaSopenharmony_ci 2111da853ecaSopenharmony_ci ret = Start(encoderDemo, handle, trackId, data); 2112da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 2113da853ecaSopenharmony_ci 2114da853ecaSopenharmony_ci ret = Stop(encoderDemo, handle); 2115da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 2116da853ecaSopenharmony_ci 2117da853ecaSopenharmony_ci ret = Reset(encoderDemo, handle); 2118da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 2119da853ecaSopenharmony_ci 2120da853ecaSopenharmony_ci Destroy(encoderDemo, handle); 2121da853ecaSopenharmony_ci delete encoderDemo; 2122da853ecaSopenharmony_ci} 2123da853ecaSopenharmony_ci 2124da853ecaSopenharmony_ci/** 2125da853ecaSopenharmony_ci * @tc.number : SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_060 2126da853ecaSopenharmony_ci * @tc.name : Creat -> SetCallback -> Configure -> Prepare -> Start -> Stop -> Reset -> Reset 2127da853ecaSopenharmony_ci * @tc.desc : interface depend check 2128da853ecaSopenharmony_ci */ 2129da853ecaSopenharmony_ciHWTEST_F(NativeInterfaceDependCheckTest, SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_060, TestSize.Level2) 2130da853ecaSopenharmony_ci{ 2131da853ecaSopenharmony_ci OH_AVErrCode ret; 2132da853ecaSopenharmony_ci uint32_t trackId = -1; 2133da853ecaSopenharmony_ci uint8_t *data = nullptr; 2134da853ecaSopenharmony_ci 2135da853ecaSopenharmony_ci AudioEncoderDemo *encoderDemo = new AudioEncoderDemo(); 2136da853ecaSopenharmony_ci OH_AVCodec *handle = Create(encoderDemo); 2137da853ecaSopenharmony_ci ASSERT_NE(nullptr, handle); 2138da853ecaSopenharmony_ci 2139da853ecaSopenharmony_ci ret = SetCallback(encoderDemo, handle); 2140da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 2141da853ecaSopenharmony_ci 2142da853ecaSopenharmony_ci ret = Configure(encoderDemo, handle); 2143da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 2144da853ecaSopenharmony_ci 2145da853ecaSopenharmony_ci ret = Prepare(encoderDemo, handle); 2146da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 2147da853ecaSopenharmony_ci 2148da853ecaSopenharmony_ci ret = Start(encoderDemo, handle, trackId, data); 2149da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 2150da853ecaSopenharmony_ci 2151da853ecaSopenharmony_ci ret = Stop(encoderDemo, handle); 2152da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 2153da853ecaSopenharmony_ci 2154da853ecaSopenharmony_ci ret = Reset(encoderDemo, handle); 2155da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 2156da853ecaSopenharmony_ci 2157da853ecaSopenharmony_ci ret = Reset(encoderDemo, handle); 2158da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 2159da853ecaSopenharmony_ci 2160da853ecaSopenharmony_ci Destroy(encoderDemo, handle); 2161da853ecaSopenharmony_ci delete encoderDemo; 2162da853ecaSopenharmony_ci} 2163da853ecaSopenharmony_ci 2164da853ecaSopenharmony_ci/** 2165da853ecaSopenharmony_ci * @tc.number : SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_061 2166da853ecaSopenharmony_ci * @tc.name : Creat -> Destory 2167da853ecaSopenharmony_ci * @tc.desc : interface depend check 2168da853ecaSopenharmony_ci */ 2169da853ecaSopenharmony_ciHWTEST_F(NativeInterfaceDependCheckTest, SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_061, TestSize.Level2) 2170da853ecaSopenharmony_ci{ 2171da853ecaSopenharmony_ci OH_AVErrCode ret; 2172da853ecaSopenharmony_ci 2173da853ecaSopenharmony_ci AudioEncoderDemo *encoderDemo = new AudioEncoderDemo(); 2174da853ecaSopenharmony_ci OH_AVCodec *handle = Create(encoderDemo); 2175da853ecaSopenharmony_ci ASSERT_NE(nullptr, handle); 2176da853ecaSopenharmony_ci 2177da853ecaSopenharmony_ci ret = Destroy(encoderDemo, handle); 2178da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 2179da853ecaSopenharmony_ci delete encoderDemo; 2180da853ecaSopenharmony_ci} 2181da853ecaSopenharmony_ci 2182da853ecaSopenharmony_ci/** 2183da853ecaSopenharmony_ci * @tc.number : SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_062 2184da853ecaSopenharmony_ci * @tc.name : Creat -> SetCallback -> Configure -> Prepare -> Destory 2185da853ecaSopenharmony_ci * @tc.desc : interface depend check 2186da853ecaSopenharmony_ci */ 2187da853ecaSopenharmony_ciHWTEST_F(NativeInterfaceDependCheckTest, SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_062, TestSize.Level2) 2188da853ecaSopenharmony_ci{ 2189da853ecaSopenharmony_ci OH_AVErrCode ret; 2190da853ecaSopenharmony_ci 2191da853ecaSopenharmony_ci AudioEncoderDemo *encoderDemo = new AudioEncoderDemo(); 2192da853ecaSopenharmony_ci OH_AVCodec *handle = Create(encoderDemo); 2193da853ecaSopenharmony_ci ASSERT_NE(nullptr, handle); 2194da853ecaSopenharmony_ci 2195da853ecaSopenharmony_ci ret = SetCallback(encoderDemo, handle); 2196da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 2197da853ecaSopenharmony_ci 2198da853ecaSopenharmony_ci ret = Configure(encoderDemo, handle); 2199da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 2200da853ecaSopenharmony_ci 2201da853ecaSopenharmony_ci ret = Prepare(encoderDemo, handle); 2202da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 2203da853ecaSopenharmony_ci 2204da853ecaSopenharmony_ci ret = Destroy(encoderDemo, handle); 2205da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 2206da853ecaSopenharmony_ci delete encoderDemo; 2207da853ecaSopenharmony_ci} 2208da853ecaSopenharmony_ci 2209da853ecaSopenharmony_ci/** 2210da853ecaSopenharmony_ci * @tc.number : SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_063 2211da853ecaSopenharmony_ci * @tc.name : Creat -> SetCallback -> Configure -> Prepare -> Start -> Destory 2212da853ecaSopenharmony_ci * @tc.desc : interface depend check 2213da853ecaSopenharmony_ci */ 2214da853ecaSopenharmony_ciHWTEST_F(NativeInterfaceDependCheckTest, SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_063, TestSize.Level2) 2215da853ecaSopenharmony_ci{ 2216da853ecaSopenharmony_ci OH_AVErrCode ret; 2217da853ecaSopenharmony_ci uint32_t trackId = -1; 2218da853ecaSopenharmony_ci uint8_t *data = nullptr; 2219da853ecaSopenharmony_ci 2220da853ecaSopenharmony_ci AudioEncoderDemo *encoderDemo = new AudioEncoderDemo(); 2221da853ecaSopenharmony_ci OH_AVCodec *handle = Create(encoderDemo); 2222da853ecaSopenharmony_ci ASSERT_NE(nullptr, handle); 2223da853ecaSopenharmony_ci 2224da853ecaSopenharmony_ci ret = SetCallback(encoderDemo, handle); 2225da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 2226da853ecaSopenharmony_ci 2227da853ecaSopenharmony_ci ret = Configure(encoderDemo, handle); 2228da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 2229da853ecaSopenharmony_ci 2230da853ecaSopenharmony_ci ret = Prepare(encoderDemo, handle); 2231da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 2232da853ecaSopenharmony_ci 2233da853ecaSopenharmony_ci ret = Start(encoderDemo, handle, trackId, data); 2234da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 2235da853ecaSopenharmony_ci 2236da853ecaSopenharmony_ci ret = Destroy(encoderDemo, handle); 2237da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 2238da853ecaSopenharmony_ci delete encoderDemo; 2239da853ecaSopenharmony_ci} 2240da853ecaSopenharmony_ci 2241da853ecaSopenharmony_ci/** 2242da853ecaSopenharmony_ci * @tc.number : SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_064 2243da853ecaSopenharmony_ci * @tc.name : Creat -> SetCallback -> Configure -> Prepare -> Start -> PushInputData -> Destory 2244da853ecaSopenharmony_ci * @tc.desc : interface depend check 2245da853ecaSopenharmony_ci */ 2246da853ecaSopenharmony_ciHWTEST_F(NativeInterfaceDependCheckTest, SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_064, TestSize.Level2) 2247da853ecaSopenharmony_ci{ 2248da853ecaSopenharmony_ci OH_AVErrCode ret; 2249da853ecaSopenharmony_ci uint32_t trackId = -1; 2250da853ecaSopenharmony_ci uint8_t *data = nullptr; 2251da853ecaSopenharmony_ci 2252da853ecaSopenharmony_ci AudioEncoderDemo *encoderDemo = new AudioEncoderDemo(); 2253da853ecaSopenharmony_ci OH_AVCodec *handle = Create(encoderDemo); 2254da853ecaSopenharmony_ci ASSERT_NE(nullptr, handle); 2255da853ecaSopenharmony_ci 2256da853ecaSopenharmony_ci ret = SetCallback(encoderDemo, handle); 2257da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 2258da853ecaSopenharmony_ci 2259da853ecaSopenharmony_ci ret = Configure(encoderDemo, handle); 2260da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 2261da853ecaSopenharmony_ci 2262da853ecaSopenharmony_ci ret = Prepare(encoderDemo, handle); 2263da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 2264da853ecaSopenharmony_ci 2265da853ecaSopenharmony_ci ret = Start(encoderDemo, handle, trackId, data); 2266da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 2267da853ecaSopenharmony_ci 2268da853ecaSopenharmony_ci ret = PushInputData(encoderDemo, handle, trackId); 2269da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 2270da853ecaSopenharmony_ci 2271da853ecaSopenharmony_ci ret = Destroy(encoderDemo, handle); 2272da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 2273da853ecaSopenharmony_ci delete encoderDemo; 2274da853ecaSopenharmony_ci} 2275da853ecaSopenharmony_ci 2276da853ecaSopenharmony_ci/** 2277da853ecaSopenharmony_ci * @tc.number : SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_065 2278da853ecaSopenharmony_ci * @tc.name : Creat -> SetCallback -> Configure -> Prepare -> Start -> PushInputData[EOS] -> Destory 2279da853ecaSopenharmony_ci * @tc.desc : interface depend check 2280da853ecaSopenharmony_ci */ 2281da853ecaSopenharmony_ciHWTEST_F(NativeInterfaceDependCheckTest, SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_065, TestSize.Level2) 2282da853ecaSopenharmony_ci{ 2283da853ecaSopenharmony_ci OH_AVErrCode ret; 2284da853ecaSopenharmony_ci uint32_t trackId = -1; 2285da853ecaSopenharmony_ci uint8_t *data = nullptr; 2286da853ecaSopenharmony_ci 2287da853ecaSopenharmony_ci AudioEncoderDemo *encoderDemo = new AudioEncoderDemo(); 2288da853ecaSopenharmony_ci OH_AVCodec *handle = Create(encoderDemo); 2289da853ecaSopenharmony_ci ASSERT_NE(nullptr, handle); 2290da853ecaSopenharmony_ci 2291da853ecaSopenharmony_ci ret = SetCallback(encoderDemo, handle); 2292da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 2293da853ecaSopenharmony_ci 2294da853ecaSopenharmony_ci ret = Configure(encoderDemo, handle); 2295da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 2296da853ecaSopenharmony_ci 2297da853ecaSopenharmony_ci ret = Prepare(encoderDemo, handle); 2298da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 2299da853ecaSopenharmony_ci 2300da853ecaSopenharmony_ci ret = Start(encoderDemo, handle, trackId, data); 2301da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 2302da853ecaSopenharmony_ci 2303da853ecaSopenharmony_ci ret = PushInputDataEOS(encoderDemo, handle, trackId); 2304da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 2305da853ecaSopenharmony_ci 2306da853ecaSopenharmony_ci ret = Destroy(encoderDemo, handle); 2307da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 2308da853ecaSopenharmony_ci delete encoderDemo; 2309da853ecaSopenharmony_ci} 2310da853ecaSopenharmony_ci 2311da853ecaSopenharmony_ci/** 2312da853ecaSopenharmony_ci * @tc.number : SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_066 2313da853ecaSopenharmony_ci * @tc.name : Creat -> SetCallback -> Configure -> Prepare -> Start -> Flush -> Destory 2314da853ecaSopenharmony_ci * @tc.desc : interface depend check 2315da853ecaSopenharmony_ci */ 2316da853ecaSopenharmony_ciHWTEST_F(NativeInterfaceDependCheckTest, SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_066, TestSize.Level2) 2317da853ecaSopenharmony_ci{ 2318da853ecaSopenharmony_ci OH_AVErrCode ret; 2319da853ecaSopenharmony_ci uint32_t trackId = -1; 2320da853ecaSopenharmony_ci uint8_t *data = nullptr; 2321da853ecaSopenharmony_ci 2322da853ecaSopenharmony_ci AudioEncoderDemo *encoderDemo = new AudioEncoderDemo(); 2323da853ecaSopenharmony_ci OH_AVCodec *handle = Create(encoderDemo); 2324da853ecaSopenharmony_ci ASSERT_NE(nullptr, handle); 2325da853ecaSopenharmony_ci 2326da853ecaSopenharmony_ci ret = SetCallback(encoderDemo, handle); 2327da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 2328da853ecaSopenharmony_ci 2329da853ecaSopenharmony_ci ret = Configure(encoderDemo, handle); 2330da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 2331da853ecaSopenharmony_ci 2332da853ecaSopenharmony_ci ret = Prepare(encoderDemo, handle); 2333da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 2334da853ecaSopenharmony_ci 2335da853ecaSopenharmony_ci ret = Start(encoderDemo, handle, trackId, data); 2336da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 2337da853ecaSopenharmony_ci 2338da853ecaSopenharmony_ci ret = Flush(encoderDemo, handle); 2339da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 2340da853ecaSopenharmony_ci 2341da853ecaSopenharmony_ci ret = Destroy(encoderDemo, handle); 2342da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 2343da853ecaSopenharmony_ci delete encoderDemo; 2344da853ecaSopenharmony_ci} 2345da853ecaSopenharmony_ci 2346da853ecaSopenharmony_ci/** 2347da853ecaSopenharmony_ci * @tc.number : SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_067 2348da853ecaSopenharmony_ci * @tc.name : Creat -> SetCallback -> Configure -> Prepare -> Start -> Stop -> Destory 2349da853ecaSopenharmony_ci * @tc.desc : interface depend check 2350da853ecaSopenharmony_ci */ 2351da853ecaSopenharmony_ciHWTEST_F(NativeInterfaceDependCheckTest, SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_067, TestSize.Level2) 2352da853ecaSopenharmony_ci{ 2353da853ecaSopenharmony_ci OH_AVErrCode ret; 2354da853ecaSopenharmony_ci uint32_t trackId = -1; 2355da853ecaSopenharmony_ci uint8_t *data = nullptr; 2356da853ecaSopenharmony_ci 2357da853ecaSopenharmony_ci AudioEncoderDemo *encoderDemo = new AudioEncoderDemo(); 2358da853ecaSopenharmony_ci OH_AVCodec *handle = Create(encoderDemo); 2359da853ecaSopenharmony_ci ASSERT_NE(nullptr, handle); 2360da853ecaSopenharmony_ci 2361da853ecaSopenharmony_ci ret = SetCallback(encoderDemo, handle); 2362da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 2363da853ecaSopenharmony_ci 2364da853ecaSopenharmony_ci ret = Configure(encoderDemo, handle); 2365da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 2366da853ecaSopenharmony_ci 2367da853ecaSopenharmony_ci ret = Prepare(encoderDemo, handle); 2368da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 2369da853ecaSopenharmony_ci 2370da853ecaSopenharmony_ci ret = Start(encoderDemo, handle, trackId, data); 2371da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 2372da853ecaSopenharmony_ci 2373da853ecaSopenharmony_ci ret = Stop(encoderDemo, handle); 2374da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 2375da853ecaSopenharmony_ci 2376da853ecaSopenharmony_ci ret = Destroy(encoderDemo, handle); 2377da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 2378da853ecaSopenharmony_ci delete encoderDemo; 2379da853ecaSopenharmony_ci} 2380da853ecaSopenharmony_ci 2381da853ecaSopenharmony_ci/** 2382da853ecaSopenharmony_ci * @tc.number : SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_068 2383da853ecaSopenharmony_ci * @tc.name : Creat -> SetCallback -> Configure -> Prepare -> Start -> Stop -> Reset -> Destory 2384da853ecaSopenharmony_ci * @tc.desc : interface depend check 2385da853ecaSopenharmony_ci */ 2386da853ecaSopenharmony_ciHWTEST_F(NativeInterfaceDependCheckTest, SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_068, TestSize.Level2) 2387da853ecaSopenharmony_ci{ 2388da853ecaSopenharmony_ci OH_AVErrCode ret; 2389da853ecaSopenharmony_ci uint32_t trackId = -1; 2390da853ecaSopenharmony_ci uint8_t *data = nullptr; 2391da853ecaSopenharmony_ci 2392da853ecaSopenharmony_ci AudioEncoderDemo *encoderDemo = new AudioEncoderDemo(); 2393da853ecaSopenharmony_ci OH_AVCodec *handle = Create(encoderDemo); 2394da853ecaSopenharmony_ci ASSERT_NE(nullptr, handle); 2395da853ecaSopenharmony_ci 2396da853ecaSopenharmony_ci ret = SetCallback(encoderDemo, handle); 2397da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 2398da853ecaSopenharmony_ci 2399da853ecaSopenharmony_ci ret = Configure(encoderDemo, handle); 2400da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 2401da853ecaSopenharmony_ci 2402da853ecaSopenharmony_ci ret = Prepare(encoderDemo, handle); 2403da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 2404da853ecaSopenharmony_ci 2405da853ecaSopenharmony_ci ret = Start(encoderDemo, handle, trackId, data); 2406da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 2407da853ecaSopenharmony_ci 2408da853ecaSopenharmony_ci ret = Stop(encoderDemo, handle); 2409da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 2410da853ecaSopenharmony_ci 2411da853ecaSopenharmony_ci ret = Reset(encoderDemo, handle); 2412da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 2413da853ecaSopenharmony_ci 2414da853ecaSopenharmony_ci ret = Destroy(encoderDemo, handle); 2415da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 2416da853ecaSopenharmony_ci delete encoderDemo; 2417da853ecaSopenharmony_ci}