1da853ecaSopenharmony_ci/* 2da853ecaSopenharmony_ci * Copyright (C) 2022 Huawei Device Co., Ltd. 3da853ecaSopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License"); 4da853ecaSopenharmony_ci * you may not use this file except in compliance with the License. 5da853ecaSopenharmony_ci * You may obtain a copy of the License at 6da853ecaSopenharmony_ci * 7da853ecaSopenharmony_ci * http://www.apache.org/licenses/LICENSE-2.0 8da853ecaSopenharmony_ci * 9da853ecaSopenharmony_ci * Unless required by applicable law or agreed to in writing, software 10da853ecaSopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS, 11da853ecaSopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12da853ecaSopenharmony_ci * See the License for the specific language governing permissions and 13da853ecaSopenharmony_ci * limitations under the License. 14da853ecaSopenharmony_ci */ 15da853ecaSopenharmony_ci 16da853ecaSopenharmony_ci#include <string> 17da853ecaSopenharmony_ci#include "gtest/gtest.h" 18da853ecaSopenharmony_ci#include "AVMuxerDemo.h" 19da853ecaSopenharmony_ci#include "avcodec_errors.h" 20da853ecaSopenharmony_ci 21da853ecaSopenharmony_ciusing namespace std; 22da853ecaSopenharmony_ciusing namespace testing::ext; 23da853ecaSopenharmony_ciusing namespace OHOS; 24da853ecaSopenharmony_ciusing namespace OHOS::MediaAVCodec; 25da853ecaSopenharmony_ciusing namespace OHOS::Media; 26da853ecaSopenharmony_ciconstexpr uint32_t SAMPLE_RATE_48000 = 48000; 27da853ecaSopenharmony_ciconstexpr uint32_t Buffer_Size = 100; 28da853ecaSopenharmony_ciconstexpr uint32_t BITRATE_320000 = 320000; 29da853ecaSopenharmony_ci 30da853ecaSopenharmony_ci 31da853ecaSopenharmony_cinamespace { 32da853ecaSopenharmony_ci class InnerAVMuxerInterfaceDependCheckTest : public testing::Test { 33da853ecaSopenharmony_ci public: 34da853ecaSopenharmony_ci static void SetUpTestCase(); 35da853ecaSopenharmony_ci static void TearDownTestCase(); 36da853ecaSopenharmony_ci void SetUp() override; 37da853ecaSopenharmony_ci void TearDown() override; 38da853ecaSopenharmony_ci }; 39da853ecaSopenharmony_ci 40da853ecaSopenharmony_ci void InnerAVMuxerInterfaceDependCheckTest::SetUpTestCase() {} 41da853ecaSopenharmony_ci void InnerAVMuxerInterfaceDependCheckTest::TearDownTestCase() {} 42da853ecaSopenharmony_ci void InnerAVMuxerInterfaceDependCheckTest::SetUp() {} 43da853ecaSopenharmony_ci void InnerAVMuxerInterfaceDependCheckTest::TearDown() {} 44da853ecaSopenharmony_ci 45da853ecaSopenharmony_ci int32_t Create(AVMuxerDemo* muxerDemo) 46da853ecaSopenharmony_ci { 47da853ecaSopenharmony_ci Plugins::OutputFormat format = Plugins::OutputFormat::MPEG_4; 48da853ecaSopenharmony_ci int32_t fd = muxerDemo->InnerGetFdByMode(format); 49da853ecaSopenharmony_ci return muxerDemo->InnerCreate(fd, format); 50da853ecaSopenharmony_ci } 51da853ecaSopenharmony_ci 52da853ecaSopenharmony_ci int32_t SetRotation(AVMuxerDemo* muxerDemo) 53da853ecaSopenharmony_ci { 54da853ecaSopenharmony_ci int32_t rotation = 0; 55da853ecaSopenharmony_ci 56da853ecaSopenharmony_ci return muxerDemo->InnerSetRotation(rotation); 57da853ecaSopenharmony_ci } 58da853ecaSopenharmony_ci 59da853ecaSopenharmony_ci int32_t AddTrack(AVMuxerDemo* muxerDemo) 60da853ecaSopenharmony_ci { 61da853ecaSopenharmony_ci constexpr int32_t size = 100; 62da853ecaSopenharmony_ci std::shared_ptr<Meta> audioParams = std::make_shared<Meta>(); 63da853ecaSopenharmony_ci std::vector<uint8_t> a(size); 64da853ecaSopenharmony_ci int32_t trackIndex = 0; 65da853ecaSopenharmony_ci 66da853ecaSopenharmony_ci audioParams->Set<Tag::MIME_TYPE>(Plugins::MimeType::AUDIO_AAC); 67da853ecaSopenharmony_ci audioParams->Set<Tag::MEDIA_BITRATE>(BITRATE_320000); 68da853ecaSopenharmony_ci audioParams->Set<Tag::MEDIA_CODEC_CONFIG>(a); 69da853ecaSopenharmony_ci audioParams->Set<Tag::AUDIO_CHANNEL_COUNT>(1); 70da853ecaSopenharmony_ci audioParams->Set<Tag::AUDIO_SAMPLE_RATE>(SAMPLE_RATE_48000); 71da853ecaSopenharmony_ci 72da853ecaSopenharmony_ci return muxerDemo->InnerAddTrack(trackIndex, audioParams); 73da853ecaSopenharmony_ci } 74da853ecaSopenharmony_ci 75da853ecaSopenharmony_ci int32_t Start(AVMuxerDemo* muxerDemo) 76da853ecaSopenharmony_ci { 77da853ecaSopenharmony_ci return muxerDemo->InnerStart(); 78da853ecaSopenharmony_ci } 79da853ecaSopenharmony_ci 80da853ecaSopenharmony_ci int32_t WriteSample(AVMuxerDemo* muxerDemo, uint32_t trackIndex) 81da853ecaSopenharmony_ci { 82da853ecaSopenharmony_ci uint8_t data[Buffer_Size]; 83da853ecaSopenharmony_ci std::shared_ptr<AVBuffer> avMemBuffer = AVBuffer::CreateAVBuffer(data, Buffer_Size, Buffer_Size); 84da853ecaSopenharmony_ci avMemBuffer->pts_ = 0; 85da853ecaSopenharmony_ci avMemBuffer->flag_ = static_cast<uint32_t>(Plugins::AVBufferFlag::SYNC_FRAME); 86da853ecaSopenharmony_ci return muxerDemo->InnerWriteSample(trackIndex, avMemBuffer); 87da853ecaSopenharmony_ci } 88da853ecaSopenharmony_ci 89da853ecaSopenharmony_ci int32_t Stop(AVMuxerDemo* muxerDemo) 90da853ecaSopenharmony_ci { 91da853ecaSopenharmony_ci return muxerDemo->InnerStop(); 92da853ecaSopenharmony_ci } 93da853ecaSopenharmony_ci 94da853ecaSopenharmony_ci int32_t Destroy(AVMuxerDemo* muxerDemo) 95da853ecaSopenharmony_ci { 96da853ecaSopenharmony_ci return muxerDemo->InnerDestroy(); 97da853ecaSopenharmony_ci } 98da853ecaSopenharmony_ci} 99da853ecaSopenharmony_ci 100da853ecaSopenharmony_ci/** 101da853ecaSopenharmony_ci * @tc.number : SUB_MULTIMEDIA_MEDIA_MUXER_INTERFACE_DEPEND_CHECK_001 102da853ecaSopenharmony_ci * @tc.name : Create -> SetRotation 103da853ecaSopenharmony_ci * @tc.desc : interface depend check 104da853ecaSopenharmony_ci */ 105da853ecaSopenharmony_ciHWTEST_F(InnerAVMuxerInterfaceDependCheckTest, SUB_MULTIMEDIA_MEDIA_MUXER_INTERFACE_DEPEND_CHECK_001, TestSize.Level2) 106da853ecaSopenharmony_ci{ 107da853ecaSopenharmony_ci AVMuxerDemo* muxerDemo = new AVMuxerDemo(); 108da853ecaSopenharmony_ci Create(muxerDemo); 109da853ecaSopenharmony_ci 110da853ecaSopenharmony_ci int32_t ret; 111da853ecaSopenharmony_ci 112da853ecaSopenharmony_ci ret = SetRotation(muxerDemo); 113da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 114da853ecaSopenharmony_ci 115da853ecaSopenharmony_ci Destroy(muxerDemo); 116da853ecaSopenharmony_ci delete muxerDemo; 117da853ecaSopenharmony_ci} 118da853ecaSopenharmony_ci 119da853ecaSopenharmony_ci 120da853ecaSopenharmony_ci/** 121da853ecaSopenharmony_ci * @tc.number : SUB_MULTIMEDIA_MEDIA_MUXER_INTERFACE_DEPEND_CHECK_002 122da853ecaSopenharmony_ci * @tc.name : Create -> SetRotation -> SetRotation 123da853ecaSopenharmony_ci * @tc.desc : interface depend check 124da853ecaSopenharmony_ci */ 125da853ecaSopenharmony_ciHWTEST_F(InnerAVMuxerInterfaceDependCheckTest, SUB_MULTIMEDIA_MEDIA_MUXER_INTERFACE_DEPEND_CHECK_002, TestSize.Level2) 126da853ecaSopenharmony_ci{ 127da853ecaSopenharmony_ci AVMuxerDemo* muxerDemo = new AVMuxerDemo(); 128da853ecaSopenharmony_ci Create(muxerDemo); 129da853ecaSopenharmony_ci 130da853ecaSopenharmony_ci int32_t ret; 131da853ecaSopenharmony_ci 132da853ecaSopenharmony_ci ret = SetRotation(muxerDemo); 133da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 134da853ecaSopenharmony_ci 135da853ecaSopenharmony_ci ret = SetRotation(muxerDemo); 136da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 137da853ecaSopenharmony_ci 138da853ecaSopenharmony_ci Destroy(muxerDemo); 139da853ecaSopenharmony_ci delete muxerDemo; 140da853ecaSopenharmony_ci} 141da853ecaSopenharmony_ci 142da853ecaSopenharmony_ci 143da853ecaSopenharmony_ci/** 144da853ecaSopenharmony_ci * @tc.number : SUB_MULTIMEDIA_MEDIA_MUXER_INTERFACE_DEPEND_CHECK_003 145da853ecaSopenharmony_ci * @tc.name : Create -> AddTrack -> SetRotation 146da853ecaSopenharmony_ci * @tc.desc : interface depend check 147da853ecaSopenharmony_ci */ 148da853ecaSopenharmony_ciHWTEST_F(InnerAVMuxerInterfaceDependCheckTest, SUB_MULTIMEDIA_MEDIA_MUXER_INTERFACE_DEPEND_CHECK_003, TestSize.Level2) 149da853ecaSopenharmony_ci{ 150da853ecaSopenharmony_ci AVMuxerDemo* muxerDemo = new AVMuxerDemo(); 151da853ecaSopenharmony_ci Create(muxerDemo); 152da853ecaSopenharmony_ci 153da853ecaSopenharmony_ci int32_t ret; 154da853ecaSopenharmony_ci 155da853ecaSopenharmony_ci int32_t trackId = AddTrack(muxerDemo); 156da853ecaSopenharmony_ci ASSERT_EQ(0, trackId); 157da853ecaSopenharmony_ci 158da853ecaSopenharmony_ci ret = SetRotation(muxerDemo); 159da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 160da853ecaSopenharmony_ci 161da853ecaSopenharmony_ci Destroy(muxerDemo); 162da853ecaSopenharmony_ci delete muxerDemo; 163da853ecaSopenharmony_ci} 164da853ecaSopenharmony_ci 165da853ecaSopenharmony_ci/** 166da853ecaSopenharmony_ci * @tc.number : SUB_MULTIMEDIA_MEDIA_MUXER_INTERFACE_DEPEND_CHECK_004 167da853ecaSopenharmony_ci * @tc.name : Create -> AddTrack -> Start -> SetRotation 168da853ecaSopenharmony_ci * @tc.desc : interface depend check 169da853ecaSopenharmony_ci */ 170da853ecaSopenharmony_ciHWTEST_F(InnerAVMuxerInterfaceDependCheckTest, SUB_MULTIMEDIA_MEDIA_MUXER_INTERFACE_DEPEND_CHECK_004, TestSize.Level2) 171da853ecaSopenharmony_ci{ 172da853ecaSopenharmony_ci AVMuxerDemo* muxerDemo = new AVMuxerDemo(); 173da853ecaSopenharmony_ci Create(muxerDemo); 174da853ecaSopenharmony_ci 175da853ecaSopenharmony_ci int32_t ret; 176da853ecaSopenharmony_ci 177da853ecaSopenharmony_ci int32_t trackId = AddTrack(muxerDemo); 178da853ecaSopenharmony_ci ASSERT_EQ(0, trackId); 179da853ecaSopenharmony_ci 180da853ecaSopenharmony_ci ret = Start(muxerDemo); 181da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 182da853ecaSopenharmony_ci 183da853ecaSopenharmony_ci ret = SetRotation(muxerDemo); 184da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_INVALID_OPERATION, ret); 185da853ecaSopenharmony_ci 186da853ecaSopenharmony_ci Destroy(muxerDemo); 187da853ecaSopenharmony_ci delete muxerDemo; 188da853ecaSopenharmony_ci} 189da853ecaSopenharmony_ci 190da853ecaSopenharmony_ci 191da853ecaSopenharmony_ci/** 192da853ecaSopenharmony_ci * @tc.number : SUB_MULTIMEDIA_MEDIA_MUXER_INTERFACE_DEPEND_CHECK_005 193da853ecaSopenharmony_ci * @tc.name : Create -> AddTrack -> Start -> Stop -> SetRotation 194da853ecaSopenharmony_ci * @tc.desc : interface depend check 195da853ecaSopenharmony_ci */ 196da853ecaSopenharmony_ciHWTEST_F(InnerAVMuxerInterfaceDependCheckTest, SUB_MULTIMEDIA_MEDIA_MUXER_INTERFACE_DEPEND_CHECK_005, TestSize.Level2) 197da853ecaSopenharmony_ci{ 198da853ecaSopenharmony_ci AVMuxerDemo* muxerDemo = new AVMuxerDemo(); 199da853ecaSopenharmony_ci Create(muxerDemo); 200da853ecaSopenharmony_ci 201da853ecaSopenharmony_ci int32_t ret; 202da853ecaSopenharmony_ci 203da853ecaSopenharmony_ci int32_t trackId = AddTrack(muxerDemo); 204da853ecaSopenharmony_ci ASSERT_EQ(0, trackId); 205da853ecaSopenharmony_ci 206da853ecaSopenharmony_ci ret = Start(muxerDemo); 207da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 208da853ecaSopenharmony_ci 209da853ecaSopenharmony_ci ret = Stop(muxerDemo); 210da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 211da853ecaSopenharmony_ci 212da853ecaSopenharmony_ci ret = SetRotation(muxerDemo); 213da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_INVALID_OPERATION, ret); 214da853ecaSopenharmony_ci 215da853ecaSopenharmony_ci Destroy(muxerDemo); 216da853ecaSopenharmony_ci delete muxerDemo; 217da853ecaSopenharmony_ci} 218da853ecaSopenharmony_ci 219da853ecaSopenharmony_ci 220da853ecaSopenharmony_ci/** 221da853ecaSopenharmony_ci * @tc.number : SUB_MULTIMEDIA_MEDIA_MUXER_INTERFACE_DEPEND_CHECK_006 222da853ecaSopenharmony_ci * @tc.name : Create -> AddTrack 223da853ecaSopenharmony_ci * @tc.desc : interface depend check 224da853ecaSopenharmony_ci */ 225da853ecaSopenharmony_ciHWTEST_F(InnerAVMuxerInterfaceDependCheckTest, SUB_MULTIMEDIA_MEDIA_MUXER_INTERFACE_DEPEND_CHECK_006, TestSize.Level2) 226da853ecaSopenharmony_ci{ 227da853ecaSopenharmony_ci AVMuxerDemo* muxerDemo = new AVMuxerDemo(); 228da853ecaSopenharmony_ci Create(muxerDemo); 229da853ecaSopenharmony_ci 230da853ecaSopenharmony_ci int32_t trackId = AddTrack(muxerDemo); 231da853ecaSopenharmony_ci ASSERT_EQ(0, trackId); 232da853ecaSopenharmony_ci 233da853ecaSopenharmony_ci Destroy(muxerDemo); 234da853ecaSopenharmony_ci delete muxerDemo; 235da853ecaSopenharmony_ci} 236da853ecaSopenharmony_ci 237da853ecaSopenharmony_ci 238da853ecaSopenharmony_ci/** 239da853ecaSopenharmony_ci * @tc.number : SUB_MULTIMEDIA_MEDIA_MUXER_INTERFACE_DEPEND_CHECK_007 240da853ecaSopenharmony_ci * @tc.name : Create -> AddTrack -> AddTrack 241da853ecaSopenharmony_ci * @tc.desc : interface depend check 242da853ecaSopenharmony_ci */ 243da853ecaSopenharmony_ciHWTEST_F(InnerAVMuxerInterfaceDependCheckTest, SUB_MULTIMEDIA_MEDIA_MUXER_INTERFACE_DEPEND_CHECK_007, TestSize.Level2) 244da853ecaSopenharmony_ci{ 245da853ecaSopenharmony_ci AVMuxerDemo* muxerDemo = new AVMuxerDemo(); 246da853ecaSopenharmony_ci Create(muxerDemo); 247da853ecaSopenharmony_ci 248da853ecaSopenharmony_ci int32_t trackId = AddTrack(muxerDemo); 249da853ecaSopenharmony_ci ASSERT_EQ(0, trackId); 250da853ecaSopenharmony_ci 251da853ecaSopenharmony_ci trackId = AddTrack(muxerDemo); 252da853ecaSopenharmony_ci ASSERT_EQ(0, trackId); 253da853ecaSopenharmony_ci 254da853ecaSopenharmony_ci Destroy(muxerDemo); 255da853ecaSopenharmony_ci delete muxerDemo; 256da853ecaSopenharmony_ci} 257da853ecaSopenharmony_ci 258da853ecaSopenharmony_ci 259da853ecaSopenharmony_ci/** 260da853ecaSopenharmony_ci * @tc.number : SUB_MULTIMEDIA_MEDIA_MUXER_INTERFACE_DEPEND_CHECK_008 261da853ecaSopenharmony_ci * @tc.name : Create -> SetRotation -> AddTrack 262da853ecaSopenharmony_ci * @tc.desc : interface depend check 263da853ecaSopenharmony_ci */ 264da853ecaSopenharmony_ciHWTEST_F(InnerAVMuxerInterfaceDependCheckTest, SUB_MULTIMEDIA_MEDIA_MUXER_INTERFACE_DEPEND_CHECK_008, TestSize.Level2) 265da853ecaSopenharmony_ci{ 266da853ecaSopenharmony_ci AVMuxerDemo* muxerDemo = new AVMuxerDemo(); 267da853ecaSopenharmony_ci Create(muxerDemo); 268da853ecaSopenharmony_ci 269da853ecaSopenharmony_ci int32_t ret; 270da853ecaSopenharmony_ci 271da853ecaSopenharmony_ci ret = SetRotation(muxerDemo); 272da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 273da853ecaSopenharmony_ci 274da853ecaSopenharmony_ci int32_t trackId = AddTrack(muxerDemo); 275da853ecaSopenharmony_ci ASSERT_EQ(0, trackId); 276da853ecaSopenharmony_ci 277da853ecaSopenharmony_ci Destroy(muxerDemo); 278da853ecaSopenharmony_ci delete muxerDemo; 279da853ecaSopenharmony_ci} 280da853ecaSopenharmony_ci 281da853ecaSopenharmony_ci/** 282da853ecaSopenharmony_ci * @tc.number : SUB_MULTIMEDIA_MEDIA_MUXER_INTERFACE_DEPEND_CHECK_009 283da853ecaSopenharmony_ci * @tc.name : Create -> AddTrack -> Start -> AddTrack 284da853ecaSopenharmony_ci * @tc.desc : interface depend check 285da853ecaSopenharmony_ci */ 286da853ecaSopenharmony_ciHWTEST_F(InnerAVMuxerInterfaceDependCheckTest, SUB_MULTIMEDIA_MEDIA_MUXER_INTERFACE_DEPEND_CHECK_009, TestSize.Level2) 287da853ecaSopenharmony_ci{ 288da853ecaSopenharmony_ci AVMuxerDemo* muxerDemo = new AVMuxerDemo(); 289da853ecaSopenharmony_ci Create(muxerDemo); 290da853ecaSopenharmony_ci 291da853ecaSopenharmony_ci int32_t ret; 292da853ecaSopenharmony_ci 293da853ecaSopenharmony_ci int32_t trackId = AddTrack(muxerDemo); 294da853ecaSopenharmony_ci ASSERT_EQ(0, trackId); 295da853ecaSopenharmony_ci 296da853ecaSopenharmony_ci ret = Start(muxerDemo); 297da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 298da853ecaSopenharmony_ci 299da853ecaSopenharmony_ci trackId = AddTrack(muxerDemo); 300da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_INVALID_OPERATION, trackId); 301da853ecaSopenharmony_ci 302da853ecaSopenharmony_ci Destroy(muxerDemo); 303da853ecaSopenharmony_ci delete muxerDemo; 304da853ecaSopenharmony_ci} 305da853ecaSopenharmony_ci 306da853ecaSopenharmony_ci 307da853ecaSopenharmony_ci/** 308da853ecaSopenharmony_ci * @tc.number : SUB_MULTIMEDIA_MEDIA_MUXER_INTERFACE_DEPEND_CHECK_010 309da853ecaSopenharmony_ci * @tc.name : Create -> AddTrack -> Start -> Stop -> AddTrack 310da853ecaSopenharmony_ci * @tc.desc : interface depend check 311da853ecaSopenharmony_ci */ 312da853ecaSopenharmony_ciHWTEST_F(InnerAVMuxerInterfaceDependCheckTest, SUB_MULTIMEDIA_MEDIA_MUXER_INTERFACE_DEPEND_CHECK_010, TestSize.Level2) 313da853ecaSopenharmony_ci{ 314da853ecaSopenharmony_ci AVMuxerDemo* muxerDemo = new AVMuxerDemo(); 315da853ecaSopenharmony_ci Create(muxerDemo); 316da853ecaSopenharmony_ci 317da853ecaSopenharmony_ci int32_t ret; 318da853ecaSopenharmony_ci 319da853ecaSopenharmony_ci int32_t trackId = AddTrack(muxerDemo); 320da853ecaSopenharmony_ci ASSERT_EQ(0, trackId); 321da853ecaSopenharmony_ci 322da853ecaSopenharmony_ci ret = Start(muxerDemo); 323da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 324da853ecaSopenharmony_ci 325da853ecaSopenharmony_ci ret = Stop(muxerDemo); 326da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 327da853ecaSopenharmony_ci 328da853ecaSopenharmony_ci trackId = AddTrack(muxerDemo); 329da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_INVALID_OPERATION, trackId); 330da853ecaSopenharmony_ci 331da853ecaSopenharmony_ci Destroy(muxerDemo); 332da853ecaSopenharmony_ci delete muxerDemo; 333da853ecaSopenharmony_ci} 334da853ecaSopenharmony_ci 335da853ecaSopenharmony_ci 336da853ecaSopenharmony_ci/** 337da853ecaSopenharmony_ci * @tc.number : SUB_MULTIMEDIA_MEDIA_MUXER_INTERFACE_DEPEND_CHECK_011 338da853ecaSopenharmony_ci * @tc.name : Create -> Start 339da853ecaSopenharmony_ci * @tc.desc : interface depend check 340da853ecaSopenharmony_ci */ 341da853ecaSopenharmony_ciHWTEST_F(InnerAVMuxerInterfaceDependCheckTest, SUB_MULTIMEDIA_MEDIA_MUXER_INTERFACE_DEPEND_CHECK_011, TestSize.Level2) 342da853ecaSopenharmony_ci{ 343da853ecaSopenharmony_ci AVMuxerDemo* muxerDemo = new AVMuxerDemo(); 344da853ecaSopenharmony_ci Create(muxerDemo); 345da853ecaSopenharmony_ci 346da853ecaSopenharmony_ci int32_t ret; 347da853ecaSopenharmony_ci 348da853ecaSopenharmony_ci ret = Start(muxerDemo); 349da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_INVALID_OPERATION, ret); 350da853ecaSopenharmony_ci 351da853ecaSopenharmony_ci Destroy(muxerDemo); 352da853ecaSopenharmony_ci delete muxerDemo; 353da853ecaSopenharmony_ci} 354da853ecaSopenharmony_ci 355da853ecaSopenharmony_ci 356da853ecaSopenharmony_ci/** 357da853ecaSopenharmony_ci * @tc.number : SUB_MULTIMEDIA_MEDIA_MUXER_INTERFACE_DEPEND_CHECK_012 358da853ecaSopenharmony_ci * @tc.name : Create -> AddTrack -> Start 359da853ecaSopenharmony_ci * @tc.desc : interface depend check 360da853ecaSopenharmony_ci */ 361da853ecaSopenharmony_ciHWTEST_F(InnerAVMuxerInterfaceDependCheckTest, SUB_MULTIMEDIA_MEDIA_MUXER_INTERFACE_DEPEND_CHECK_012, TestSize.Level2) 362da853ecaSopenharmony_ci{ 363da853ecaSopenharmony_ci AVMuxerDemo* muxerDemo = new AVMuxerDemo(); 364da853ecaSopenharmony_ci Create(muxerDemo); 365da853ecaSopenharmony_ci 366da853ecaSopenharmony_ci int32_t ret; 367da853ecaSopenharmony_ci 368da853ecaSopenharmony_ci int32_t trackId = AddTrack(muxerDemo); 369da853ecaSopenharmony_ci ASSERT_EQ(0, trackId); 370da853ecaSopenharmony_ci 371da853ecaSopenharmony_ci ret = Start(muxerDemo); 372da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 373da853ecaSopenharmony_ci 374da853ecaSopenharmony_ci Destroy(muxerDemo); 375da853ecaSopenharmony_ci delete muxerDemo; 376da853ecaSopenharmony_ci} 377da853ecaSopenharmony_ci 378da853ecaSopenharmony_ci/** 379da853ecaSopenharmony_ci * @tc.number : SUB_MULTIMEDIA_MEDIA_MUXER_INTERFACE_DEPEND_CHECK_013 380da853ecaSopenharmony_ci * @tc.name : Create -> SetRotation -> AddTrack -> Start 381da853ecaSopenharmony_ci * @tc.desc : interface depend check 382da853ecaSopenharmony_ci */ 383da853ecaSopenharmony_ciHWTEST_F(InnerAVMuxerInterfaceDependCheckTest, SUB_MULTIMEDIA_MEDIA_MUXER_INTERFACE_DEPEND_CHECK_013, TestSize.Level2) 384da853ecaSopenharmony_ci{ 385da853ecaSopenharmony_ci AVMuxerDemo* muxerDemo = new AVMuxerDemo(); 386da853ecaSopenharmony_ci Create(muxerDemo); 387da853ecaSopenharmony_ci 388da853ecaSopenharmony_ci int32_t ret; 389da853ecaSopenharmony_ci 390da853ecaSopenharmony_ci ret = SetRotation(muxerDemo); 391da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 392da853ecaSopenharmony_ci 393da853ecaSopenharmony_ci int32_t trackId = AddTrack(muxerDemo); 394da853ecaSopenharmony_ci ASSERT_EQ(0, trackId); 395da853ecaSopenharmony_ci 396da853ecaSopenharmony_ci ret = Start(muxerDemo); 397da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 398da853ecaSopenharmony_ci 399da853ecaSopenharmony_ci Destroy(muxerDemo); 400da853ecaSopenharmony_ci delete muxerDemo; 401da853ecaSopenharmony_ci} 402da853ecaSopenharmony_ci 403da853ecaSopenharmony_ci/** 404da853ecaSopenharmony_ci * @tc.number : SUB_MULTIMEDIA_MEDIA_MUXER_INTERFACE_DEPEND_CHECK_014 405da853ecaSopenharmony_ci * @tc.name : Create -> AddTrack -> Start -> Start 406da853ecaSopenharmony_ci * @tc.desc : interface depend check 407da853ecaSopenharmony_ci */ 408da853ecaSopenharmony_ciHWTEST_F(InnerAVMuxerInterfaceDependCheckTest, SUB_MULTIMEDIA_MEDIA_MUXER_INTERFACE_DEPEND_CHECK_014, TestSize.Level2) 409da853ecaSopenharmony_ci{ 410da853ecaSopenharmony_ci AVMuxerDemo* muxerDemo = new AVMuxerDemo(); 411da853ecaSopenharmony_ci Create(muxerDemo); 412da853ecaSopenharmony_ci 413da853ecaSopenharmony_ci int32_t ret; 414da853ecaSopenharmony_ci 415da853ecaSopenharmony_ci int32_t trackId = AddTrack(muxerDemo); 416da853ecaSopenharmony_ci ASSERT_EQ(0, trackId); 417da853ecaSopenharmony_ci 418da853ecaSopenharmony_ci ret = Start(muxerDemo); 419da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 420da853ecaSopenharmony_ci 421da853ecaSopenharmony_ci ret = Start(muxerDemo); 422da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_INVALID_OPERATION, ret); 423da853ecaSopenharmony_ci 424da853ecaSopenharmony_ci Destroy(muxerDemo); 425da853ecaSopenharmony_ci delete muxerDemo; 426da853ecaSopenharmony_ci} 427da853ecaSopenharmony_ci 428da853ecaSopenharmony_ci 429da853ecaSopenharmony_ci/** 430da853ecaSopenharmony_ci * @tc.number : SUB_MULTIMEDIA_MEDIA_MUXER_INTERFACE_DEPEND_CHECK_015 431da853ecaSopenharmony_ci * @tc.name : Create -> AddTrack -> Start -> Stop -> Start 432da853ecaSopenharmony_ci * @tc.desc : interface depend check 433da853ecaSopenharmony_ci */ 434da853ecaSopenharmony_ciHWTEST_F(InnerAVMuxerInterfaceDependCheckTest, SUB_MULTIMEDIA_MEDIA_MUXER_INTERFACE_DEPEND_CHECK_015, TestSize.Level2) 435da853ecaSopenharmony_ci{ 436da853ecaSopenharmony_ci AVMuxerDemo* muxerDemo = new AVMuxerDemo(); 437da853ecaSopenharmony_ci Create(muxerDemo); 438da853ecaSopenharmony_ci 439da853ecaSopenharmony_ci int32_t ret; 440da853ecaSopenharmony_ci 441da853ecaSopenharmony_ci int32_t trackId = AddTrack(muxerDemo); 442da853ecaSopenharmony_ci ASSERT_EQ(0, trackId); 443da853ecaSopenharmony_ci 444da853ecaSopenharmony_ci ret = Start(muxerDemo); 445da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 446da853ecaSopenharmony_ci 447da853ecaSopenharmony_ci ret = Stop(muxerDemo); 448da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 449da853ecaSopenharmony_ci 450da853ecaSopenharmony_ci ret = Start(muxerDemo); 451da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_INVALID_OPERATION, ret); 452da853ecaSopenharmony_ci 453da853ecaSopenharmony_ci Destroy(muxerDemo); 454da853ecaSopenharmony_ci delete muxerDemo; 455da853ecaSopenharmony_ci} 456da853ecaSopenharmony_ci 457da853ecaSopenharmony_ci 458da853ecaSopenharmony_ci/** 459da853ecaSopenharmony_ci * @tc.number : SUB_MULTIMEDIA_MEDIA_MUXER_INTERFACE_DEPEND_CHECK_016 460da853ecaSopenharmony_ci * @tc.name : Create -> WriteSample 461da853ecaSopenharmony_ci * @tc.desc : interface depend check 462da853ecaSopenharmony_ci */ 463da853ecaSopenharmony_ciHWTEST_F(InnerAVMuxerInterfaceDependCheckTest, SUB_MULTIMEDIA_MEDIA_MUXER_INTERFACE_DEPEND_CHECK_016, TestSize.Level2) 464da853ecaSopenharmony_ci{ 465da853ecaSopenharmony_ci AVMuxerDemo* muxerDemo = new AVMuxerDemo(); 466da853ecaSopenharmony_ci Create(muxerDemo); 467da853ecaSopenharmony_ci 468da853ecaSopenharmony_ci int32_t ret; 469da853ecaSopenharmony_ci int32_t trackId = -1; 470da853ecaSopenharmony_ci 471da853ecaSopenharmony_ci ret = WriteSample(muxerDemo, trackId); 472da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_INVALID_OPERATION, ret); 473da853ecaSopenharmony_ci 474da853ecaSopenharmony_ci Destroy(muxerDemo); 475da853ecaSopenharmony_ci delete muxerDemo; 476da853ecaSopenharmony_ci} 477da853ecaSopenharmony_ci 478da853ecaSopenharmony_ci 479da853ecaSopenharmony_ci/** 480da853ecaSopenharmony_ci * @tc.number : SUB_MULTIMEDIA_MEDIA_MUXER_INTERFACE_DEPEND_CHECK_017 481da853ecaSopenharmony_ci * @tc.name : Create -> AddTrack -> WriteSample 482da853ecaSopenharmony_ci * @tc.desc : interface depend check 483da853ecaSopenharmony_ci */ 484da853ecaSopenharmony_ciHWTEST_F(InnerAVMuxerInterfaceDependCheckTest, SUB_MULTIMEDIA_MEDIA_MUXER_INTERFACE_DEPEND_CHECK_017, TestSize.Level2) 485da853ecaSopenharmony_ci{ 486da853ecaSopenharmony_ci AVMuxerDemo* muxerDemo = new AVMuxerDemo(); 487da853ecaSopenharmony_ci Create(muxerDemo); 488da853ecaSopenharmony_ci 489da853ecaSopenharmony_ci int32_t ret; 490da853ecaSopenharmony_ci int32_t trackId = -1; 491da853ecaSopenharmony_ci 492da853ecaSopenharmony_ci trackId = AddTrack(muxerDemo); 493da853ecaSopenharmony_ci ASSERT_EQ(0, trackId); 494da853ecaSopenharmony_ci 495da853ecaSopenharmony_ci ret = WriteSample(muxerDemo, trackId); 496da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_INVALID_OPERATION, ret); 497da853ecaSopenharmony_ci 498da853ecaSopenharmony_ci Destroy(muxerDemo); 499da853ecaSopenharmony_ci delete muxerDemo; 500da853ecaSopenharmony_ci} 501da853ecaSopenharmony_ci 502da853ecaSopenharmony_ci 503da853ecaSopenharmony_ci/** 504da853ecaSopenharmony_ci * @tc.number : SUB_MULTIMEDIA_MEDIA_MUXER_INTERFACE_DEPEND_CHECK_018 505da853ecaSopenharmony_ci * @tc.name : Create -> SetRotation -> AddTrack -> Start -> WriteSampleBuffer 506da853ecaSopenharmony_ci * @tc.desc : interface depend check 507da853ecaSopenharmony_ci */ 508da853ecaSopenharmony_ciHWTEST_F(InnerAVMuxerInterfaceDependCheckTest, SUB_MULTIMEDIA_MEDIA_MUXER_INTERFACE_DEPEND_CHECK_018, TestSize.Level2) 509da853ecaSopenharmony_ci{ 510da853ecaSopenharmony_ci AVMuxerDemo* muxerDemo = new AVMuxerDemo(); 511da853ecaSopenharmony_ci Create(muxerDemo); 512da853ecaSopenharmony_ci 513da853ecaSopenharmony_ci int32_t ret; 514da853ecaSopenharmony_ci int32_t trackId = -1; 515da853ecaSopenharmony_ci 516da853ecaSopenharmony_ci ret = SetRotation(muxerDemo); 517da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 518da853ecaSopenharmony_ci 519da853ecaSopenharmony_ci trackId = AddTrack(muxerDemo); 520da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, trackId); 521da853ecaSopenharmony_ci 522da853ecaSopenharmony_ci ret = Start(muxerDemo); 523da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 524da853ecaSopenharmony_ci 525da853ecaSopenharmony_ci ret = WriteSample(muxerDemo, trackId); 526da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 527da853ecaSopenharmony_ci 528da853ecaSopenharmony_ci Destroy(muxerDemo); 529da853ecaSopenharmony_ci delete muxerDemo; 530da853ecaSopenharmony_ci} 531da853ecaSopenharmony_ci 532da853ecaSopenharmony_ci 533da853ecaSopenharmony_ci/** 534da853ecaSopenharmony_ci * @tc.number : SUB_MULTIMEDIA_MEDIA_MUXER_INTERFACE_DEPEND_CHECK_019 535da853ecaSopenharmony_ci * @tc.name : Create -> AddTrack -> Start -> WriteSample 536da853ecaSopenharmony_ci * @tc.desc : interface depend check 537da853ecaSopenharmony_ci */ 538da853ecaSopenharmony_ciHWTEST_F(InnerAVMuxerInterfaceDependCheckTest, SUB_MULTIMEDIA_MEDIA_MUXER_INTERFACE_DEPEND_CHECK_019, TestSize.Level2) 539da853ecaSopenharmony_ci{ 540da853ecaSopenharmony_ci AVMuxerDemo* muxerDemo = new AVMuxerDemo(); 541da853ecaSopenharmony_ci Create(muxerDemo); 542da853ecaSopenharmony_ci 543da853ecaSopenharmony_ci int32_t ret; 544da853ecaSopenharmony_ci int32_t trackId = -1; 545da853ecaSopenharmony_ci 546da853ecaSopenharmony_ci trackId = AddTrack(muxerDemo); 547da853ecaSopenharmony_ci ASSERT_EQ(0, trackId); 548da853ecaSopenharmony_ci 549da853ecaSopenharmony_ci ret = Start(muxerDemo); 550da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 551da853ecaSopenharmony_ci 552da853ecaSopenharmony_ci ret = WriteSample(muxerDemo, trackId); 553da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 554da853ecaSopenharmony_ci 555da853ecaSopenharmony_ci Destroy(muxerDemo); 556da853ecaSopenharmony_ci delete muxerDemo; 557da853ecaSopenharmony_ci} 558da853ecaSopenharmony_ci 559da853ecaSopenharmony_ci 560da853ecaSopenharmony_ci/** 561da853ecaSopenharmony_ci * @tc.number : SUB_MULTIMEDIA_MEDIA_MUXER_INTERFACE_DEPEND_CHECK_020 562da853ecaSopenharmony_ci * @tc.name : Create -> AddTrack -> Start -> WriteSample -> WriteSample 563da853ecaSopenharmony_ci * @tc.desc : interface depend check 564da853ecaSopenharmony_ci */ 565da853ecaSopenharmony_ciHWTEST_F(InnerAVMuxerInterfaceDependCheckTest, SUB_MULTIMEDIA_MEDIA_MUXER_INTERFACE_DEPEND_CHECK_020, TestSize.Level2) 566da853ecaSopenharmony_ci{ 567da853ecaSopenharmony_ci AVMuxerDemo* muxerDemo = new AVMuxerDemo(); 568da853ecaSopenharmony_ci Create(muxerDemo); 569da853ecaSopenharmony_ci 570da853ecaSopenharmony_ci int32_t ret; 571da853ecaSopenharmony_ci int32_t trackId = -1; 572da853ecaSopenharmony_ci 573da853ecaSopenharmony_ci trackId = AddTrack(muxerDemo); 574da853ecaSopenharmony_ci ASSERT_EQ(0, trackId); 575da853ecaSopenharmony_ci 576da853ecaSopenharmony_ci ret = Start(muxerDemo); 577da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 578da853ecaSopenharmony_ci 579da853ecaSopenharmony_ci ret = WriteSample(muxerDemo, trackId); 580da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 581da853ecaSopenharmony_ci 582da853ecaSopenharmony_ci ret = WriteSample(muxerDemo, trackId); 583da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 584da853ecaSopenharmony_ci 585da853ecaSopenharmony_ci Destroy(muxerDemo); 586da853ecaSopenharmony_ci delete muxerDemo; 587da853ecaSopenharmony_ci} 588da853ecaSopenharmony_ci 589da853ecaSopenharmony_ci 590da853ecaSopenharmony_ci/** 591da853ecaSopenharmony_ci * @tc.number : SUB_MULTIMEDIA_MEDIA_MUXER_INTERFACE_DEPEND_CHECK_021 592da853ecaSopenharmony_ci * @tc.name : Create -> AddTrack -> Start -> Stop -> WriteSample 593da853ecaSopenharmony_ci * @tc.desc : interface depend check 594da853ecaSopenharmony_ci */ 595da853ecaSopenharmony_ciHWTEST_F(InnerAVMuxerInterfaceDependCheckTest, SUB_MULTIMEDIA_MEDIA_MUXER_INTERFACE_DEPEND_CHECK_021, TestSize.Level2) 596da853ecaSopenharmony_ci{ 597da853ecaSopenharmony_ci AVMuxerDemo* muxerDemo = new AVMuxerDemo(); 598da853ecaSopenharmony_ci Create(muxerDemo); 599da853ecaSopenharmony_ci 600da853ecaSopenharmony_ci int32_t ret; 601da853ecaSopenharmony_ci int32_t trackId = -1; 602da853ecaSopenharmony_ci 603da853ecaSopenharmony_ci trackId = AddTrack(muxerDemo); 604da853ecaSopenharmony_ci ASSERT_EQ(0, trackId); 605da853ecaSopenharmony_ci 606da853ecaSopenharmony_ci ret = Start(muxerDemo); 607da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 608da853ecaSopenharmony_ci 609da853ecaSopenharmony_ci ret = Stop(muxerDemo); 610da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 611da853ecaSopenharmony_ci 612da853ecaSopenharmony_ci ret = WriteSample(muxerDemo, trackId); 613da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_INVALID_OPERATION, ret); 614da853ecaSopenharmony_ci 615da853ecaSopenharmony_ci Destroy(muxerDemo); 616da853ecaSopenharmony_ci delete muxerDemo; 617da853ecaSopenharmony_ci} 618da853ecaSopenharmony_ci 619da853ecaSopenharmony_ci 620da853ecaSopenharmony_ci/** 621da853ecaSopenharmony_ci * @tc.number : SUB_MULTIMEDIA_MEDIA_MUXER_INTERFACE_DEPEND_CHECK_022 622da853ecaSopenharmony_ci * @tc.name : Create -> Stop 623da853ecaSopenharmony_ci * @tc.desc : interface depend check 624da853ecaSopenharmony_ci */ 625da853ecaSopenharmony_ciHWTEST_F(InnerAVMuxerInterfaceDependCheckTest, SUB_MULTIMEDIA_MEDIA_MUXER_INTERFACE_DEPEND_CHECK_022, TestSize.Level2) 626da853ecaSopenharmony_ci{ 627da853ecaSopenharmony_ci AVMuxerDemo* muxerDemo = new AVMuxerDemo(); 628da853ecaSopenharmony_ci Create(muxerDemo); 629da853ecaSopenharmony_ci 630da853ecaSopenharmony_ci int32_t ret; 631da853ecaSopenharmony_ci 632da853ecaSopenharmony_ci ret = Stop(muxerDemo); 633da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_INVALID_OPERATION, ret); 634da853ecaSopenharmony_ci 635da853ecaSopenharmony_ci Destroy(muxerDemo); 636da853ecaSopenharmony_ci delete muxerDemo; 637da853ecaSopenharmony_ci} 638da853ecaSopenharmony_ci 639da853ecaSopenharmony_ci 640da853ecaSopenharmony_ci/** 641da853ecaSopenharmony_ci * @tc.number : SUB_MULTIMEDIA_MEDIA_MUXER_INTERFACE_DEPEND_CHECK_023 642da853ecaSopenharmony_ci * @tc.name : Create -> AddTrack -> Stop 643da853ecaSopenharmony_ci * @tc.desc : interface depend check 644da853ecaSopenharmony_ci */ 645da853ecaSopenharmony_ciHWTEST_F(InnerAVMuxerInterfaceDependCheckTest, SUB_MULTIMEDIA_MEDIA_MUXER_INTERFACE_DEPEND_CHECK_023, TestSize.Level2) 646da853ecaSopenharmony_ci{ 647da853ecaSopenharmony_ci AVMuxerDemo* muxerDemo = new AVMuxerDemo(); 648da853ecaSopenharmony_ci Create(muxerDemo); 649da853ecaSopenharmony_ci 650da853ecaSopenharmony_ci int32_t ret; 651da853ecaSopenharmony_ci 652da853ecaSopenharmony_ci int32_t trackId = AddTrack(muxerDemo); 653da853ecaSopenharmony_ci ASSERT_EQ(0, trackId); 654da853ecaSopenharmony_ci 655da853ecaSopenharmony_ci ret = Stop(muxerDemo); 656da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_INVALID_OPERATION, ret); 657da853ecaSopenharmony_ci 658da853ecaSopenharmony_ci Destroy(muxerDemo); 659da853ecaSopenharmony_ci delete muxerDemo; 660da853ecaSopenharmony_ci} 661da853ecaSopenharmony_ci 662da853ecaSopenharmony_ci 663da853ecaSopenharmony_ci/** 664da853ecaSopenharmony_ci * @tc.number : SUB_MULTIMEDIA_MEDIA_MUXER_INTERFACE_DEPEND_CHECK_024 665da853ecaSopenharmony_ci * @tc.name : Create -> AddTrack -> Start -> Stop 666da853ecaSopenharmony_ci * @tc.desc : interface depend check 667da853ecaSopenharmony_ci */ 668da853ecaSopenharmony_ciHWTEST_F(InnerAVMuxerInterfaceDependCheckTest, SUB_MULTIMEDIA_MEDIA_MUXER_INTERFACE_DEPEND_CHECK_024, TestSize.Level2) 669da853ecaSopenharmony_ci{ 670da853ecaSopenharmony_ci AVMuxerDemo* muxerDemo = new AVMuxerDemo(); 671da853ecaSopenharmony_ci Create(muxerDemo); 672da853ecaSopenharmony_ci 673da853ecaSopenharmony_ci int32_t ret; 674da853ecaSopenharmony_ci 675da853ecaSopenharmony_ci int32_t trackId = AddTrack(muxerDemo); 676da853ecaSopenharmony_ci ASSERT_EQ(0, trackId); 677da853ecaSopenharmony_ci 678da853ecaSopenharmony_ci ret = Start(muxerDemo); 679da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 680da853ecaSopenharmony_ci 681da853ecaSopenharmony_ci ret = Stop(muxerDemo); 682da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 683da853ecaSopenharmony_ci 684da853ecaSopenharmony_ci Destroy(muxerDemo); 685da853ecaSopenharmony_ci delete muxerDemo; 686da853ecaSopenharmony_ci} 687da853ecaSopenharmony_ci 688da853ecaSopenharmony_ci/** 689da853ecaSopenharmony_ci * @tc.number : SUB_MULTIMEDIA_MEDIA_MUXER_INTERFACE_DEPEND_CHECK_025 690da853ecaSopenharmony_ci * @tc.name : Create -> SetRotation -> AddTrack -> Start -> Stop 691da853ecaSopenharmony_ci * @tc.desc : interface depend check 692da853ecaSopenharmony_ci */ 693da853ecaSopenharmony_ciHWTEST_F(InnerAVMuxerInterfaceDependCheckTest, SUB_MULTIMEDIA_MEDIA_MUXER_INTERFACE_DEPEND_CHECK_025, TestSize.Level2) 694da853ecaSopenharmony_ci{ 695da853ecaSopenharmony_ci AVMuxerDemo* muxerDemo = new AVMuxerDemo(); 696da853ecaSopenharmony_ci Create(muxerDemo); 697da853ecaSopenharmony_ci 698da853ecaSopenharmony_ci int32_t ret; 699da853ecaSopenharmony_ci 700da853ecaSopenharmony_ci ret = SetRotation(muxerDemo); 701da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 702da853ecaSopenharmony_ci 703da853ecaSopenharmony_ci int32_t trackId = AddTrack(muxerDemo); 704da853ecaSopenharmony_ci ASSERT_EQ(0, trackId); 705da853ecaSopenharmony_ci 706da853ecaSopenharmony_ci ret = Start(muxerDemo); 707da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 708da853ecaSopenharmony_ci 709da853ecaSopenharmony_ci ret = Stop(muxerDemo); 710da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 711da853ecaSopenharmony_ci 712da853ecaSopenharmony_ci Destroy(muxerDemo); 713da853ecaSopenharmony_ci delete muxerDemo; 714da853ecaSopenharmony_ci} 715da853ecaSopenharmony_ci 716da853ecaSopenharmony_ci 717da853ecaSopenharmony_ci/** 718da853ecaSopenharmony_ci * @tc.number : SUB_MULTIMEDIA_MEDIA_MUXER_INTERFACE_DEPEND_CHECK_026 719da853ecaSopenharmony_ci * @tc.name : Create -> AddTrack -> Start -> WriteSample -> Stop -> Stop 720da853ecaSopenharmony_ci * @tc.desc : interface depend check 721da853ecaSopenharmony_ci */ 722da853ecaSopenharmony_ciHWTEST_F(InnerAVMuxerInterfaceDependCheckTest, SUB_MULTIMEDIA_MEDIA_MUXER_INTERFACE_DEPEND_CHECK_026, TestSize.Level2) 723da853ecaSopenharmony_ci{ 724da853ecaSopenharmony_ci AVMuxerDemo* muxerDemo = new AVMuxerDemo(); 725da853ecaSopenharmony_ci Create(muxerDemo); 726da853ecaSopenharmony_ci 727da853ecaSopenharmony_ci int32_t ret; 728da853ecaSopenharmony_ci 729da853ecaSopenharmony_ci int32_t trackId = AddTrack(muxerDemo); 730da853ecaSopenharmony_ci ASSERT_EQ(0, trackId); 731da853ecaSopenharmony_ci 732da853ecaSopenharmony_ci ret = Start(muxerDemo); 733da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 734da853ecaSopenharmony_ci 735da853ecaSopenharmony_ci ret = WriteSample(muxerDemo, trackId); 736da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 737da853ecaSopenharmony_ci 738da853ecaSopenharmony_ci ret = Stop(muxerDemo); 739da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 740da853ecaSopenharmony_ci 741da853ecaSopenharmony_ci ret = Stop(muxerDemo); 742da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_INVALID_OPERATION, ret); 743da853ecaSopenharmony_ci 744da853ecaSopenharmony_ci Destroy(muxerDemo); 745da853ecaSopenharmony_ci delete muxerDemo; 746da853ecaSopenharmony_ci} 747da853ecaSopenharmony_ci 748da853ecaSopenharmony_ci 749da853ecaSopenharmony_ci/** 750da853ecaSopenharmony_ci * @tc.number : SUB_MULTIMEDIA_MEDIA_MUXER_INTERFACE_DEPEND_CHECK_027 751da853ecaSopenharmony_ci * @tc.name : Create -> Destroy 752da853ecaSopenharmony_ci * @tc.desc : interface depend check 753da853ecaSopenharmony_ci */ 754da853ecaSopenharmony_ciHWTEST_F(InnerAVMuxerInterfaceDependCheckTest, SUB_MULTIMEDIA_MEDIA_MUXER_INTERFACE_DEPEND_CHECK_027, TestSize.Level2) 755da853ecaSopenharmony_ci{ 756da853ecaSopenharmony_ci AVMuxerDemo* muxerDemo = new AVMuxerDemo(); 757da853ecaSopenharmony_ci Create(muxerDemo); 758da853ecaSopenharmony_ci 759da853ecaSopenharmony_ci int32_t ret; 760da853ecaSopenharmony_ci 761da853ecaSopenharmony_ci ret = Destroy(muxerDemo); 762da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 763da853ecaSopenharmony_ci 764da853ecaSopenharmony_ci delete muxerDemo; 765da853ecaSopenharmony_ci} 766da853ecaSopenharmony_ci 767da853ecaSopenharmony_ci/** 768da853ecaSopenharmony_ci * @tc.number : SUB_MULTIMEDIA_MEDIA_MUXER_INTERFACE_DEPEND_CHECK_028 769da853ecaSopenharmony_ci * @tc.name : Create -> SetRotation -> Destroy 770da853ecaSopenharmony_ci * @tc.desc : interface depend check 771da853ecaSopenharmony_ci */ 772da853ecaSopenharmony_ciHWTEST_F(InnerAVMuxerInterfaceDependCheckTest, SUB_MULTIMEDIA_MEDIA_MUXER_INTERFACE_DEPEND_CHECK_028, TestSize.Level2) 773da853ecaSopenharmony_ci{ 774da853ecaSopenharmony_ci AVMuxerDemo* muxerDemo = new AVMuxerDemo(); 775da853ecaSopenharmony_ci Create(muxerDemo); 776da853ecaSopenharmony_ci 777da853ecaSopenharmony_ci int32_t ret; 778da853ecaSopenharmony_ci 779da853ecaSopenharmony_ci ret = SetRotation(muxerDemo); 780da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 781da853ecaSopenharmony_ci 782da853ecaSopenharmony_ci ret = Destroy(muxerDemo); 783da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 784da853ecaSopenharmony_ci 785da853ecaSopenharmony_ci delete muxerDemo; 786da853ecaSopenharmony_ci} 787da853ecaSopenharmony_ci 788da853ecaSopenharmony_ci/** 789da853ecaSopenharmony_ci * @tc.number : SUB_MULTIMEDIA_MEDIA_MUXER_INTERFACE_DEPEND_CHECK_029 790da853ecaSopenharmony_ci * @tc.name : Create -> AddTrack -> Destroy 791da853ecaSopenharmony_ci * @tc.desc : interface depend check 792da853ecaSopenharmony_ci */ 793da853ecaSopenharmony_ciHWTEST_F(InnerAVMuxerInterfaceDependCheckTest, SUB_MULTIMEDIA_MEDIA_MUXER_INTERFACE_DEPEND_CHECK_029, TestSize.Level2) 794da853ecaSopenharmony_ci{ 795da853ecaSopenharmony_ci AVMuxerDemo* muxerDemo = new AVMuxerDemo(); 796da853ecaSopenharmony_ci Create(muxerDemo); 797da853ecaSopenharmony_ci 798da853ecaSopenharmony_ci int32_t ret; 799da853ecaSopenharmony_ci 800da853ecaSopenharmony_ci int32_t trackId = AddTrack(muxerDemo); 801da853ecaSopenharmony_ci ASSERT_EQ(0, trackId); 802da853ecaSopenharmony_ci 803da853ecaSopenharmony_ci ret = Destroy(muxerDemo); 804da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 805da853ecaSopenharmony_ci 806da853ecaSopenharmony_ci delete muxerDemo; 807da853ecaSopenharmony_ci} 808da853ecaSopenharmony_ci 809da853ecaSopenharmony_ci 810da853ecaSopenharmony_ci/** 811da853ecaSopenharmony_ci * @tc.number : SUB_MULTIMEDIA_MEDIA_MUXER_INTERFACE_DEPEND_CHECK_030 812da853ecaSopenharmony_ci * @tc.name : Create -> AddTrack -> Start -> Destroy 813da853ecaSopenharmony_ci * @tc.desc : interface depend check 814da853ecaSopenharmony_ci */ 815da853ecaSopenharmony_ciHWTEST_F(InnerAVMuxerInterfaceDependCheckTest, SUB_MULTIMEDIA_MEDIA_MUXER_INTERFACE_DEPEND_CHECK_030, TestSize.Level2) 816da853ecaSopenharmony_ci{ 817da853ecaSopenharmony_ci AVMuxerDemo* muxerDemo = new AVMuxerDemo(); 818da853ecaSopenharmony_ci Create(muxerDemo); 819da853ecaSopenharmony_ci 820da853ecaSopenharmony_ci int32_t ret; 821da853ecaSopenharmony_ci 822da853ecaSopenharmony_ci int32_t trackId = AddTrack(muxerDemo); 823da853ecaSopenharmony_ci ASSERT_EQ(0, trackId); 824da853ecaSopenharmony_ci 825da853ecaSopenharmony_ci ret = Start(muxerDemo); 826da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 827da853ecaSopenharmony_ci 828da853ecaSopenharmony_ci ret = Destroy(muxerDemo); 829da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 830da853ecaSopenharmony_ci 831da853ecaSopenharmony_ci delete muxerDemo; 832da853ecaSopenharmony_ci} 833da853ecaSopenharmony_ci 834da853ecaSopenharmony_ci 835da853ecaSopenharmony_ci/** 836da853ecaSopenharmony_ci * @tc.number : SUB_MULTIMEDIA_MEDIA_MUXER_INTERFACE_DEPEND_CHECK_031 837da853ecaSopenharmony_ci * @tc.name : Create -> AddTrack -> Start -> WriteSample -> Destroy 838da853ecaSopenharmony_ci * @tc.desc : interface depend check 839da853ecaSopenharmony_ci */ 840da853ecaSopenharmony_ciHWTEST_F(InnerAVMuxerInterfaceDependCheckTest, SUB_MULTIMEDIA_MEDIA_MUXER_INTERFACE_DEPEND_CHECK_031, TestSize.Level2) 841da853ecaSopenharmony_ci{ 842da853ecaSopenharmony_ci AVMuxerDemo* muxerDemo = new AVMuxerDemo(); 843da853ecaSopenharmony_ci Create(muxerDemo); 844da853ecaSopenharmony_ci 845da853ecaSopenharmony_ci int32_t ret; 846da853ecaSopenharmony_ci 847da853ecaSopenharmony_ci int32_t trackId = AddTrack(muxerDemo); 848da853ecaSopenharmony_ci ASSERT_EQ(0, trackId); 849da853ecaSopenharmony_ci 850da853ecaSopenharmony_ci ret = Start(muxerDemo); 851da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 852da853ecaSopenharmony_ci 853da853ecaSopenharmony_ci ret = WriteSample(muxerDemo, trackId); 854da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 855da853ecaSopenharmony_ci 856da853ecaSopenharmony_ci ret = Destroy(muxerDemo); 857da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 858da853ecaSopenharmony_ci 859da853ecaSopenharmony_ci delete muxerDemo; 860da853ecaSopenharmony_ci} 861da853ecaSopenharmony_ci 862da853ecaSopenharmony_ci 863da853ecaSopenharmony_ci/** 864da853ecaSopenharmony_ci * @tc.number : SUB_MULTIMEDIA_MEDIA_MUXER_INTERFACE_DEPEND_CHECK_032 865da853ecaSopenharmony_ci * @tc.name : Create -> AddTrack -> Start -> WriteSample -> Stop -> Destroy 866da853ecaSopenharmony_ci * @tc.desc : interface depend check 867da853ecaSopenharmony_ci */ 868da853ecaSopenharmony_ciHWTEST_F(InnerAVMuxerInterfaceDependCheckTest, SUB_MULTIMEDIA_MEDIA_MUXER_INTERFACE_DEPEND_CHECK_032, TestSize.Level2) 869da853ecaSopenharmony_ci{ 870da853ecaSopenharmony_ci AVMuxerDemo* muxerDemo = new AVMuxerDemo(); 871da853ecaSopenharmony_ci Create(muxerDemo); 872da853ecaSopenharmony_ci 873da853ecaSopenharmony_ci int32_t ret; 874da853ecaSopenharmony_ci 875da853ecaSopenharmony_ci int32_t trackId = AddTrack(muxerDemo); 876da853ecaSopenharmony_ci ASSERT_EQ(0, trackId); 877da853ecaSopenharmony_ci 878da853ecaSopenharmony_ci ret = Start(muxerDemo); 879da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 880da853ecaSopenharmony_ci 881da853ecaSopenharmony_ci ret = WriteSample(muxerDemo, trackId); 882da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 883da853ecaSopenharmony_ci 884da853ecaSopenharmony_ci ret = Stop(muxerDemo); 885da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 886da853ecaSopenharmony_ci 887da853ecaSopenharmony_ci ret = Destroy(muxerDemo); 888da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 889da853ecaSopenharmony_ci 890da853ecaSopenharmony_ci delete muxerDemo; 891da853ecaSopenharmony_ci} 892da853ecaSopenharmony_ci 893da853ecaSopenharmony_ci 894da853ecaSopenharmony_ci/** 895da853ecaSopenharmony_ci * @tc.number : SUB_MULTIMEDIA_MEDIA_MUXER_INTERFACE_DEPEND_CHECK_033 896da853ecaSopenharmony_ci * @tc.name : Create -> SetRotation -> AddTrack -> Start -> WriteSample -> Stop -> Destroy 897da853ecaSopenharmony_ci * @tc.desc : interface depend check 898da853ecaSopenharmony_ci */ 899da853ecaSopenharmony_ciHWTEST_F(InnerAVMuxerInterfaceDependCheckTest, SUB_MULTIMEDIA_MEDIA_MUXER_INTERFACE_DEPEND_CHECK_033, TestSize.Level2) 900da853ecaSopenharmony_ci{ 901da853ecaSopenharmony_ci AVMuxerDemo* muxerDemo = new AVMuxerDemo(); 902da853ecaSopenharmony_ci Create(muxerDemo); 903da853ecaSopenharmony_ci 904da853ecaSopenharmony_ci int32_t ret; 905da853ecaSopenharmony_ci 906da853ecaSopenharmony_ci ret = SetRotation(muxerDemo); 907da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 908da853ecaSopenharmony_ci 909da853ecaSopenharmony_ci int32_t trackId = AddTrack(muxerDemo); 910da853ecaSopenharmony_ci ASSERT_EQ(0, trackId); 911da853ecaSopenharmony_ci 912da853ecaSopenharmony_ci ret = Start(muxerDemo); 913da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 914da853ecaSopenharmony_ci 915da853ecaSopenharmony_ci ret = WriteSample(muxerDemo, trackId); 916da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 917da853ecaSopenharmony_ci 918da853ecaSopenharmony_ci ret = Stop(muxerDemo); 919da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 920da853ecaSopenharmony_ci 921da853ecaSopenharmony_ci ret = Destroy(muxerDemo); 922da853ecaSopenharmony_ci ASSERT_EQ(AVCS_ERR_OK, ret); 923da853ecaSopenharmony_ci 924da853ecaSopenharmony_ci delete muxerDemo; 925da853ecaSopenharmony_ci}