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