1da853ecaSopenharmony_ci/* 2da853ecaSopenharmony_ci * Copyright (C) 2021 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#include "avcodec_info.h" 20da853ecaSopenharmony_ci#include "avcodec_errors.h" 21da853ecaSopenharmony_ci#include "media_description.h" 22da853ecaSopenharmony_ci#include "av_common.h" 23da853ecaSopenharmony_ci#include "meta/format.h" 24da853ecaSopenharmony_ci#include "avcodec_audio_common.h" 25da853ecaSopenharmony_ci 26da853ecaSopenharmony_ciusing namespace std; 27da853ecaSopenharmony_ciusing namespace testing::ext; 28da853ecaSopenharmony_ciusing namespace OHOS; 29da853ecaSopenharmony_ciusing namespace OHOS::MediaAVCodec; 30da853ecaSopenharmony_ciconstexpr uint32_t SIZE_NUM = 100; 31da853ecaSopenharmony_ciconstexpr uint32_t SAMPLE_RATE_44100 = 44100; 32da853ecaSopenharmony_ciconstexpr uint32_t SAMPLE_RATE_112000 = 112000; 33da853ecaSopenharmony_ci 34da853ecaSopenharmony_cinamespace { 35da853ecaSopenharmony_ciclass InnerInterfaceDependCheckTest : public testing::Test { 36da853ecaSopenharmony_cipublic: 37da853ecaSopenharmony_ci static void SetUpTestCase(); 38da853ecaSopenharmony_ci static void TearDownTestCase(); 39da853ecaSopenharmony_ci void SetUp() override; 40da853ecaSopenharmony_ci void TearDown() override; 41da853ecaSopenharmony_ci}; 42da853ecaSopenharmony_ci 43da853ecaSopenharmony_civoid InnerInterfaceDependCheckTest::SetUpTestCase() {} 44da853ecaSopenharmony_civoid InnerInterfaceDependCheckTest::TearDownTestCase() {} 45da853ecaSopenharmony_civoid InnerInterfaceDependCheckTest::SetUp() {} 46da853ecaSopenharmony_civoid InnerInterfaceDependCheckTest::TearDown() {} 47da853ecaSopenharmony_ci 48da853ecaSopenharmony_ciint32_t Create(AudioEncoderDemo *encoderDemo) 49da853ecaSopenharmony_ci{ 50da853ecaSopenharmony_ci return encoderDemo->InnerCreateByName("OH.Media.Codec.Encoder.Audio.AAC"); 51da853ecaSopenharmony_ci} 52da853ecaSopenharmony_ci 53da853ecaSopenharmony_ciint32_t SetCallback(AudioEncoderDemo *encoderDemo, const std::shared_ptr<AVCodecCallback> &cb_) 54da853ecaSopenharmony_ci{ 55da853ecaSopenharmony_ci return encoderDemo->InnerSetCallback(cb_); 56da853ecaSopenharmony_ci} 57da853ecaSopenharmony_ciint32_t Configure(AudioEncoderDemo *encoderDemo) 58da853ecaSopenharmony_ci{ 59da853ecaSopenharmony_ci Format format; 60da853ecaSopenharmony_ci 61da853ecaSopenharmony_ci format.PutIntValue(MediaDescriptionKey::MD_KEY_CHANNEL_COUNT, 1); 62da853ecaSopenharmony_ci format.PutIntValue(MediaDescriptionKey::MD_KEY_SAMPLE_RATE, SAMPLE_RATE_44100); 63da853ecaSopenharmony_ci format.PutLongValue(MediaDescriptionKey::MD_KEY_BITRATE, SAMPLE_RATE_112000); 64da853ecaSopenharmony_ci format.PutIntValue(MediaDescriptionKey::MD_KEY_BITS_PER_CODED_SAMPLE, AudioSampleFormat::SAMPLE_F32LE); 65da853ecaSopenharmony_ci format.PutIntValue(MediaDescriptionKey::MD_KEY_AUDIO_SAMPLE_FORMAT, AudioSampleFormat::SAMPLE_F32LE); 66da853ecaSopenharmony_ci format.PutLongValue(MediaDescriptionKey::MD_KEY_CHANNEL_LAYOUT, MONO); 67da853ecaSopenharmony_ci return encoderDemo->InnerConfigure(format); 68da853ecaSopenharmony_ci} 69da853ecaSopenharmony_ci 70da853ecaSopenharmony_ciint32_t Prepare(AudioEncoderDemo *encoderDemo) 71da853ecaSopenharmony_ci{ 72da853ecaSopenharmony_ci return encoderDemo->InnerPrepare(); 73da853ecaSopenharmony_ci} 74da853ecaSopenharmony_ci 75da853ecaSopenharmony_ciint32_t Start(AudioEncoderDemo *encoderDemo) 76da853ecaSopenharmony_ci{ 77da853ecaSopenharmony_ci int32_t ret = encoderDemo->InnerStartWithThread(); 78da853ecaSopenharmony_ci sleep(1); 79da853ecaSopenharmony_ci return ret; 80da853ecaSopenharmony_ci} 81da853ecaSopenharmony_ci 82da853ecaSopenharmony_ciint32_t Flush(AudioEncoderDemo *encoderDemo) 83da853ecaSopenharmony_ci{ 84da853ecaSopenharmony_ci return encoderDemo->InnerFlush(); 85da853ecaSopenharmony_ci} 86da853ecaSopenharmony_ci 87da853ecaSopenharmony_ciint32_t Reset(AudioEncoderDemo *encoderDemo) 88da853ecaSopenharmony_ci{ 89da853ecaSopenharmony_ci return encoderDemo->InnerReset(); 90da853ecaSopenharmony_ci} 91da853ecaSopenharmony_ci 92da853ecaSopenharmony_ciint32_t QueueInputBuffer(AudioEncoderDemo *encoderDemo, uint32_t index) 93da853ecaSopenharmony_ci{ 94da853ecaSopenharmony_ci AVCodecBufferInfo info; 95da853ecaSopenharmony_ci AVCodecBufferFlag flag; 96da853ecaSopenharmony_ci info.presentationTimeUs = 0; 97da853ecaSopenharmony_ci info.size = SIZE_NUM; 98da853ecaSopenharmony_ci info.offset = 0; 99da853ecaSopenharmony_ci flag = AVCODEC_BUFFER_FLAG_PARTIAL_FRAME; 100da853ecaSopenharmony_ci return encoderDemo->InnerQueueInputBuffer(index, info, flag); 101da853ecaSopenharmony_ci} 102da853ecaSopenharmony_ci 103da853ecaSopenharmony_ciint32_t Stop(AudioEncoderDemo *encoderDemo) 104da853ecaSopenharmony_ci{ 105da853ecaSopenharmony_ci return encoderDemo->InnerStop(); 106da853ecaSopenharmony_ci} 107da853ecaSopenharmony_ci 108da853ecaSopenharmony_ciint32_t Destroy(AudioEncoderDemo *encoderDemo) 109da853ecaSopenharmony_ci{ 110da853ecaSopenharmony_ci return encoderDemo->InnerDestroy(); 111da853ecaSopenharmony_ci} 112da853ecaSopenharmony_ci} // namespace 113da853ecaSopenharmony_ci 114da853ecaSopenharmony_ci/** 115da853ecaSopenharmony_ci * @tc.number : SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_001 116da853ecaSopenharmony_ci * @tc.name : Create -> SetCallback -> Configure 117da853ecaSopenharmony_ci * @tc.desc : interface depend check 118da853ecaSopenharmony_ci */ 119da853ecaSopenharmony_ciHWTEST_F(InnerInterfaceDependCheckTest, SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_001, TestSize.Level2) 120da853ecaSopenharmony_ci{ 121da853ecaSopenharmony_ci AudioEncoderDemo *encoderDemo = new AudioEncoderDemo(); 122da853ecaSopenharmony_ci int32_t ret = Create(encoderDemo); 123da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 124da853ecaSopenharmony_ci 125da853ecaSopenharmony_ci std::shared_ptr<AEncSignal> signal_ = encoderDemo->getSignal(); 126da853ecaSopenharmony_ci std::shared_ptr<InnerAEnDemoCallback> cb_ = make_unique<InnerAEnDemoCallback>(signal_); 127da853ecaSopenharmony_ci 128da853ecaSopenharmony_ci ret = SetCallback(encoderDemo, cb_); 129da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 130da853ecaSopenharmony_ci 131da853ecaSopenharmony_ci ret = Configure(encoderDemo); 132da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 133da853ecaSopenharmony_ci 134da853ecaSopenharmony_ci Destroy(encoderDemo); 135da853ecaSopenharmony_ci delete encoderDemo; 136da853ecaSopenharmony_ci} 137da853ecaSopenharmony_ci 138da853ecaSopenharmony_ci/** 139da853ecaSopenharmony_ci * @tc.number : SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_002 140da853ecaSopenharmony_ci * @tc.name : Create -> SetCallback -> Configure -> Configure 141da853ecaSopenharmony_ci * @tc.desc : interface depend check 142da853ecaSopenharmony_ci */ 143da853ecaSopenharmony_ciHWTEST_F(InnerInterfaceDependCheckTest, SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_002, TestSize.Level2) 144da853ecaSopenharmony_ci{ 145da853ecaSopenharmony_ci AudioEncoderDemo *encoderDemo = new AudioEncoderDemo(); 146da853ecaSopenharmony_ci int32_t ret = Create(encoderDemo); 147da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 148da853ecaSopenharmony_ci 149da853ecaSopenharmony_ci std::shared_ptr<AEncSignal> signal_ = encoderDemo->getSignal(); 150da853ecaSopenharmony_ci std::shared_ptr<InnerAEnDemoCallback> cb_ = make_unique<InnerAEnDemoCallback>(signal_); 151da853ecaSopenharmony_ci 152da853ecaSopenharmony_ci ret = SetCallback(encoderDemo, cb_); 153da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 154da853ecaSopenharmony_ci 155da853ecaSopenharmony_ci ret = Configure(encoderDemo); 156da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 157da853ecaSopenharmony_ci 158da853ecaSopenharmony_ci ret = Configure(encoderDemo); 159da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_INVALID_STATE, ret); 160da853ecaSopenharmony_ci 161da853ecaSopenharmony_ci Destroy(encoderDemo); 162da853ecaSopenharmony_ci delete encoderDemo; 163da853ecaSopenharmony_ci} 164da853ecaSopenharmony_ci 165da853ecaSopenharmony_ci/** 166da853ecaSopenharmony_ci * @tc.number : SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_003 167da853ecaSopenharmony_ci * @tc.name : Create -> SetCallback -> Configure -> Prepare -> Configure 168da853ecaSopenharmony_ci * @tc.desc : interface depend check 169da853ecaSopenharmony_ci */ 170da853ecaSopenharmony_ciHWTEST_F(InnerInterfaceDependCheckTest, SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_003, TestSize.Level2) 171da853ecaSopenharmony_ci{ 172da853ecaSopenharmony_ci AudioEncoderDemo *encoderDemo = new AudioEncoderDemo(); 173da853ecaSopenharmony_ci int32_t ret = Create(encoderDemo); 174da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 175da853ecaSopenharmony_ci 176da853ecaSopenharmony_ci std::shared_ptr<AEncSignal> signal_ = encoderDemo->getSignal(); 177da853ecaSopenharmony_ci std::shared_ptr<InnerAEnDemoCallback> cb_ = make_unique<InnerAEnDemoCallback>(signal_); 178da853ecaSopenharmony_ci 179da853ecaSopenharmony_ci ret = SetCallback(encoderDemo, cb_); 180da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 181da853ecaSopenharmony_ci 182da853ecaSopenharmony_ci ret = Configure(encoderDemo); 183da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 184da853ecaSopenharmony_ci 185da853ecaSopenharmony_ci ret = Prepare(encoderDemo); 186da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 187da853ecaSopenharmony_ci 188da853ecaSopenharmony_ci ret = Configure(encoderDemo); 189da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_INVALID_STATE, ret); 190da853ecaSopenharmony_ci 191da853ecaSopenharmony_ci Destroy(encoderDemo); 192da853ecaSopenharmony_ci delete encoderDemo; 193da853ecaSopenharmony_ci} 194da853ecaSopenharmony_ci 195da853ecaSopenharmony_ci/** 196da853ecaSopenharmony_ci * @tc.number : SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_004 197da853ecaSopenharmony_ci * @tc.name : Create -> SetCallback -> Configure -> Prepare -> Start -> Configure 198da853ecaSopenharmony_ci * @tc.desc : interface depend check 199da853ecaSopenharmony_ci */ 200da853ecaSopenharmony_ciHWTEST_F(InnerInterfaceDependCheckTest, SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_004, TestSize.Level2) 201da853ecaSopenharmony_ci{ 202da853ecaSopenharmony_ci AudioEncoderDemo *encoderDemo = new AudioEncoderDemo(); 203da853ecaSopenharmony_ci int32_t ret = Create(encoderDemo); 204da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 205da853ecaSopenharmony_ci 206da853ecaSopenharmony_ci std::shared_ptr<AEncSignal> signal_ = encoderDemo->getSignal(); 207da853ecaSopenharmony_ci std::shared_ptr<InnerAEnDemoCallback> cb_ = make_unique<InnerAEnDemoCallback>(signal_); 208da853ecaSopenharmony_ci 209da853ecaSopenharmony_ci ret = SetCallback(encoderDemo, cb_); 210da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 211da853ecaSopenharmony_ci 212da853ecaSopenharmony_ci ret = Configure(encoderDemo); 213da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 214da853ecaSopenharmony_ci 215da853ecaSopenharmony_ci ret = Prepare(encoderDemo); 216da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 217da853ecaSopenharmony_ci 218da853ecaSopenharmony_ci ret = Start(encoderDemo); 219da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 220da853ecaSopenharmony_ci 221da853ecaSopenharmony_ci ret = Configure(encoderDemo); 222da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_INVALID_STATE, ret); 223da853ecaSopenharmony_ci 224da853ecaSopenharmony_ci Destroy(encoderDemo); 225da853ecaSopenharmony_ci delete encoderDemo; 226da853ecaSopenharmony_ci} 227da853ecaSopenharmony_ci 228da853ecaSopenharmony_ci/** 229da853ecaSopenharmony_ci * @tc.number : SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_005 230da853ecaSopenharmony_ci * @tc.name : Create -> SetCallback -> Configure -> Prepare -> Start -> QueueInputBuffer -> Configure 231da853ecaSopenharmony_ci * @tc.desc : interface depend check 232da853ecaSopenharmony_ci */ 233da853ecaSopenharmony_ciHWTEST_F(InnerInterfaceDependCheckTest, SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_005, TestSize.Level2) 234da853ecaSopenharmony_ci{ 235da853ecaSopenharmony_ci AudioEncoderDemo *encoderDemo = new AudioEncoderDemo(); 236da853ecaSopenharmony_ci int32_t ret = Create(encoderDemo); 237da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 238da853ecaSopenharmony_ci 239da853ecaSopenharmony_ci std::shared_ptr<AEncSignal> signal_ = encoderDemo->getSignal(); 240da853ecaSopenharmony_ci std::shared_ptr<InnerAEnDemoCallback> cb_ = make_unique<InnerAEnDemoCallback>(signal_); 241da853ecaSopenharmony_ci 242da853ecaSopenharmony_ci ret = SetCallback(encoderDemo, cb_); 243da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 244da853ecaSopenharmony_ci 245da853ecaSopenharmony_ci ret = Configure(encoderDemo); 246da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 247da853ecaSopenharmony_ci 248da853ecaSopenharmony_ci ret = Prepare(encoderDemo); 249da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 250da853ecaSopenharmony_ci 251da853ecaSopenharmony_ci ret = Start(encoderDemo); 252da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 253da853ecaSopenharmony_ci 254da853ecaSopenharmony_ci uint32_t index = encoderDemo->InnerGetInputIndex(); 255da853ecaSopenharmony_ci 256da853ecaSopenharmony_ci ret = QueueInputBuffer(encoderDemo, index); 257da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 258da853ecaSopenharmony_ci 259da853ecaSopenharmony_ci ret = Configure(encoderDemo); 260da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_INVALID_STATE, ret); 261da853ecaSopenharmony_ci 262da853ecaSopenharmony_ci Destroy(encoderDemo); 263da853ecaSopenharmony_ci delete encoderDemo; 264da853ecaSopenharmony_ci} 265da853ecaSopenharmony_ci 266da853ecaSopenharmony_ci/** 267da853ecaSopenharmony_ci * @tc.number : SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_006 268da853ecaSopenharmony_ci * @tc.name : Create -> SetCallback -> Configure -> Prepare -> Start -> Flush -> Configure 269da853ecaSopenharmony_ci * @tc.desc : interface depend check 270da853ecaSopenharmony_ci */ 271da853ecaSopenharmony_ciHWTEST_F(InnerInterfaceDependCheckTest, SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_006, TestSize.Level2) 272da853ecaSopenharmony_ci{ 273da853ecaSopenharmony_ci AudioEncoderDemo *encoderDemo = new AudioEncoderDemo(); 274da853ecaSopenharmony_ci int32_t ret = Create(encoderDemo); 275da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 276da853ecaSopenharmony_ci 277da853ecaSopenharmony_ci std::shared_ptr<AEncSignal> signal_ = encoderDemo->getSignal(); 278da853ecaSopenharmony_ci std::shared_ptr<InnerAEnDemoCallback> cb_ = make_unique<InnerAEnDemoCallback>(signal_); 279da853ecaSopenharmony_ci 280da853ecaSopenharmony_ci ret = SetCallback(encoderDemo, cb_); 281da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 282da853ecaSopenharmony_ci 283da853ecaSopenharmony_ci ret = Configure(encoderDemo); 284da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 285da853ecaSopenharmony_ci 286da853ecaSopenharmony_ci ret = Prepare(encoderDemo); 287da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 288da853ecaSopenharmony_ci 289da853ecaSopenharmony_ci ret = Start(encoderDemo); 290da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 291da853ecaSopenharmony_ci 292da853ecaSopenharmony_ci ret = Flush(encoderDemo); 293da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 294da853ecaSopenharmony_ci 295da853ecaSopenharmony_ci ret = Configure(encoderDemo); 296da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_INVALID_STATE, ret); 297da853ecaSopenharmony_ci 298da853ecaSopenharmony_ci Destroy(encoderDemo); 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 -> Stop -> Configure 305da853ecaSopenharmony_ci * @tc.desc : interface depend check 306da853ecaSopenharmony_ci */ 307da853ecaSopenharmony_ciHWTEST_F(InnerInterfaceDependCheckTest, SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_007, TestSize.Level2) 308da853ecaSopenharmony_ci{ 309da853ecaSopenharmony_ci AudioEncoderDemo *encoderDemo = new AudioEncoderDemo(); 310da853ecaSopenharmony_ci int32_t ret = Create(encoderDemo); 311da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 312da853ecaSopenharmony_ci 313da853ecaSopenharmony_ci std::shared_ptr<AEncSignal> signal_ = encoderDemo->getSignal(); 314da853ecaSopenharmony_ci std::shared_ptr<InnerAEnDemoCallback> cb_ = make_unique<InnerAEnDemoCallback>(signal_); 315da853ecaSopenharmony_ci 316da853ecaSopenharmony_ci ret = SetCallback(encoderDemo, cb_); 317da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 318da853ecaSopenharmony_ci 319da853ecaSopenharmony_ci ret = Configure(encoderDemo); 320da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 321da853ecaSopenharmony_ci 322da853ecaSopenharmony_ci ret = Prepare(encoderDemo); 323da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 324da853ecaSopenharmony_ci 325da853ecaSopenharmony_ci ret = Start(encoderDemo); 326da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 327da853ecaSopenharmony_ci 328da853ecaSopenharmony_ci ret = Stop(encoderDemo); 329da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 330da853ecaSopenharmony_ci 331da853ecaSopenharmony_ci ret = Configure(encoderDemo); 332da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_INVALID_STATE, ret); 333da853ecaSopenharmony_ci 334da853ecaSopenharmony_ci Destroy(encoderDemo); 335da853ecaSopenharmony_ci delete encoderDemo; 336da853ecaSopenharmony_ci} 337da853ecaSopenharmony_ci 338da853ecaSopenharmony_ci/** 339da853ecaSopenharmony_ci * @tc.number : SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_008 340da853ecaSopenharmony_ci * @tc.name : Create -> SetCallback -> Configure -> Prepare -> Start -> Reset -> Configure 341da853ecaSopenharmony_ci * @tc.desc : interface depend check 342da853ecaSopenharmony_ci */ 343da853ecaSopenharmony_ciHWTEST_F(InnerInterfaceDependCheckTest, SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_008, TestSize.Level2) 344da853ecaSopenharmony_ci{ 345da853ecaSopenharmony_ci AudioEncoderDemo *encoderDemo = new AudioEncoderDemo(); 346da853ecaSopenharmony_ci int32_t ret = Create(encoderDemo); 347da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 348da853ecaSopenharmony_ci 349da853ecaSopenharmony_ci std::shared_ptr<AEncSignal> signal_ = encoderDemo->getSignal(); 350da853ecaSopenharmony_ci std::shared_ptr<InnerAEnDemoCallback> cb_ = make_unique<InnerAEnDemoCallback>(signal_); 351da853ecaSopenharmony_ci 352da853ecaSopenharmony_ci ret = SetCallback(encoderDemo, cb_); 353da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 354da853ecaSopenharmony_ci 355da853ecaSopenharmony_ci ret = Configure(encoderDemo); 356da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 357da853ecaSopenharmony_ci 358da853ecaSopenharmony_ci ret = Prepare(encoderDemo); 359da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 360da853ecaSopenharmony_ci 361da853ecaSopenharmony_ci ret = Start(encoderDemo); 362da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 363da853ecaSopenharmony_ci 364da853ecaSopenharmony_ci ret = Stop(encoderDemo); 365da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 366da853ecaSopenharmony_ci 367da853ecaSopenharmony_ci ret = Reset(encoderDemo); 368da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 369da853ecaSopenharmony_ci 370da853ecaSopenharmony_ci ret = Configure(encoderDemo); 371da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 372da853ecaSopenharmony_ci 373da853ecaSopenharmony_ci Destroy(encoderDemo); 374da853ecaSopenharmony_ci delete encoderDemo; 375da853ecaSopenharmony_ci} 376da853ecaSopenharmony_ci 377da853ecaSopenharmony_ci/** 378da853ecaSopenharmony_ci * @tc.number : SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_009 379da853ecaSopenharmony_ci * @tc.name : Create -> SetCallback -> Start 380da853ecaSopenharmony_ci * @tc.desc : interface depend check 381da853ecaSopenharmony_ci */ 382da853ecaSopenharmony_ciHWTEST_F(InnerInterfaceDependCheckTest, SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_009, TestSize.Level2) 383da853ecaSopenharmony_ci{ 384da853ecaSopenharmony_ci AudioEncoderDemo *encoderDemo = new AudioEncoderDemo(); 385da853ecaSopenharmony_ci int32_t ret = Create(encoderDemo); 386da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 387da853ecaSopenharmony_ci 388da853ecaSopenharmony_ci std::shared_ptr<AEncSignal> signal_ = encoderDemo->getSignal(); 389da853ecaSopenharmony_ci std::shared_ptr<InnerAEnDemoCallback> cb_ = make_unique<InnerAEnDemoCallback>(signal_); 390da853ecaSopenharmony_ci 391da853ecaSopenharmony_ci ret = SetCallback(encoderDemo, cb_); 392da853ecaSopenharmony_ci 393da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 394da853ecaSopenharmony_ci 395da853ecaSopenharmony_ci ret = Start(encoderDemo); 396da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_INVALID_STATE, ret); 397da853ecaSopenharmony_ci 398da853ecaSopenharmony_ci Destroy(encoderDemo); 399da853ecaSopenharmony_ci delete encoderDemo; 400da853ecaSopenharmony_ci} 401da853ecaSopenharmony_ci 402da853ecaSopenharmony_ci/** 403da853ecaSopenharmony_ci * @tc.number : SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_010 404da853ecaSopenharmony_ci * @tc.name : Create -> SetCallback -> Configure -> Prepare -> Start 405da853ecaSopenharmony_ci * @tc.desc : interface depend check 406da853ecaSopenharmony_ci */ 407da853ecaSopenharmony_ciHWTEST_F(InnerInterfaceDependCheckTest, SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_010, TestSize.Level2) 408da853ecaSopenharmony_ci{ 409da853ecaSopenharmony_ci AudioEncoderDemo *encoderDemo = new AudioEncoderDemo(); 410da853ecaSopenharmony_ci int32_t ret = Create(encoderDemo); 411da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 412da853ecaSopenharmony_ci 413da853ecaSopenharmony_ci std::shared_ptr<AEncSignal> signal_ = encoderDemo->getSignal(); 414da853ecaSopenharmony_ci std::shared_ptr<InnerAEnDemoCallback> cb_ = make_unique<InnerAEnDemoCallback>(signal_); 415da853ecaSopenharmony_ci 416da853ecaSopenharmony_ci ret = SetCallback(encoderDemo, cb_); 417da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 418da853ecaSopenharmony_ci 419da853ecaSopenharmony_ci ret = Configure(encoderDemo); 420da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 421da853ecaSopenharmony_ci 422da853ecaSopenharmony_ci ret = Prepare(encoderDemo); 423da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 424da853ecaSopenharmony_ci 425da853ecaSopenharmony_ci ret = Start(encoderDemo); 426da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 427da853ecaSopenharmony_ci 428da853ecaSopenharmony_ci Destroy(encoderDemo); 429da853ecaSopenharmony_ci delete encoderDemo; 430da853ecaSopenharmony_ci} 431da853ecaSopenharmony_ci 432da853ecaSopenharmony_ci/** 433da853ecaSopenharmony_ci * @tc.number : SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_011 434da853ecaSopenharmony_ci * @tc.name : Create -> SetCallback -> Configure -> Prepare -> Start -> Start 435da853ecaSopenharmony_ci * @tc.desc : interface depend check 436da853ecaSopenharmony_ci */ 437da853ecaSopenharmony_ciHWTEST_F(InnerInterfaceDependCheckTest, SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_011, TestSize.Level2) 438da853ecaSopenharmony_ci{ 439da853ecaSopenharmony_ci AudioEncoderDemo *encoderDemo = new AudioEncoderDemo(); 440da853ecaSopenharmony_ci int32_t ret = Create(encoderDemo); 441da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 442da853ecaSopenharmony_ci 443da853ecaSopenharmony_ci std::shared_ptr<AEncSignal> signal_ = encoderDemo->getSignal(); 444da853ecaSopenharmony_ci std::shared_ptr<InnerAEnDemoCallback> cb_ = make_unique<InnerAEnDemoCallback>(signal_); 445da853ecaSopenharmony_ci 446da853ecaSopenharmony_ci ret = SetCallback(encoderDemo, cb_); 447da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 448da853ecaSopenharmony_ci 449da853ecaSopenharmony_ci ret = Configure(encoderDemo); 450da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 451da853ecaSopenharmony_ci 452da853ecaSopenharmony_ci ret = Prepare(encoderDemo); 453da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 454da853ecaSopenharmony_ci 455da853ecaSopenharmony_ci ret = Start(encoderDemo); 456da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 457da853ecaSopenharmony_ci 458da853ecaSopenharmony_ci ret = Start(encoderDemo); 459da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_INVALID_STATE, ret); 460da853ecaSopenharmony_ci 461da853ecaSopenharmony_ci Destroy(encoderDemo); 462da853ecaSopenharmony_ci delete encoderDemo; 463da853ecaSopenharmony_ci} 464da853ecaSopenharmony_ci 465da853ecaSopenharmony_ci/** 466da853ecaSopenharmony_ci * @tc.number : SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_012 467da853ecaSopenharmony_ci * @tc.name : Create -> SetCallback -> Configure -> Prepare -> Start-> QueueInputBuffer -> Start 468da853ecaSopenharmony_ci * @tc.desc : interface depend check 469da853ecaSopenharmony_ci */ 470da853ecaSopenharmony_ciHWTEST_F(InnerInterfaceDependCheckTest, SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_012, TestSize.Level2) 471da853ecaSopenharmony_ci{ 472da853ecaSopenharmony_ci AudioEncoderDemo *encoderDemo = new AudioEncoderDemo(); 473da853ecaSopenharmony_ci int32_t ret = Create(encoderDemo); 474da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 475da853ecaSopenharmony_ci 476da853ecaSopenharmony_ci std::shared_ptr<AEncSignal> signal_ = encoderDemo->getSignal(); 477da853ecaSopenharmony_ci std::shared_ptr<InnerAEnDemoCallback> cb_ = make_unique<InnerAEnDemoCallback>(signal_); 478da853ecaSopenharmony_ci 479da853ecaSopenharmony_ci ret = SetCallback(encoderDemo, cb_); 480da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 481da853ecaSopenharmony_ci 482da853ecaSopenharmony_ci ret = Configure(encoderDemo); 483da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 484da853ecaSopenharmony_ci 485da853ecaSopenharmony_ci ret = Prepare(encoderDemo); 486da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 487da853ecaSopenharmony_ci 488da853ecaSopenharmony_ci ret = Start(encoderDemo); 489da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 490da853ecaSopenharmony_ci 491da853ecaSopenharmony_ci uint32_t index = 0; 492da853ecaSopenharmony_ci index = encoderDemo->InnerGetInputIndex(); 493da853ecaSopenharmony_ci ret = QueueInputBuffer(encoderDemo, index); 494da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 495da853ecaSopenharmony_ci 496da853ecaSopenharmony_ci ret = Start(encoderDemo); 497da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_INVALID_STATE, ret); 498da853ecaSopenharmony_ci 499da853ecaSopenharmony_ci Destroy(encoderDemo); 500da853ecaSopenharmony_ci delete encoderDemo; 501da853ecaSopenharmony_ci} 502da853ecaSopenharmony_ci 503da853ecaSopenharmony_ci/** 504da853ecaSopenharmony_ci * @tc.number : SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_013 505da853ecaSopenharmony_ci * @tc.name : Create -> SetCallback -> Configure -> Prepare -> Start -> Flush -> Start 506da853ecaSopenharmony_ci * @tc.desc : interface depend check 507da853ecaSopenharmony_ci */ 508da853ecaSopenharmony_ciHWTEST_F(InnerInterfaceDependCheckTest, SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_013, TestSize.Level2) 509da853ecaSopenharmony_ci{ 510da853ecaSopenharmony_ci AudioEncoderDemo *encoderDemo = new AudioEncoderDemo(); 511da853ecaSopenharmony_ci int32_t ret = Create(encoderDemo); 512da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 513da853ecaSopenharmony_ci 514da853ecaSopenharmony_ci std::shared_ptr<AEncSignal> signal_ = encoderDemo->getSignal(); 515da853ecaSopenharmony_ci std::shared_ptr<InnerAEnDemoCallback> cb_ = make_unique<InnerAEnDemoCallback>(signal_); 516da853ecaSopenharmony_ci 517da853ecaSopenharmony_ci ret = SetCallback(encoderDemo, cb_); 518da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 519da853ecaSopenharmony_ci 520da853ecaSopenharmony_ci ret = Configure(encoderDemo); 521da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 522da853ecaSopenharmony_ci 523da853ecaSopenharmony_ci ret = Prepare(encoderDemo); 524da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 525da853ecaSopenharmony_ci 526da853ecaSopenharmony_ci ret = Start(encoderDemo); 527da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 528da853ecaSopenharmony_ci 529da853ecaSopenharmony_ci ret = Flush(encoderDemo); 530da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 531da853ecaSopenharmony_ci 532da853ecaSopenharmony_ci ret = Start(encoderDemo); 533da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 534da853ecaSopenharmony_ci 535da853ecaSopenharmony_ci Destroy(encoderDemo); 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-> Stop -> Start 542da853ecaSopenharmony_ci * @tc.desc : interface depend check 543da853ecaSopenharmony_ci */ 544da853ecaSopenharmony_ciHWTEST_F(InnerInterfaceDependCheckTest, SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_014, TestSize.Level2) 545da853ecaSopenharmony_ci{ 546da853ecaSopenharmony_ci AudioEncoderDemo *encoderDemo = new AudioEncoderDemo(); 547da853ecaSopenharmony_ci int32_t ret = Create(encoderDemo); 548da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 549da853ecaSopenharmony_ci 550da853ecaSopenharmony_ci std::shared_ptr<AEncSignal> signal_ = encoderDemo->getSignal(); 551da853ecaSopenharmony_ci std::shared_ptr<InnerAEnDemoCallback> cb_ = make_unique<InnerAEnDemoCallback>(signal_); 552da853ecaSopenharmony_ci 553da853ecaSopenharmony_ci ret = SetCallback(encoderDemo, cb_); 554da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 555da853ecaSopenharmony_ci 556da853ecaSopenharmony_ci ret = Configure(encoderDemo); 557da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 558da853ecaSopenharmony_ci 559da853ecaSopenharmony_ci ret = Prepare(encoderDemo); 560da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 561da853ecaSopenharmony_ci 562da853ecaSopenharmony_ci ret = Start(encoderDemo); 563da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 564da853ecaSopenharmony_ci 565da853ecaSopenharmony_ci ret = Stop(encoderDemo); 566da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 567da853ecaSopenharmony_ci 568da853ecaSopenharmony_ci ret = Start(encoderDemo); 569da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 570da853ecaSopenharmony_ci 571da853ecaSopenharmony_ci Destroy(encoderDemo); 572da853ecaSopenharmony_ci delete encoderDemo; 573da853ecaSopenharmony_ci} 574da853ecaSopenharmony_ci 575da853ecaSopenharmony_ci/** 576da853ecaSopenharmony_ci * @tc.number : SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_015 577da853ecaSopenharmony_ci * @tc.name : Create -> SetCallback -> Configure -> Prepare -> Start -> Reset -> Start 578da853ecaSopenharmony_ci * @tc.desc : interface depend check 579da853ecaSopenharmony_ci */ 580da853ecaSopenharmony_ciHWTEST_F(InnerInterfaceDependCheckTest, SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_015, TestSize.Level2) 581da853ecaSopenharmony_ci{ 582da853ecaSopenharmony_ci AudioEncoderDemo *encoderDemo = new AudioEncoderDemo(); 583da853ecaSopenharmony_ci int32_t ret = Create(encoderDemo); 584da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 585da853ecaSopenharmony_ci 586da853ecaSopenharmony_ci std::shared_ptr<AEncSignal> signal_ = encoderDemo->getSignal(); 587da853ecaSopenharmony_ci std::shared_ptr<InnerAEnDemoCallback> cb_ = make_unique<InnerAEnDemoCallback>(signal_); 588da853ecaSopenharmony_ci 589da853ecaSopenharmony_ci ret = SetCallback(encoderDemo, cb_); 590da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 591da853ecaSopenharmony_ci 592da853ecaSopenharmony_ci ret = Configure(encoderDemo); 593da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 594da853ecaSopenharmony_ci 595da853ecaSopenharmony_ci ret = Prepare(encoderDemo); 596da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 597da853ecaSopenharmony_ci 598da853ecaSopenharmony_ci ret = Start(encoderDemo); 599da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 600da853ecaSopenharmony_ci 601da853ecaSopenharmony_ci ret = Stop(encoderDemo); 602da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 603da853ecaSopenharmony_ci 604da853ecaSopenharmony_ci ret = Reset(encoderDemo); 605da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 606da853ecaSopenharmony_ci 607da853ecaSopenharmony_ci ret = Start(encoderDemo); 608da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_INVALID_STATE, ret); 609da853ecaSopenharmony_ci 610da853ecaSopenharmony_ci Destroy(encoderDemo); 611da853ecaSopenharmony_ci delete encoderDemo; 612da853ecaSopenharmony_ci} 613da853ecaSopenharmony_ci 614da853ecaSopenharmony_ci/** 615da853ecaSopenharmony_ci * @tc.number : SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_016 616da853ecaSopenharmony_ci * @tc.name : Create -> SetCallback -> Flush 617da853ecaSopenharmony_ci * @tc.desc : interface depend check 618da853ecaSopenharmony_ci */ 619da853ecaSopenharmony_ciHWTEST_F(InnerInterfaceDependCheckTest, SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_016, TestSize.Level2) 620da853ecaSopenharmony_ci{ 621da853ecaSopenharmony_ci AudioEncoderDemo *encoderDemo = new AudioEncoderDemo(); 622da853ecaSopenharmony_ci int32_t ret = Create(encoderDemo); 623da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 624da853ecaSopenharmony_ci 625da853ecaSopenharmony_ci std::shared_ptr<AEncSignal> signal_ = encoderDemo->getSignal(); 626da853ecaSopenharmony_ci std::shared_ptr<InnerAEnDemoCallback> cb_ = make_unique<InnerAEnDemoCallback>(signal_); 627da853ecaSopenharmony_ci 628da853ecaSopenharmony_ci ret = SetCallback(encoderDemo, cb_); 629da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 630da853ecaSopenharmony_ci 631da853ecaSopenharmony_ci ret = Flush(encoderDemo); 632da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_INVALID_STATE, ret); 633da853ecaSopenharmony_ci 634da853ecaSopenharmony_ci Destroy(encoderDemo); 635da853ecaSopenharmony_ci delete encoderDemo; 636da853ecaSopenharmony_ci} 637da853ecaSopenharmony_ci 638da853ecaSopenharmony_ci/** 639da853ecaSopenharmony_ci * @tc.number : SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_017 640da853ecaSopenharmony_ci * @tc.name : Create -> SetCallback -> Configure -> Prepare -> Flush 641da853ecaSopenharmony_ci * @tc.desc : interface depend check 642da853ecaSopenharmony_ci */ 643da853ecaSopenharmony_ciHWTEST_F(InnerInterfaceDependCheckTest, SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_017, TestSize.Level2) 644da853ecaSopenharmony_ci{ 645da853ecaSopenharmony_ci AudioEncoderDemo *encoderDemo = new AudioEncoderDemo(); 646da853ecaSopenharmony_ci int32_t ret = Create(encoderDemo); 647da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 648da853ecaSopenharmony_ci 649da853ecaSopenharmony_ci std::shared_ptr<AEncSignal> signal_ = encoderDemo->getSignal(); 650da853ecaSopenharmony_ci std::shared_ptr<InnerAEnDemoCallback> cb_ = make_unique<InnerAEnDemoCallback>(signal_); 651da853ecaSopenharmony_ci 652da853ecaSopenharmony_ci ret = SetCallback(encoderDemo, cb_); 653da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 654da853ecaSopenharmony_ci 655da853ecaSopenharmony_ci ret = Configure(encoderDemo); 656da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 657da853ecaSopenharmony_ci 658da853ecaSopenharmony_ci ret = Prepare(encoderDemo); 659da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 660da853ecaSopenharmony_ci 661da853ecaSopenharmony_ci ret = Flush(encoderDemo); 662da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_INVALID_STATE, ret); 663da853ecaSopenharmony_ci 664da853ecaSopenharmony_ci Destroy(encoderDemo); 665da853ecaSopenharmony_ci delete encoderDemo; 666da853ecaSopenharmony_ci} 667da853ecaSopenharmony_ci 668da853ecaSopenharmony_ci/** 669da853ecaSopenharmony_ci * @tc.number : SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_018 670da853ecaSopenharmony_ci * @tc.name : Create -> SetCallback -> Configure -> Prepare -> Start -> QueueInputBuffer -> Flush 671da853ecaSopenharmony_ci * @tc.desc : interface depend check 672da853ecaSopenharmony_ci */ 673da853ecaSopenharmony_ciHWTEST_F(InnerInterfaceDependCheckTest, SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_018, TestSize.Level2) 674da853ecaSopenharmony_ci{ 675da853ecaSopenharmony_ci AudioEncoderDemo *encoderDemo = new AudioEncoderDemo(); 676da853ecaSopenharmony_ci int32_t ret = Create(encoderDemo); 677da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 678da853ecaSopenharmony_ci 679da853ecaSopenharmony_ci std::shared_ptr<AEncSignal> signal_ = encoderDemo->getSignal(); 680da853ecaSopenharmony_ci std::shared_ptr<InnerAEnDemoCallback> cb_ = make_unique<InnerAEnDemoCallback>(signal_); 681da853ecaSopenharmony_ci 682da853ecaSopenharmony_ci ret = SetCallback(encoderDemo, cb_); 683da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 684da853ecaSopenharmony_ci 685da853ecaSopenharmony_ci ret = Configure(encoderDemo); 686da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 687da853ecaSopenharmony_ci 688da853ecaSopenharmony_ci ret = Prepare(encoderDemo); 689da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 690da853ecaSopenharmony_ci 691da853ecaSopenharmony_ci ret = Start(encoderDemo); 692da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 693da853ecaSopenharmony_ci 694da853ecaSopenharmony_ci int32_t index = encoderDemo->InnerGetInputIndex(); 695da853ecaSopenharmony_ci 696da853ecaSopenharmony_ci ret = QueueInputBuffer(encoderDemo, index); 697da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 698da853ecaSopenharmony_ci 699da853ecaSopenharmony_ci ret = Flush(encoderDemo); 700da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 701da853ecaSopenharmony_ci 702da853ecaSopenharmony_ci Destroy(encoderDemo); 703da853ecaSopenharmony_ci delete encoderDemo; 704da853ecaSopenharmony_ci} 705da853ecaSopenharmony_ci 706da853ecaSopenharmony_ci/** 707da853ecaSopenharmony_ci * @tc.number : SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_019 708da853ecaSopenharmony_ci * @tc.name : Create -> SetCallback -> Configure -> Prepare -> Start -> Flush -> Flush 709da853ecaSopenharmony_ci * @tc.desc : interface depend check 710da853ecaSopenharmony_ci */ 711da853ecaSopenharmony_ciHWTEST_F(InnerInterfaceDependCheckTest, SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_019, TestSize.Level2) 712da853ecaSopenharmony_ci{ 713da853ecaSopenharmony_ci AudioEncoderDemo *encoderDemo = new AudioEncoderDemo(); 714da853ecaSopenharmony_ci int32_t ret = Create(encoderDemo); 715da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 716da853ecaSopenharmony_ci 717da853ecaSopenharmony_ci std::shared_ptr<AEncSignal> signal_ = encoderDemo->getSignal(); 718da853ecaSopenharmony_ci std::shared_ptr<InnerAEnDemoCallback> cb_ = make_unique<InnerAEnDemoCallback>(signal_); 719da853ecaSopenharmony_ci 720da853ecaSopenharmony_ci ret = SetCallback(encoderDemo, cb_); 721da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 722da853ecaSopenharmony_ci 723da853ecaSopenharmony_ci ret = Configure(encoderDemo); 724da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 725da853ecaSopenharmony_ci 726da853ecaSopenharmony_ci ret = Prepare(encoderDemo); 727da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 728da853ecaSopenharmony_ci 729da853ecaSopenharmony_ci ret = Start(encoderDemo); 730da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 731da853ecaSopenharmony_ci 732da853ecaSopenharmony_ci ret = Flush(encoderDemo); 733da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 734da853ecaSopenharmony_ci 735da853ecaSopenharmony_ci ret = Flush(encoderDemo); 736da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_INVALID_STATE, ret); 737da853ecaSopenharmony_ci 738da853ecaSopenharmony_ci Destroy(encoderDemo); 739da853ecaSopenharmony_ci delete encoderDemo; 740da853ecaSopenharmony_ci} 741da853ecaSopenharmony_ci 742da853ecaSopenharmony_ci/** 743da853ecaSopenharmony_ci * @tc.number : SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_020 744da853ecaSopenharmony_ci * @tc.name : Create -> SetCallback -> Configure -> Prepare -> Start -> Stop -> Flush 745da853ecaSopenharmony_ci * @tc.desc : interface depend check 746da853ecaSopenharmony_ci */ 747da853ecaSopenharmony_ciHWTEST_F(InnerInterfaceDependCheckTest, SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_020, TestSize.Level2) 748da853ecaSopenharmony_ci{ 749da853ecaSopenharmony_ci AudioEncoderDemo *encoderDemo = new AudioEncoderDemo(); 750da853ecaSopenharmony_ci int32_t ret = Create(encoderDemo); 751da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 752da853ecaSopenharmony_ci 753da853ecaSopenharmony_ci std::shared_ptr<AEncSignal> signal_ = encoderDemo->getSignal(); 754da853ecaSopenharmony_ci std::shared_ptr<InnerAEnDemoCallback> cb_ = make_unique<InnerAEnDemoCallback>(signal_); 755da853ecaSopenharmony_ci 756da853ecaSopenharmony_ci ret = SetCallback(encoderDemo, cb_); 757da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 758da853ecaSopenharmony_ci 759da853ecaSopenharmony_ci ret = Configure(encoderDemo); 760da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 761da853ecaSopenharmony_ci 762da853ecaSopenharmony_ci ret = Prepare(encoderDemo); 763da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 764da853ecaSopenharmony_ci 765da853ecaSopenharmony_ci ret = Start(encoderDemo); 766da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 767da853ecaSopenharmony_ci 768da853ecaSopenharmony_ci ret = Stop(encoderDemo); 769da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 770da853ecaSopenharmony_ci 771da853ecaSopenharmony_ci ret = Flush(encoderDemo); 772da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_INVALID_STATE, ret); 773da853ecaSopenharmony_ci 774da853ecaSopenharmony_ci Destroy(encoderDemo); 775da853ecaSopenharmony_ci delete encoderDemo; 776da853ecaSopenharmony_ci} 777da853ecaSopenharmony_ci 778da853ecaSopenharmony_ci/** 779da853ecaSopenharmony_ci * @tc.number : SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_021 780da853ecaSopenharmony_ci * @tc.name : Create -> SetCallback -> Configure -> Prepare -> Start -> Reset -> Flush 781da853ecaSopenharmony_ci * @tc.desc : interface depend check 782da853ecaSopenharmony_ci */ 783da853ecaSopenharmony_ciHWTEST_F(InnerInterfaceDependCheckTest, SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_021, TestSize.Level2) 784da853ecaSopenharmony_ci{ 785da853ecaSopenharmony_ci AudioEncoderDemo *encoderDemo = new AudioEncoderDemo(); 786da853ecaSopenharmony_ci int32_t ret = Create(encoderDemo); 787da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 788da853ecaSopenharmony_ci 789da853ecaSopenharmony_ci std::shared_ptr<AEncSignal> signal_ = encoderDemo->getSignal(); 790da853ecaSopenharmony_ci std::shared_ptr<InnerAEnDemoCallback> cb_ = make_unique<InnerAEnDemoCallback>(signal_); 791da853ecaSopenharmony_ci 792da853ecaSopenharmony_ci ret = SetCallback(encoderDemo, cb_); 793da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 794da853ecaSopenharmony_ci 795da853ecaSopenharmony_ci ret = Configure(encoderDemo); 796da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 797da853ecaSopenharmony_ci 798da853ecaSopenharmony_ci ret = Prepare(encoderDemo); 799da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 800da853ecaSopenharmony_ci 801da853ecaSopenharmony_ci ret = Start(encoderDemo); 802da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 803da853ecaSopenharmony_ci 804da853ecaSopenharmony_ci ret = Stop(encoderDemo); 805da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 806da853ecaSopenharmony_ci 807da853ecaSopenharmony_ci ret = Reset(encoderDemo); 808da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 809da853ecaSopenharmony_ci 810da853ecaSopenharmony_ci ret = Flush(encoderDemo); 811da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_INVALID_STATE, ret); 812da853ecaSopenharmony_ci 813da853ecaSopenharmony_ci Destroy(encoderDemo); 814da853ecaSopenharmony_ci delete encoderDemo; 815da853ecaSopenharmony_ci} 816da853ecaSopenharmony_ci 817da853ecaSopenharmony_ci/** 818da853ecaSopenharmony_ci * @tc.number : SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_022 819da853ecaSopenharmony_ci * @tc.name : Create -> SetCallback -> stop 820da853ecaSopenharmony_ci * @tc.desc : interface depend check 821da853ecaSopenharmony_ci */ 822da853ecaSopenharmony_ciHWTEST_F(InnerInterfaceDependCheckTest, SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_022, TestSize.Level2) 823da853ecaSopenharmony_ci{ 824da853ecaSopenharmony_ci AudioEncoderDemo *encoderDemo = new AudioEncoderDemo(); 825da853ecaSopenharmony_ci int32_t ret = Create(encoderDemo); 826da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 827da853ecaSopenharmony_ci 828da853ecaSopenharmony_ci std::shared_ptr<AEncSignal> signal_ = encoderDemo->getSignal(); 829da853ecaSopenharmony_ci std::shared_ptr<InnerAEnDemoCallback> cb_ = make_unique<InnerAEnDemoCallback>(signal_); 830da853ecaSopenharmony_ci 831da853ecaSopenharmony_ci ret = SetCallback(encoderDemo, cb_); 832da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 833da853ecaSopenharmony_ci 834da853ecaSopenharmony_ci ret = Stop(encoderDemo); 835da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_INVALID_STATE, ret); 836da853ecaSopenharmony_ci 837da853ecaSopenharmony_ci Destroy(encoderDemo); 838da853ecaSopenharmony_ci delete encoderDemo; 839da853ecaSopenharmony_ci} 840da853ecaSopenharmony_ci 841da853ecaSopenharmony_ci/** 842da853ecaSopenharmony_ci * @tc.number : SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_023 843da853ecaSopenharmony_ci * @tc.name : Create -> SetCallback -> Configure -> Prepare -> Stop 844da853ecaSopenharmony_ci * @tc.desc : interface depend check 845da853ecaSopenharmony_ci */ 846da853ecaSopenharmony_ciHWTEST_F(InnerInterfaceDependCheckTest, SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_023, TestSize.Level2) 847da853ecaSopenharmony_ci{ 848da853ecaSopenharmony_ci AudioEncoderDemo *encoderDemo = new AudioEncoderDemo(); 849da853ecaSopenharmony_ci int32_t ret = Create(encoderDemo); 850da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 851da853ecaSopenharmony_ci 852da853ecaSopenharmony_ci std::shared_ptr<AEncSignal> signal_ = encoderDemo->getSignal(); 853da853ecaSopenharmony_ci std::shared_ptr<InnerAEnDemoCallback> cb_ = make_unique<InnerAEnDemoCallback>(signal_); 854da853ecaSopenharmony_ci 855da853ecaSopenharmony_ci ret = SetCallback(encoderDemo, cb_); 856da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 857da853ecaSopenharmony_ci 858da853ecaSopenharmony_ci ret = Configure(encoderDemo); 859da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 860da853ecaSopenharmony_ci 861da853ecaSopenharmony_ci ret = Prepare(encoderDemo); 862da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 863da853ecaSopenharmony_ci 864da853ecaSopenharmony_ci ret = Stop(encoderDemo); 865da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_INVALID_STATE, ret); 866da853ecaSopenharmony_ci 867da853ecaSopenharmony_ci Destroy(encoderDemo); 868da853ecaSopenharmony_ci delete encoderDemo; 869da853ecaSopenharmony_ci} 870da853ecaSopenharmony_ci 871da853ecaSopenharmony_ci/** 872da853ecaSopenharmony_ci * @tc.number : SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_024 873da853ecaSopenharmony_ci * @tc.name : Create -> SetCallback -> Configure -> Prepare -> Start -> QueueInputBuffer -> Stop 874da853ecaSopenharmony_ci * @tc.desc : interface depend check 875da853ecaSopenharmony_ci */ 876da853ecaSopenharmony_ciHWTEST_F(InnerInterfaceDependCheckTest, SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_024, TestSize.Level2) 877da853ecaSopenharmony_ci{ 878da853ecaSopenharmony_ci AudioEncoderDemo *encoderDemo = new AudioEncoderDemo(); 879da853ecaSopenharmony_ci int32_t ret = Create(encoderDemo); 880da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 881da853ecaSopenharmony_ci 882da853ecaSopenharmony_ci std::shared_ptr<AEncSignal> signal_ = encoderDemo->getSignal(); 883da853ecaSopenharmony_ci std::shared_ptr<InnerAEnDemoCallback> cb_ = make_unique<InnerAEnDemoCallback>(signal_); 884da853ecaSopenharmony_ci 885da853ecaSopenharmony_ci ret = SetCallback(encoderDemo, cb_); 886da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 887da853ecaSopenharmony_ci 888da853ecaSopenharmony_ci ret = Configure(encoderDemo); 889da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 890da853ecaSopenharmony_ci 891da853ecaSopenharmony_ci ret = Prepare(encoderDemo); 892da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 893da853ecaSopenharmony_ci 894da853ecaSopenharmony_ci ret = Start(encoderDemo); 895da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 896da853ecaSopenharmony_ci 897da853ecaSopenharmony_ci uint32_t index = encoderDemo->InnerGetInputIndex(); 898da853ecaSopenharmony_ci 899da853ecaSopenharmony_ci ret = QueueInputBuffer(encoderDemo, index); 900da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 901da853ecaSopenharmony_ci 902da853ecaSopenharmony_ci ret = Stop(encoderDemo); 903da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 904da853ecaSopenharmony_ci 905da853ecaSopenharmony_ci Destroy(encoderDemo); 906da853ecaSopenharmony_ci delete encoderDemo; 907da853ecaSopenharmony_ci} 908da853ecaSopenharmony_ci 909da853ecaSopenharmony_ci/** 910da853ecaSopenharmony_ci * @tc.number : SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_025 911da853ecaSopenharmony_ci * @tc.name : Create -> SetCallback -> Configure -> Prepare -> Start -> Flush -> Stop 912da853ecaSopenharmony_ci * @tc.desc : interface depend check 913da853ecaSopenharmony_ci */ 914da853ecaSopenharmony_ciHWTEST_F(InnerInterfaceDependCheckTest, SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_025, TestSize.Level2) 915da853ecaSopenharmony_ci{ 916da853ecaSopenharmony_ci AudioEncoderDemo *encoderDemo = new AudioEncoderDemo(); 917da853ecaSopenharmony_ci int32_t ret = Create(encoderDemo); 918da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 919da853ecaSopenharmony_ci 920da853ecaSopenharmony_ci std::shared_ptr<AEncSignal> signal_ = encoderDemo->getSignal(); 921da853ecaSopenharmony_ci std::shared_ptr<InnerAEnDemoCallback> cb_ = make_unique<InnerAEnDemoCallback>(signal_); 922da853ecaSopenharmony_ci 923da853ecaSopenharmony_ci ret = SetCallback(encoderDemo, cb_); 924da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 925da853ecaSopenharmony_ci 926da853ecaSopenharmony_ci ret = Configure(encoderDemo); 927da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 928da853ecaSopenharmony_ci 929da853ecaSopenharmony_ci ret = Prepare(encoderDemo); 930da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 931da853ecaSopenharmony_ci 932da853ecaSopenharmony_ci ret = Start(encoderDemo); 933da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 934da853ecaSopenharmony_ci 935da853ecaSopenharmony_ci ret = Flush(encoderDemo); 936da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 937da853ecaSopenharmony_ci 938da853ecaSopenharmony_ci ret = Stop(encoderDemo); 939da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 940da853ecaSopenharmony_ci 941da853ecaSopenharmony_ci Destroy(encoderDemo); 942da853ecaSopenharmony_ci delete encoderDemo; 943da853ecaSopenharmony_ci} 944da853ecaSopenharmony_ci 945da853ecaSopenharmony_ci/** 946da853ecaSopenharmony_ci * @tc.number : SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_026 947da853ecaSopenharmony_ci * @tc.name : Create -> SetCallback -> Configure -> Prepare -> Start -> Stop -> Stop 948da853ecaSopenharmony_ci * @tc.desc : interface depend check 949da853ecaSopenharmony_ci */ 950da853ecaSopenharmony_ciHWTEST_F(InnerInterfaceDependCheckTest, SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_026, TestSize.Level2) 951da853ecaSopenharmony_ci{ 952da853ecaSopenharmony_ci AudioEncoderDemo *encoderDemo = new AudioEncoderDemo(); 953da853ecaSopenharmony_ci int32_t ret = Create(encoderDemo); 954da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 955da853ecaSopenharmony_ci 956da853ecaSopenharmony_ci std::shared_ptr<AEncSignal> signal_ = encoderDemo->getSignal(); 957da853ecaSopenharmony_ci std::shared_ptr<InnerAEnDemoCallback> cb_ = make_unique<InnerAEnDemoCallback>(signal_); 958da853ecaSopenharmony_ci 959da853ecaSopenharmony_ci ret = SetCallback(encoderDemo, cb_); 960da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 961da853ecaSopenharmony_ci 962da853ecaSopenharmony_ci ret = Configure(encoderDemo); 963da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 964da853ecaSopenharmony_ci 965da853ecaSopenharmony_ci ret = Prepare(encoderDemo); 966da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 967da853ecaSopenharmony_ci 968da853ecaSopenharmony_ci ret = Start(encoderDemo); 969da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 970da853ecaSopenharmony_ci 971da853ecaSopenharmony_ci ret = Stop(encoderDemo); 972da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 973da853ecaSopenharmony_ci 974da853ecaSopenharmony_ci ret = Stop(encoderDemo); 975da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_INVALID_STATE, ret); 976da853ecaSopenharmony_ci 977da853ecaSopenharmony_ci Destroy(encoderDemo); 978da853ecaSopenharmony_ci delete encoderDemo; 979da853ecaSopenharmony_ci} 980da853ecaSopenharmony_ci 981da853ecaSopenharmony_ci/** 982da853ecaSopenharmony_ci * @tc.number : SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_027 983da853ecaSopenharmony_ci * @tc.name : Create -> SetCallback -> Configure -> Prepare -> Start -> Stop -> Reset -> Stop 984da853ecaSopenharmony_ci * @tc.desc : interface depend check 985da853ecaSopenharmony_ci */ 986da853ecaSopenharmony_ciHWTEST_F(InnerInterfaceDependCheckTest, SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_027, TestSize.Level2) 987da853ecaSopenharmony_ci{ 988da853ecaSopenharmony_ci AudioEncoderDemo *encoderDemo = new AudioEncoderDemo(); 989da853ecaSopenharmony_ci int32_t ret = Create(encoderDemo); 990da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 991da853ecaSopenharmony_ci 992da853ecaSopenharmony_ci std::shared_ptr<AEncSignal> signal_ = encoderDemo->getSignal(); 993da853ecaSopenharmony_ci std::shared_ptr<InnerAEnDemoCallback> cb_ = make_unique<InnerAEnDemoCallback>(signal_); 994da853ecaSopenharmony_ci 995da853ecaSopenharmony_ci ret = SetCallback(encoderDemo, cb_); 996da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 997da853ecaSopenharmony_ci 998da853ecaSopenharmony_ci ret = Configure(encoderDemo); 999da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 1000da853ecaSopenharmony_ci 1001da853ecaSopenharmony_ci ret = Prepare(encoderDemo); 1002da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 1003da853ecaSopenharmony_ci 1004da853ecaSopenharmony_ci ret = Start(encoderDemo); 1005da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 1006da853ecaSopenharmony_ci 1007da853ecaSopenharmony_ci ret = Stop(encoderDemo); 1008da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 1009da853ecaSopenharmony_ci 1010da853ecaSopenharmony_ci ret = Reset(encoderDemo); 1011da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 1012da853ecaSopenharmony_ci 1013da853ecaSopenharmony_ci ret = Stop(encoderDemo); 1014da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_INVALID_STATE, ret); 1015da853ecaSopenharmony_ci 1016da853ecaSopenharmony_ci Destroy(encoderDemo); 1017da853ecaSopenharmony_ci delete encoderDemo; 1018da853ecaSopenharmony_ci} 1019da853ecaSopenharmony_ci 1020da853ecaSopenharmony_ci/** 1021da853ecaSopenharmony_ci * @tc.number : SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_028 1022da853ecaSopenharmony_ci * @tc.name : Create -> SetCallback -> Reset 1023da853ecaSopenharmony_ci * @tc.desc : interface depend check 1024da853ecaSopenharmony_ci */ 1025da853ecaSopenharmony_ciHWTEST_F(InnerInterfaceDependCheckTest, SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_028, TestSize.Level2) 1026da853ecaSopenharmony_ci{ 1027da853ecaSopenharmony_ci AudioEncoderDemo *encoderDemo = new AudioEncoderDemo(); 1028da853ecaSopenharmony_ci int32_t ret = Create(encoderDemo); 1029da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 1030da853ecaSopenharmony_ci 1031da853ecaSopenharmony_ci std::shared_ptr<AEncSignal> signal_ = encoderDemo->getSignal(); 1032da853ecaSopenharmony_ci std::shared_ptr<InnerAEnDemoCallback> cb_ = make_unique<InnerAEnDemoCallback>(signal_); 1033da853ecaSopenharmony_ci 1034da853ecaSopenharmony_ci ret = SetCallback(encoderDemo, cb_); 1035da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 1036da853ecaSopenharmony_ci 1037da853ecaSopenharmony_ci ret = Reset(encoderDemo); 1038da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 1039da853ecaSopenharmony_ci 1040da853ecaSopenharmony_ci Destroy(encoderDemo); 1041da853ecaSopenharmony_ci delete encoderDemo; 1042da853ecaSopenharmony_ci} 1043da853ecaSopenharmony_ci 1044da853ecaSopenharmony_ci/** 1045da853ecaSopenharmony_ci * @tc.number : SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_029 1046da853ecaSopenharmony_ci * @tc.name : Create -> SetCallback -> Configure -> Prepare -> Reset 1047da853ecaSopenharmony_ci * @tc.desc : interface depend check 1048da853ecaSopenharmony_ci */ 1049da853ecaSopenharmony_ciHWTEST_F(InnerInterfaceDependCheckTest, SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_029, TestSize.Level2) 1050da853ecaSopenharmony_ci{ 1051da853ecaSopenharmony_ci AudioEncoderDemo *encoderDemo = new AudioEncoderDemo(); 1052da853ecaSopenharmony_ci int32_t ret = Create(encoderDemo); 1053da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 1054da853ecaSopenharmony_ci 1055da853ecaSopenharmony_ci std::shared_ptr<AEncSignal> signal_ = encoderDemo->getSignal(); 1056da853ecaSopenharmony_ci std::shared_ptr<InnerAEnDemoCallback> cb_ = make_unique<InnerAEnDemoCallback>(signal_); 1057da853ecaSopenharmony_ci 1058da853ecaSopenharmony_ci ret = SetCallback(encoderDemo, cb_); 1059da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 1060da853ecaSopenharmony_ci 1061da853ecaSopenharmony_ci ret = Configure(encoderDemo); 1062da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 1063da853ecaSopenharmony_ci 1064da853ecaSopenharmony_ci ret = Prepare(encoderDemo); 1065da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 1066da853ecaSopenharmony_ci 1067da853ecaSopenharmony_ci ret = Reset(encoderDemo); 1068da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 1069da853ecaSopenharmony_ci 1070da853ecaSopenharmony_ci Destroy(encoderDemo); 1071da853ecaSopenharmony_ci delete encoderDemo; 1072da853ecaSopenharmony_ci} 1073da853ecaSopenharmony_ci 1074da853ecaSopenharmony_ci/** 1075da853ecaSopenharmony_ci * @tc.number : SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_030 1076da853ecaSopenharmony_ci * @tc.name : Create -> SetCallback -> Configure -> Prepare -> Start -> Reset 1077da853ecaSopenharmony_ci * @tc.desc : interface depend check 1078da853ecaSopenharmony_ci */ 1079da853ecaSopenharmony_ciHWTEST_F(InnerInterfaceDependCheckTest, SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_030, TestSize.Level2) 1080da853ecaSopenharmony_ci{ 1081da853ecaSopenharmony_ci AudioEncoderDemo *encoderDemo = new AudioEncoderDemo(); 1082da853ecaSopenharmony_ci int32_t ret = Create(encoderDemo); 1083da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 1084da853ecaSopenharmony_ci 1085da853ecaSopenharmony_ci std::shared_ptr<AEncSignal> signal_ = encoderDemo->getSignal(); 1086da853ecaSopenharmony_ci std::shared_ptr<InnerAEnDemoCallback> cb_ = make_unique<InnerAEnDemoCallback>(signal_); 1087da853ecaSopenharmony_ci 1088da853ecaSopenharmony_ci ret = SetCallback(encoderDemo, cb_); 1089da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 1090da853ecaSopenharmony_ci 1091da853ecaSopenharmony_ci ret = Configure(encoderDemo); 1092da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 1093da853ecaSopenharmony_ci 1094da853ecaSopenharmony_ci ret = Prepare(encoderDemo); 1095da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 1096da853ecaSopenharmony_ci 1097da853ecaSopenharmony_ci ret = Start(encoderDemo); 1098da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 1099da853ecaSopenharmony_ci 1100da853ecaSopenharmony_ci ret = Reset(encoderDemo); 1101da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 1102da853ecaSopenharmony_ci 1103da853ecaSopenharmony_ci Destroy(encoderDemo); 1104da853ecaSopenharmony_ci delete encoderDemo; 1105da853ecaSopenharmony_ci} 1106da853ecaSopenharmony_ci 1107da853ecaSopenharmony_ci/** 1108da853ecaSopenharmony_ci * @tc.number : SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_031 1109da853ecaSopenharmony_ci * @tc.name : Create -> SetCallback -> Configure -> Prepare -> Start -> Stop -> Reset 1110da853ecaSopenharmony_ci * @tc.desc : interface depend check 1111da853ecaSopenharmony_ci */ 1112da853ecaSopenharmony_ciHWTEST_F(InnerInterfaceDependCheckTest, SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_031, TestSize.Level2) 1113da853ecaSopenharmony_ci{ 1114da853ecaSopenharmony_ci AudioEncoderDemo *encoderDemo = new AudioEncoderDemo(); 1115da853ecaSopenharmony_ci int32_t ret = Create(encoderDemo); 1116da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 1117da853ecaSopenharmony_ci 1118da853ecaSopenharmony_ci std::shared_ptr<AEncSignal> signal_ = encoderDemo->getSignal(); 1119da853ecaSopenharmony_ci std::shared_ptr<InnerAEnDemoCallback> cb_ = make_unique<InnerAEnDemoCallback>(signal_); 1120da853ecaSopenharmony_ci 1121da853ecaSopenharmony_ci ret = SetCallback(encoderDemo, cb_); 1122da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 1123da853ecaSopenharmony_ci 1124da853ecaSopenharmony_ci ret = Configure(encoderDemo); 1125da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 1126da853ecaSopenharmony_ci 1127da853ecaSopenharmony_ci ret = Prepare(encoderDemo); 1128da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 1129da853ecaSopenharmony_ci 1130da853ecaSopenharmony_ci ret = Start(encoderDemo); 1131da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 1132da853ecaSopenharmony_ci 1133da853ecaSopenharmony_ci ret = Stop(encoderDemo); 1134da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 1135da853ecaSopenharmony_ci 1136da853ecaSopenharmony_ci ret = Reset(encoderDemo); 1137da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 1138da853ecaSopenharmony_ci 1139da853ecaSopenharmony_ci Destroy(encoderDemo); 1140da853ecaSopenharmony_ci delete encoderDemo; 1141da853ecaSopenharmony_ci} 1142da853ecaSopenharmony_ci 1143da853ecaSopenharmony_ci/** 1144da853ecaSopenharmony_ci * @tc.number : SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_032 1145da853ecaSopenharmony_ci * @tc.name : Create -> SetCallback -> Configure -> Prepare -> Start -> QueueInputBuffer -> Reset 1146da853ecaSopenharmony_ci * @tc.desc : interface depend check 1147da853ecaSopenharmony_ci */ 1148da853ecaSopenharmony_ciHWTEST_F(InnerInterfaceDependCheckTest, SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_032, TestSize.Level2) 1149da853ecaSopenharmony_ci{ 1150da853ecaSopenharmony_ci AudioEncoderDemo *encoderDemo = new AudioEncoderDemo(); 1151da853ecaSopenharmony_ci int32_t ret = Create(encoderDemo); 1152da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 1153da853ecaSopenharmony_ci 1154da853ecaSopenharmony_ci std::shared_ptr<AEncSignal> signal_ = encoderDemo->getSignal(); 1155da853ecaSopenharmony_ci std::shared_ptr<InnerAEnDemoCallback> cb_ = make_unique<InnerAEnDemoCallback>(signal_); 1156da853ecaSopenharmony_ci 1157da853ecaSopenharmony_ci ret = SetCallback(encoderDemo, cb_); 1158da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 1159da853ecaSopenharmony_ci 1160da853ecaSopenharmony_ci ret = Configure(encoderDemo); 1161da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 1162da853ecaSopenharmony_ci 1163da853ecaSopenharmony_ci ret = Prepare(encoderDemo); 1164da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 1165da853ecaSopenharmony_ci 1166da853ecaSopenharmony_ci ret = Start(encoderDemo); 1167da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 1168da853ecaSopenharmony_ci 1169da853ecaSopenharmony_ci uint32_t index = encoderDemo->InnerGetInputIndex(); 1170da853ecaSopenharmony_ci 1171da853ecaSopenharmony_ci ret = QueueInputBuffer(encoderDemo, index); 1172da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 1173da853ecaSopenharmony_ci 1174da853ecaSopenharmony_ci ret = Reset(encoderDemo); 1175da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 1176da853ecaSopenharmony_ci 1177da853ecaSopenharmony_ci Destroy(encoderDemo); 1178da853ecaSopenharmony_ci delete encoderDemo; 1179da853ecaSopenharmony_ci} 1180da853ecaSopenharmony_ci 1181da853ecaSopenharmony_ci/** 1182da853ecaSopenharmony_ci * @tc.number : SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_033 1183da853ecaSopenharmony_ci * @tc.name : Create -> SetCallback -> Configure -> Prepare -> Start -> Flush -> Reset 1184da853ecaSopenharmony_ci * @tc.desc : interface depend check 1185da853ecaSopenharmony_ci */ 1186da853ecaSopenharmony_ciHWTEST_F(InnerInterfaceDependCheckTest, SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_033, TestSize.Level2) 1187da853ecaSopenharmony_ci{ 1188da853ecaSopenharmony_ci AudioEncoderDemo *encoderDemo = new AudioEncoderDemo(); 1189da853ecaSopenharmony_ci int32_t ret = Create(encoderDemo); 1190da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 1191da853ecaSopenharmony_ci 1192da853ecaSopenharmony_ci std::shared_ptr<AEncSignal> signal_ = encoderDemo->getSignal(); 1193da853ecaSopenharmony_ci std::shared_ptr<InnerAEnDemoCallback> cb_ = make_unique<InnerAEnDemoCallback>(signal_); 1194da853ecaSopenharmony_ci 1195da853ecaSopenharmony_ci ret = SetCallback(encoderDemo, cb_); 1196da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 1197da853ecaSopenharmony_ci 1198da853ecaSopenharmony_ci ret = Configure(encoderDemo); 1199da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 1200da853ecaSopenharmony_ci 1201da853ecaSopenharmony_ci ret = Prepare(encoderDemo); 1202da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 1203da853ecaSopenharmony_ci 1204da853ecaSopenharmony_ci ret = Start(encoderDemo); 1205da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 1206da853ecaSopenharmony_ci 1207da853ecaSopenharmony_ci ret = Flush(encoderDemo); 1208da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 1209da853ecaSopenharmony_ci 1210da853ecaSopenharmony_ci ret = Reset(encoderDemo); 1211da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 1212da853ecaSopenharmony_ci 1213da853ecaSopenharmony_ci Destroy(encoderDemo); 1214da853ecaSopenharmony_ci delete encoderDemo; 1215da853ecaSopenharmony_ci} 1216da853ecaSopenharmony_ci 1217da853ecaSopenharmony_ci/** 1218da853ecaSopenharmony_ci * @tc.number : SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_034 1219da853ecaSopenharmony_ci * @tc.name : Create -> SetCallback -> Configure -> Prepare -> Start -> Stop -> Reset -> Reset 1220da853ecaSopenharmony_ci * @tc.desc : interface depend check 1221da853ecaSopenharmony_ci */ 1222da853ecaSopenharmony_ciHWTEST_F(InnerInterfaceDependCheckTest, SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_034, TestSize.Level2) 1223da853ecaSopenharmony_ci{ 1224da853ecaSopenharmony_ci AudioEncoderDemo *encoderDemo = new AudioEncoderDemo(); 1225da853ecaSopenharmony_ci int32_t ret = Create(encoderDemo); 1226da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 1227da853ecaSopenharmony_ci 1228da853ecaSopenharmony_ci std::shared_ptr<AEncSignal> signal_ = encoderDemo->getSignal(); 1229da853ecaSopenharmony_ci std::shared_ptr<InnerAEnDemoCallback> cb_ = make_unique<InnerAEnDemoCallback>(signal_); 1230da853ecaSopenharmony_ci 1231da853ecaSopenharmony_ci ret = SetCallback(encoderDemo, cb_); 1232da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 1233da853ecaSopenharmony_ci 1234da853ecaSopenharmony_ci ret = Configure(encoderDemo); 1235da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 1236da853ecaSopenharmony_ci 1237da853ecaSopenharmony_ci ret = Prepare(encoderDemo); 1238da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 1239da853ecaSopenharmony_ci 1240da853ecaSopenharmony_ci ret = Start(encoderDemo); 1241da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 1242da853ecaSopenharmony_ci 1243da853ecaSopenharmony_ci ret = Stop(encoderDemo); 1244da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 1245da853ecaSopenharmony_ci 1246da853ecaSopenharmony_ci ret = Reset(encoderDemo); 1247da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 1248da853ecaSopenharmony_ci 1249da853ecaSopenharmony_ci ret = Reset(encoderDemo); 1250da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 1251da853ecaSopenharmony_ci 1252da853ecaSopenharmony_ci Destroy(encoderDemo); 1253da853ecaSopenharmony_ci delete encoderDemo; 1254da853ecaSopenharmony_ci} 1255da853ecaSopenharmony_ci 1256da853ecaSopenharmony_ci/** 1257da853ecaSopenharmony_ci * @tc.number : SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_035 1258da853ecaSopenharmony_ci * @tc.name : Create -> SetCallback -> Destroy 1259da853ecaSopenharmony_ci * @tc.desc : interface depend check 1260da853ecaSopenharmony_ci */ 1261da853ecaSopenharmony_ciHWTEST_F(InnerInterfaceDependCheckTest, SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_035, TestSize.Level2) 1262da853ecaSopenharmony_ci{ 1263da853ecaSopenharmony_ci AudioEncoderDemo *encoderDemo = new AudioEncoderDemo(); 1264da853ecaSopenharmony_ci int32_t ret = Create(encoderDemo); 1265da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 1266da853ecaSopenharmony_ci 1267da853ecaSopenharmony_ci std::shared_ptr<AEncSignal> signal_ = encoderDemo->getSignal(); 1268da853ecaSopenharmony_ci std::shared_ptr<InnerAEnDemoCallback> cb_ = make_unique<InnerAEnDemoCallback>(signal_); 1269da853ecaSopenharmony_ci 1270da853ecaSopenharmony_ci ret = SetCallback(encoderDemo, cb_); 1271da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 1272da853ecaSopenharmony_ci 1273da853ecaSopenharmony_ci ret = Destroy(encoderDemo); 1274da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 1275da853ecaSopenharmony_ci 1276da853ecaSopenharmony_ci delete encoderDemo; 1277da853ecaSopenharmony_ci} 1278da853ecaSopenharmony_ci 1279da853ecaSopenharmony_ci/** 1280da853ecaSopenharmony_ci * @tc.number : SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_036 1281da853ecaSopenharmony_ci * @tc.name : Create -> SetCallback -> Configure -> Prepare -> Destroy 1282da853ecaSopenharmony_ci * @tc.desc : interface depend check 1283da853ecaSopenharmony_ci */ 1284da853ecaSopenharmony_ciHWTEST_F(InnerInterfaceDependCheckTest, SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_036, TestSize.Level2) 1285da853ecaSopenharmony_ci{ 1286da853ecaSopenharmony_ci AudioEncoderDemo *encoderDemo = new AudioEncoderDemo(); 1287da853ecaSopenharmony_ci int32_t ret = Create(encoderDemo); 1288da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 1289da853ecaSopenharmony_ci 1290da853ecaSopenharmony_ci std::shared_ptr<AEncSignal> signal_ = encoderDemo->getSignal(); 1291da853ecaSopenharmony_ci std::shared_ptr<InnerAEnDemoCallback> cb_ = make_unique<InnerAEnDemoCallback>(signal_); 1292da853ecaSopenharmony_ci 1293da853ecaSopenharmony_ci ret = SetCallback(encoderDemo, cb_); 1294da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 1295da853ecaSopenharmony_ci 1296da853ecaSopenharmony_ci ret = Configure(encoderDemo); 1297da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 1298da853ecaSopenharmony_ci 1299da853ecaSopenharmony_ci ret = Prepare(encoderDemo); 1300da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 1301da853ecaSopenharmony_ci 1302da853ecaSopenharmony_ci ret = Destroy(encoderDemo); 1303da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 1304da853ecaSopenharmony_ci 1305da853ecaSopenharmony_ci delete encoderDemo; 1306da853ecaSopenharmony_ci} 1307da853ecaSopenharmony_ci 1308da853ecaSopenharmony_ci/** 1309da853ecaSopenharmony_ci * @tc.number : SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_037 1310da853ecaSopenharmony_ci * @tc.name : Create -> SetCallback -> Configure -> Prepare -> Start -> Destroy 1311da853ecaSopenharmony_ci * @tc.desc : interface depend check 1312da853ecaSopenharmony_ci */ 1313da853ecaSopenharmony_ciHWTEST_F(InnerInterfaceDependCheckTest, SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_037, TestSize.Level2) 1314da853ecaSopenharmony_ci{ 1315da853ecaSopenharmony_ci AudioEncoderDemo *encoderDemo = new AudioEncoderDemo(); 1316da853ecaSopenharmony_ci int32_t ret = Create(encoderDemo); 1317da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 1318da853ecaSopenharmony_ci 1319da853ecaSopenharmony_ci std::shared_ptr<AEncSignal> signal_ = encoderDemo->getSignal(); 1320da853ecaSopenharmony_ci std::shared_ptr<InnerAEnDemoCallback> cb_ = make_unique<InnerAEnDemoCallback>(signal_); 1321da853ecaSopenharmony_ci 1322da853ecaSopenharmony_ci ret = SetCallback(encoderDemo, cb_); 1323da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 1324da853ecaSopenharmony_ci 1325da853ecaSopenharmony_ci ret = Configure(encoderDemo); 1326da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 1327da853ecaSopenharmony_ci 1328da853ecaSopenharmony_ci ret = Prepare(encoderDemo); 1329da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 1330da853ecaSopenharmony_ci 1331da853ecaSopenharmony_ci ret = Start(encoderDemo); 1332da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 1333da853ecaSopenharmony_ci 1334da853ecaSopenharmony_ci ret = Destroy(encoderDemo); 1335da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 1336da853ecaSopenharmony_ci delete encoderDemo; 1337da853ecaSopenharmony_ci} 1338da853ecaSopenharmony_ci 1339da853ecaSopenharmony_ci/** 1340da853ecaSopenharmony_ci * @tc.number : SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_038 1341da853ecaSopenharmony_ci * @tc.name : Create -> SetCallback -> Configure -> Prepare -> Start -> QueueInputBuffer -> Destroy 1342da853ecaSopenharmony_ci * @tc.desc : interface depend check 1343da853ecaSopenharmony_ci */ 1344da853ecaSopenharmony_ciHWTEST_F(InnerInterfaceDependCheckTest, SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_038, TestSize.Level2) 1345da853ecaSopenharmony_ci{ 1346da853ecaSopenharmony_ci AudioEncoderDemo *encoderDemo = new AudioEncoderDemo(); 1347da853ecaSopenharmony_ci int32_t ret = Create(encoderDemo); 1348da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 1349da853ecaSopenharmony_ci 1350da853ecaSopenharmony_ci std::shared_ptr<AEncSignal> signal_ = encoderDemo->getSignal(); 1351da853ecaSopenharmony_ci std::shared_ptr<InnerAEnDemoCallback> cb_ = make_unique<InnerAEnDemoCallback>(signal_); 1352da853ecaSopenharmony_ci 1353da853ecaSopenharmony_ci ret = SetCallback(encoderDemo, cb_); 1354da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 1355da853ecaSopenharmony_ci 1356da853ecaSopenharmony_ci ret = Configure(encoderDemo); 1357da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 1358da853ecaSopenharmony_ci 1359da853ecaSopenharmony_ci ret = Prepare(encoderDemo); 1360da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 1361da853ecaSopenharmony_ci 1362da853ecaSopenharmony_ci ret = Start(encoderDemo); 1363da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 1364da853ecaSopenharmony_ci 1365da853ecaSopenharmony_ci uint32_t index = encoderDemo->InnerGetInputIndex(); 1366da853ecaSopenharmony_ci 1367da853ecaSopenharmony_ci ret = QueueInputBuffer(encoderDemo, index); 1368da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 1369da853ecaSopenharmony_ci 1370da853ecaSopenharmony_ci ret = Destroy(encoderDemo); 1371da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 1372da853ecaSopenharmony_ci delete encoderDemo; 1373da853ecaSopenharmony_ci} 1374da853ecaSopenharmony_ci 1375da853ecaSopenharmony_ci/** 1376da853ecaSopenharmony_ci * @tc.number : SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_039 1377da853ecaSopenharmony_ci * @tc.name : Create -> SetCallback -> Configure -> Prepare -> Start -> Flush -> Destroy 1378da853ecaSopenharmony_ci * @tc.desc : interface depend check 1379da853ecaSopenharmony_ci */ 1380da853ecaSopenharmony_ciHWTEST_F(InnerInterfaceDependCheckTest, SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_039, TestSize.Level2) 1381da853ecaSopenharmony_ci{ 1382da853ecaSopenharmony_ci AudioEncoderDemo *encoderDemo = new AudioEncoderDemo(); 1383da853ecaSopenharmony_ci int32_t ret = Create(encoderDemo); 1384da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 1385da853ecaSopenharmony_ci 1386da853ecaSopenharmony_ci std::shared_ptr<AEncSignal> signal_ = encoderDemo->getSignal(); 1387da853ecaSopenharmony_ci std::shared_ptr<InnerAEnDemoCallback> cb_ = make_unique<InnerAEnDemoCallback>(signal_); 1388da853ecaSopenharmony_ci 1389da853ecaSopenharmony_ci ret = SetCallback(encoderDemo, cb_); 1390da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 1391da853ecaSopenharmony_ci 1392da853ecaSopenharmony_ci ret = Configure(encoderDemo); 1393da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 1394da853ecaSopenharmony_ci 1395da853ecaSopenharmony_ci ret = Prepare(encoderDemo); 1396da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 1397da853ecaSopenharmony_ci 1398da853ecaSopenharmony_ci ret = Start(encoderDemo); 1399da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 1400da853ecaSopenharmony_ci 1401da853ecaSopenharmony_ci ret = Flush(encoderDemo); 1402da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 1403da853ecaSopenharmony_ci 1404da853ecaSopenharmony_ci ret = Destroy(encoderDemo); 1405da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 1406da853ecaSopenharmony_ci delete encoderDemo; 1407da853ecaSopenharmony_ci} 1408da853ecaSopenharmony_ci 1409da853ecaSopenharmony_ci/** 1410da853ecaSopenharmony_ci * @tc.number : SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_040 1411da853ecaSopenharmony_ci * @tc.name : Create -> SetCallback -> Configure -> Prepare -> Start -> Stop -> Destroy 1412da853ecaSopenharmony_ci * @tc.desc : interface depend check 1413da853ecaSopenharmony_ci */ 1414da853ecaSopenharmony_ciHWTEST_F(InnerInterfaceDependCheckTest, SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_040, TestSize.Level2) 1415da853ecaSopenharmony_ci{ 1416da853ecaSopenharmony_ci AudioEncoderDemo *encoderDemo = new AudioEncoderDemo(); 1417da853ecaSopenharmony_ci int32_t ret = Create(encoderDemo); 1418da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 1419da853ecaSopenharmony_ci 1420da853ecaSopenharmony_ci std::shared_ptr<AEncSignal> signal_ = encoderDemo->getSignal(); 1421da853ecaSopenharmony_ci std::shared_ptr<InnerAEnDemoCallback> cb_ = make_unique<InnerAEnDemoCallback>(signal_); 1422da853ecaSopenharmony_ci 1423da853ecaSopenharmony_ci ret = SetCallback(encoderDemo, cb_); 1424da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 1425da853ecaSopenharmony_ci 1426da853ecaSopenharmony_ci ret = Configure(encoderDemo); 1427da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 1428da853ecaSopenharmony_ci 1429da853ecaSopenharmony_ci ret = Prepare(encoderDemo); 1430da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 1431da853ecaSopenharmony_ci 1432da853ecaSopenharmony_ci ret = Start(encoderDemo); 1433da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 1434da853ecaSopenharmony_ci 1435da853ecaSopenharmony_ci ret = Stop(encoderDemo); 1436da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 1437da853ecaSopenharmony_ci 1438da853ecaSopenharmony_ci ret = Destroy(encoderDemo); 1439da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 1440da853ecaSopenharmony_ci delete encoderDemo; 1441da853ecaSopenharmony_ci} 1442da853ecaSopenharmony_ci 1443da853ecaSopenharmony_ci/** 1444da853ecaSopenharmony_ci * @tc.number : SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_041 1445da853ecaSopenharmony_ci * @tc.name : Create -> SetCallback -> Configure -> Prepare -> Start -> Stop -> Reset -> Destroy 1446da853ecaSopenharmony_ci * @tc.desc : interface depend check 1447da853ecaSopenharmony_ci */ 1448da853ecaSopenharmony_ciHWTEST_F(InnerInterfaceDependCheckTest, SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_041, TestSize.Level2) 1449da853ecaSopenharmony_ci{ 1450da853ecaSopenharmony_ci AudioEncoderDemo *encoderDemo = new AudioEncoderDemo(); 1451da853ecaSopenharmony_ci int32_t ret = Create(encoderDemo); 1452da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 1453da853ecaSopenharmony_ci 1454da853ecaSopenharmony_ci std::shared_ptr<AEncSignal> signal_ = encoderDemo->getSignal(); 1455da853ecaSopenharmony_ci std::shared_ptr<InnerAEnDemoCallback> cb_ = make_unique<InnerAEnDemoCallback>(signal_); 1456da853ecaSopenharmony_ci 1457da853ecaSopenharmony_ci ret = SetCallback(encoderDemo, cb_); 1458da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 1459da853ecaSopenharmony_ci 1460da853ecaSopenharmony_ci ret = Configure(encoderDemo); 1461da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 1462da853ecaSopenharmony_ci 1463da853ecaSopenharmony_ci ret = Prepare(encoderDemo); 1464da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 1465da853ecaSopenharmony_ci 1466da853ecaSopenharmony_ci ret = Start(encoderDemo); 1467da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 1468da853ecaSopenharmony_ci 1469da853ecaSopenharmony_ci ret = Stop(encoderDemo); 1470da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 1471da853ecaSopenharmony_ci 1472da853ecaSopenharmony_ci ret = Reset(encoderDemo); 1473da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 1474da853ecaSopenharmony_ci 1475da853ecaSopenharmony_ci ret = Destroy(encoderDemo); 1476da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 1477da853ecaSopenharmony_ci delete encoderDemo; 1478da853ecaSopenharmony_ci} 1479da853ecaSopenharmony_ci 1480da853ecaSopenharmony_ci/** 1481da853ecaSopenharmony_ci * @tc.number : SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_042 1482da853ecaSopenharmony_ci * @tc.name : Create -> SetCallback -> QueueInputBuffer 1483da853ecaSopenharmony_ci * @tc.desc : interface depend check 1484da853ecaSopenharmony_ci */ 1485da853ecaSopenharmony_ciHWTEST_F(InnerInterfaceDependCheckTest, SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_042, TestSize.Level2) 1486da853ecaSopenharmony_ci{ 1487da853ecaSopenharmony_ci AudioEncoderDemo *encoderDemo = new AudioEncoderDemo(); 1488da853ecaSopenharmony_ci int32_t ret = Create(encoderDemo); 1489da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 1490da853ecaSopenharmony_ci 1491da853ecaSopenharmony_ci std::shared_ptr<AEncSignal> signal_ = encoderDemo->getSignal(); 1492da853ecaSopenharmony_ci std::shared_ptr<InnerAEnDemoCallback> cb_ = make_unique<InnerAEnDemoCallback>(signal_); 1493da853ecaSopenharmony_ci 1494da853ecaSopenharmony_ci ret = SetCallback(encoderDemo, cb_); 1495da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 1496da853ecaSopenharmony_ci 1497da853ecaSopenharmony_ci uint32_t index = 0; 1498da853ecaSopenharmony_ci ret = QueueInputBuffer(encoderDemo, index); 1499da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_INVALID_STATE, ret); 1500da853ecaSopenharmony_ci 1501da853ecaSopenharmony_ci Destroy(encoderDemo); 1502da853ecaSopenharmony_ci delete encoderDemo; 1503da853ecaSopenharmony_ci} 1504da853ecaSopenharmony_ci 1505da853ecaSopenharmony_ci/** 1506da853ecaSopenharmony_ci * @tc.number : SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_043 1507da853ecaSopenharmony_ci * @tc.name : Create -> SetCallback -> Configure -> Prepare -> QueueInputBuffer 1508da853ecaSopenharmony_ci * @tc.desc : interface depend check 1509da853ecaSopenharmony_ci */ 1510da853ecaSopenharmony_ciHWTEST_F(InnerInterfaceDependCheckTest, SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_043, TestSize.Level2) 1511da853ecaSopenharmony_ci{ 1512da853ecaSopenharmony_ci AudioEncoderDemo *encoderDemo = new AudioEncoderDemo(); 1513da853ecaSopenharmony_ci int32_t ret = Create(encoderDemo); 1514da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 1515da853ecaSopenharmony_ci 1516da853ecaSopenharmony_ci std::shared_ptr<AEncSignal> signal_ = encoderDemo->getSignal(); 1517da853ecaSopenharmony_ci std::shared_ptr<InnerAEnDemoCallback> cb_ = make_unique<InnerAEnDemoCallback>(signal_); 1518da853ecaSopenharmony_ci 1519da853ecaSopenharmony_ci ret = SetCallback(encoderDemo, cb_); 1520da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 1521da853ecaSopenharmony_ci 1522da853ecaSopenharmony_ci ret = Configure(encoderDemo); 1523da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 1524da853ecaSopenharmony_ci 1525da853ecaSopenharmony_ci ret = Prepare(encoderDemo); 1526da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 1527da853ecaSopenharmony_ci 1528da853ecaSopenharmony_ci uint32_t index = 0; 1529da853ecaSopenharmony_ci ret = QueueInputBuffer(encoderDemo, index); 1530da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_INVALID_STATE, ret); 1531da853ecaSopenharmony_ci 1532da853ecaSopenharmony_ci Destroy(encoderDemo); 1533da853ecaSopenharmony_ci delete encoderDemo; 1534da853ecaSopenharmony_ci} 1535da853ecaSopenharmony_ci 1536da853ecaSopenharmony_ci/** 1537da853ecaSopenharmony_ci * @tc.number : SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_044 1538da853ecaSopenharmony_ci * @tc.name : Create -> SetCallback -> Configure -> Prepare -> Start -> QueueInputBuffer 1539da853ecaSopenharmony_ci * @tc.desc : interface depend check 1540da853ecaSopenharmony_ci */ 1541da853ecaSopenharmony_ciHWTEST_F(InnerInterfaceDependCheckTest, SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_044, TestSize.Level2) 1542da853ecaSopenharmony_ci{ 1543da853ecaSopenharmony_ci AudioEncoderDemo *encoderDemo = new AudioEncoderDemo(); 1544da853ecaSopenharmony_ci int32_t ret = Create(encoderDemo); 1545da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 1546da853ecaSopenharmony_ci 1547da853ecaSopenharmony_ci std::shared_ptr<AEncSignal> signal_ = encoderDemo->getSignal(); 1548da853ecaSopenharmony_ci std::shared_ptr<InnerAEnDemoCallback> cb_ = make_unique<InnerAEnDemoCallback>(signal_); 1549da853ecaSopenharmony_ci 1550da853ecaSopenharmony_ci ret = SetCallback(encoderDemo, cb_); 1551da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 1552da853ecaSopenharmony_ci 1553da853ecaSopenharmony_ci ret = Configure(encoderDemo); 1554da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 1555da853ecaSopenharmony_ci 1556da853ecaSopenharmony_ci ret = Prepare(encoderDemo); 1557da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 1558da853ecaSopenharmony_ci 1559da853ecaSopenharmony_ci ret = Start(encoderDemo); 1560da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 1561da853ecaSopenharmony_ci 1562da853ecaSopenharmony_ci uint32_t index = encoderDemo->InnerGetInputIndex(); 1563da853ecaSopenharmony_ci ret = QueueInputBuffer(encoderDemo, index); 1564da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 1565da853ecaSopenharmony_ci 1566da853ecaSopenharmony_ci Destroy(encoderDemo); 1567da853ecaSopenharmony_ci delete encoderDemo; 1568da853ecaSopenharmony_ci} 1569da853ecaSopenharmony_ci 1570da853ecaSopenharmony_ci/** 1571da853ecaSopenharmony_ci * @tc.number : SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_045 1572da853ecaSopenharmony_ci * @tc.name : Create -> SetCallback -> Configure -> Prepare -> Start -> QueueInputBuffer -> QueueInputBuffer 1573da853ecaSopenharmony_ci * @tc.desc : interface depend check 1574da853ecaSopenharmony_ci */ 1575da853ecaSopenharmony_ciHWTEST_F(InnerInterfaceDependCheckTest, SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_045, TestSize.Level2) 1576da853ecaSopenharmony_ci{ 1577da853ecaSopenharmony_ci AudioEncoderDemo *encoderDemo = new AudioEncoderDemo(); 1578da853ecaSopenharmony_ci int32_t ret = Create(encoderDemo); 1579da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 1580da853ecaSopenharmony_ci 1581da853ecaSopenharmony_ci std::shared_ptr<AEncSignal> signal_ = encoderDemo->getSignal(); 1582da853ecaSopenharmony_ci std::shared_ptr<InnerAEnDemoCallback> cb_ = make_unique<InnerAEnDemoCallback>(signal_); 1583da853ecaSopenharmony_ci 1584da853ecaSopenharmony_ci ret = SetCallback(encoderDemo, cb_); 1585da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 1586da853ecaSopenharmony_ci 1587da853ecaSopenharmony_ci ret = Configure(encoderDemo); 1588da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 1589da853ecaSopenharmony_ci 1590da853ecaSopenharmony_ci ret = Prepare(encoderDemo); 1591da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 1592da853ecaSopenharmony_ci 1593da853ecaSopenharmony_ci ret = Start(encoderDemo); 1594da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 1595da853ecaSopenharmony_ci 1596da853ecaSopenharmony_ci uint32_t index = encoderDemo->InnerGetInputIndex(); 1597da853ecaSopenharmony_ci ret = QueueInputBuffer(encoderDemo, index); 1598da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 1599da853ecaSopenharmony_ci 1600da853ecaSopenharmony_ci index = encoderDemo->InnerGetInputIndex(); 1601da853ecaSopenharmony_ci ret = QueueInputBuffer(encoderDemo, index); 1602da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 1603da853ecaSopenharmony_ci 1604da853ecaSopenharmony_ci Destroy(encoderDemo); 1605da853ecaSopenharmony_ci delete encoderDemo; 1606da853ecaSopenharmony_ci} 1607da853ecaSopenharmony_ci 1608da853ecaSopenharmony_ci/** 1609da853ecaSopenharmony_ci * @tc.number : SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_046 1610da853ecaSopenharmony_ci * @tc.name : Create -> SetCallback -> Configure -> Prepare -> Start -> Flush -> QueueInputBuffer 1611da853ecaSopenharmony_ci * @tc.desc : interface depend check 1612da853ecaSopenharmony_ci */ 1613da853ecaSopenharmony_ciHWTEST_F(InnerInterfaceDependCheckTest, SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_046, TestSize.Level2) 1614da853ecaSopenharmony_ci{ 1615da853ecaSopenharmony_ci AudioEncoderDemo *encoderDemo = new AudioEncoderDemo(); 1616da853ecaSopenharmony_ci int32_t ret = Create(encoderDemo); 1617da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 1618da853ecaSopenharmony_ci 1619da853ecaSopenharmony_ci std::shared_ptr<AEncSignal> signal_ = encoderDemo->getSignal(); 1620da853ecaSopenharmony_ci std::shared_ptr<InnerAEnDemoCallback> cb_ = make_unique<InnerAEnDemoCallback>(signal_); 1621da853ecaSopenharmony_ci 1622da853ecaSopenharmony_ci ret = SetCallback(encoderDemo, cb_); 1623da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 1624da853ecaSopenharmony_ci 1625da853ecaSopenharmony_ci ret = Configure(encoderDemo); 1626da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 1627da853ecaSopenharmony_ci 1628da853ecaSopenharmony_ci ret = Prepare(encoderDemo); 1629da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 1630da853ecaSopenharmony_ci 1631da853ecaSopenharmony_ci ret = Start(encoderDemo); 1632da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 1633da853ecaSopenharmony_ci 1634da853ecaSopenharmony_ci ret = Flush(encoderDemo); 1635da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 1636da853ecaSopenharmony_ci 1637da853ecaSopenharmony_ci uint32_t index = 0; 1638da853ecaSopenharmony_ci ret = QueueInputBuffer(encoderDemo, index); 1639da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_INVALID_STATE, ret); 1640da853ecaSopenharmony_ci 1641da853ecaSopenharmony_ci Destroy(encoderDemo); 1642da853ecaSopenharmony_ci delete encoderDemo; 1643da853ecaSopenharmony_ci} 1644da853ecaSopenharmony_ci 1645da853ecaSopenharmony_ci/** 1646da853ecaSopenharmony_ci * @tc.number : SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_047 1647da853ecaSopenharmony_ci * @tc.name : Create -> SetCallback -> Configure -> Prepare -> Start -> Flush -> Start -> QueueInputBuffer 1648da853ecaSopenharmony_ci * @tc.desc : interface depend check 1649da853ecaSopenharmony_ci */ 1650da853ecaSopenharmony_ciHWTEST_F(InnerInterfaceDependCheckTest, SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_047, TestSize.Level2) 1651da853ecaSopenharmony_ci{ 1652da853ecaSopenharmony_ci AudioEncoderDemo *encoderDemo = new AudioEncoderDemo(); 1653da853ecaSopenharmony_ci int32_t ret = Create(encoderDemo); 1654da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 1655da853ecaSopenharmony_ci 1656da853ecaSopenharmony_ci std::shared_ptr<AEncSignal> signal_ = encoderDemo->getSignal(); 1657da853ecaSopenharmony_ci std::shared_ptr<InnerAEnDemoCallback> cb_ = make_unique<InnerAEnDemoCallback>(signal_); 1658da853ecaSopenharmony_ci 1659da853ecaSopenharmony_ci ret = SetCallback(encoderDemo, cb_); 1660da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 1661da853ecaSopenharmony_ci 1662da853ecaSopenharmony_ci ret = Configure(encoderDemo); 1663da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 1664da853ecaSopenharmony_ci 1665da853ecaSopenharmony_ci ret = Prepare(encoderDemo); 1666da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 1667da853ecaSopenharmony_ci 1668da853ecaSopenharmony_ci ret = Start(encoderDemo); 1669da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 1670da853ecaSopenharmony_ci 1671da853ecaSopenharmony_ci ret = Flush(encoderDemo); 1672da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 1673da853ecaSopenharmony_ci 1674da853ecaSopenharmony_ci ret = Start(encoderDemo); 1675da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 1676da853ecaSopenharmony_ci 1677da853ecaSopenharmony_ci uint32_t index = encoderDemo->InnerGetInputIndex(); 1678da853ecaSopenharmony_ci ret = QueueInputBuffer(encoderDemo, index); 1679da853ecaSopenharmony_ci ASSERT_EQ(0, ret); 1680da853ecaSopenharmony_ci 1681da853ecaSopenharmony_ci Destroy(encoderDemo); 1682da853ecaSopenharmony_ci delete encoderDemo; 1683da853ecaSopenharmony_ci} 1684da853ecaSopenharmony_ci 1685da853ecaSopenharmony_ci/** 1686da853ecaSopenharmony_ci * @tc.number : SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_048 1687da853ecaSopenharmony_ci * @tc.name : Create -> SetCallback -> Configure -> Prepare -> Start -> Stop -> QueueInputBuffer 1688da853ecaSopenharmony_ci * @tc.desc : interface depend check 1689da853ecaSopenharmony_ci */ 1690da853ecaSopenharmony_ciHWTEST_F(InnerInterfaceDependCheckTest, SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_048, TestSize.Level2) 1691da853ecaSopenharmony_ci{ 1692da853ecaSopenharmony_ci AudioEncoderDemo *encoderDemo = new AudioEncoderDemo(); 1693da853ecaSopenharmony_ci int32_t ret = Create(encoderDemo); 1694da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 1695da853ecaSopenharmony_ci 1696da853ecaSopenharmony_ci std::shared_ptr<AEncSignal> signal_ = encoderDemo->getSignal(); 1697da853ecaSopenharmony_ci std::shared_ptr<InnerAEnDemoCallback> cb_ = make_unique<InnerAEnDemoCallback>(signal_); 1698da853ecaSopenharmony_ci 1699da853ecaSopenharmony_ci ret = SetCallback(encoderDemo, cb_); 1700da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 1701da853ecaSopenharmony_ci 1702da853ecaSopenharmony_ci ret = Configure(encoderDemo); 1703da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 1704da853ecaSopenharmony_ci 1705da853ecaSopenharmony_ci ret = Prepare(encoderDemo); 1706da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 1707da853ecaSopenharmony_ci 1708da853ecaSopenharmony_ci ret = Start(encoderDemo); 1709da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 1710da853ecaSopenharmony_ci 1711da853ecaSopenharmony_ci ret = Stop(encoderDemo); 1712da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 1713da853ecaSopenharmony_ci 1714da853ecaSopenharmony_ci uint32_t index = 0; 1715da853ecaSopenharmony_ci ret = QueueInputBuffer(encoderDemo, index); 1716da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_INVALID_STATE, ret); 1717da853ecaSopenharmony_ci 1718da853ecaSopenharmony_ci Destroy(encoderDemo); 1719da853ecaSopenharmony_ci delete encoderDemo; 1720da853ecaSopenharmony_ci} 1721da853ecaSopenharmony_ci 1722da853ecaSopenharmony_ci/** 1723da853ecaSopenharmony_ci * @tc.number : SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_049 1724da853ecaSopenharmony_ci * @tc.name : Create -> SetCallback -> Configure -> Prepare -> Start -> Stop -> Reset -> QueueInputBuffer 1725da853ecaSopenharmony_ci * @tc.desc : interface depend check 1726da853ecaSopenharmony_ci */ 1727da853ecaSopenharmony_ciHWTEST_F(InnerInterfaceDependCheckTest, SUB_MULTIMEDIA_AUDIO_ENCODER_INTERFACE_DEPEND_CHECK_049, TestSize.Level2) 1728da853ecaSopenharmony_ci{ 1729da853ecaSopenharmony_ci AudioEncoderDemo *encoderDemo = new AudioEncoderDemo(); 1730da853ecaSopenharmony_ci int32_t ret = Create(encoderDemo); 1731da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 1732da853ecaSopenharmony_ci 1733da853ecaSopenharmony_ci std::shared_ptr<AEncSignal> signal_ = encoderDemo->getSignal(); 1734da853ecaSopenharmony_ci std::shared_ptr<InnerAEnDemoCallback> cb_ = make_unique<InnerAEnDemoCallback>(signal_); 1735da853ecaSopenharmony_ci 1736da853ecaSopenharmony_ci ret = SetCallback(encoderDemo, cb_); 1737da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 1738da853ecaSopenharmony_ci 1739da853ecaSopenharmony_ci ret = Configure(encoderDemo); 1740da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 1741da853ecaSopenharmony_ci 1742da853ecaSopenharmony_ci ret = Prepare(encoderDemo); 1743da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 1744da853ecaSopenharmony_ci 1745da853ecaSopenharmony_ci ret = Start(encoderDemo); 1746da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 1747da853ecaSopenharmony_ci 1748da853ecaSopenharmony_ci ret = Stop(encoderDemo); 1749da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 1750da853ecaSopenharmony_ci 1751da853ecaSopenharmony_ci ret = Reset(encoderDemo); 1752da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 1753da853ecaSopenharmony_ci 1754da853ecaSopenharmony_ci uint32_t index = 0; 1755da853ecaSopenharmony_ci ret = QueueInputBuffer(encoderDemo, index); 1756da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_INVALID_STATE, ret); 1757da853ecaSopenharmony_ci 1758da853ecaSopenharmony_ci Destroy(encoderDemo); 1759da853ecaSopenharmony_ci delete encoderDemo; 1760da853ecaSopenharmony_ci} 1761