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 20da853ecaSopenharmony_ciusing namespace std; 21da853ecaSopenharmony_ciusing namespace testing::ext; 22da853ecaSopenharmony_ciusing namespace OHOS; 23da853ecaSopenharmony_ciusing namespace OHOS::MediaAVCodec; 24da853ecaSopenharmony_ci 25da853ecaSopenharmony_ci 26da853ecaSopenharmony_cinamespace { 27da853ecaSopenharmony_ci class NativeAVMuxerInterfaceDependCheckTest : public testing::Test { 28da853ecaSopenharmony_ci public: 29da853ecaSopenharmony_ci static void SetUpTestCase(); 30da853ecaSopenharmony_ci static void TearDownTestCase(); 31da853ecaSopenharmony_ci void SetUp() override; 32da853ecaSopenharmony_ci void TearDown() override; 33da853ecaSopenharmony_ci }; 34da853ecaSopenharmony_ci 35da853ecaSopenharmony_ci void NativeAVMuxerInterfaceDependCheckTest::SetUpTestCase() {} 36da853ecaSopenharmony_ci void NativeAVMuxerInterfaceDependCheckTest::TearDownTestCase() {} 37da853ecaSopenharmony_ci void NativeAVMuxerInterfaceDependCheckTest::SetUp() {} 38da853ecaSopenharmony_ci void NativeAVMuxerInterfaceDependCheckTest::TearDown() {} 39da853ecaSopenharmony_ci 40da853ecaSopenharmony_ci constexpr int64_t BITRATE = 32000; 41da853ecaSopenharmony_ci constexpr int32_t CODEC_CONFIG = 100; 42da853ecaSopenharmony_ci constexpr int32_t CHANNEL_COUNT = 1; 43da853ecaSopenharmony_ci constexpr int32_t SAMPLE_RATE = 48000; 44da853ecaSopenharmony_ci constexpr int32_t PROFILE = 0; 45da853ecaSopenharmony_ci constexpr int32_t INFO_SIZE = 100; 46da853ecaSopenharmony_ci 47da853ecaSopenharmony_ci OH_AVMuxer* Create(AVMuxerDemo* muxerDemo) 48da853ecaSopenharmony_ci { 49da853ecaSopenharmony_ci OH_AVOutputFormat format = AV_OUTPUT_FORMAT_MPEG_4; 50da853ecaSopenharmony_ci OH_AVMuxer* handle = nullptr; 51da853ecaSopenharmony_ci int32_t fd = muxerDemo->GetFdByMode(format); 52da853ecaSopenharmony_ci handle = muxerDemo->NativeCreate(fd, format); 53da853ecaSopenharmony_ci 54da853ecaSopenharmony_ci return handle; 55da853ecaSopenharmony_ci } 56da853ecaSopenharmony_ci 57da853ecaSopenharmony_ci OH_AVErrCode SetRotation(AVMuxerDemo* muxerDemo, OH_AVMuxer* handle) 58da853ecaSopenharmony_ci { 59da853ecaSopenharmony_ci int32_t rotation = 0; 60da853ecaSopenharmony_ci 61da853ecaSopenharmony_ci OH_AVErrCode ret = muxerDemo->NativeSetRotation(handle, rotation); 62da853ecaSopenharmony_ci 63da853ecaSopenharmony_ci return ret; 64da853ecaSopenharmony_ci } 65da853ecaSopenharmony_ci 66da853ecaSopenharmony_ci OH_AVErrCode AddTrack(AVMuxerDemo* muxerDemo, int32_t* trackId, OH_AVMuxer* handle) 67da853ecaSopenharmony_ci { 68da853ecaSopenharmony_ci uint8_t a[100]; 69da853ecaSopenharmony_ci 70da853ecaSopenharmony_ci OH_AVFormat* trackFormat = OH_AVFormat_Create(); 71da853ecaSopenharmony_ci OH_AVFormat_SetStringValue(trackFormat, OH_MD_KEY_CODEC_MIME, OH_AVCODEC_MIMETYPE_AUDIO_AAC); 72da853ecaSopenharmony_ci OH_AVFormat_SetLongValue(trackFormat, OH_MD_KEY_BITRATE, BITRATE); 73da853ecaSopenharmony_ci OH_AVFormat_SetBuffer(trackFormat, OH_MD_KEY_CODEC_CONFIG, a, CODEC_CONFIG); 74da853ecaSopenharmony_ci OH_AVFormat_SetIntValue(trackFormat, OH_MD_KEY_AUD_CHANNEL_COUNT, CHANNEL_COUNT); 75da853ecaSopenharmony_ci OH_AVFormat_SetIntValue(trackFormat, OH_MD_KEY_AUD_SAMPLE_RATE, SAMPLE_RATE); 76da853ecaSopenharmony_ci OH_AVFormat_SetIntValue(trackFormat, OH_MD_KEY_PROFILE, PROFILE); 77da853ecaSopenharmony_ci 78da853ecaSopenharmony_ci OH_AVErrCode ret = muxerDemo->NativeAddTrack(handle, trackId, trackFormat); 79da853ecaSopenharmony_ci OH_AVFormat_Destroy(trackFormat); 80da853ecaSopenharmony_ci return ret; 81da853ecaSopenharmony_ci } 82da853ecaSopenharmony_ci 83da853ecaSopenharmony_ci OH_AVErrCode Start(AVMuxerDemo* muxerDemo, OH_AVMuxer* handle) 84da853ecaSopenharmony_ci { 85da853ecaSopenharmony_ci OH_AVErrCode ret = muxerDemo->NativeStart(handle); 86da853ecaSopenharmony_ci 87da853ecaSopenharmony_ci return ret; 88da853ecaSopenharmony_ci } 89da853ecaSopenharmony_ci 90da853ecaSopenharmony_ci OH_AVErrCode WriteSampleBuffer(AVMuxerDemo* muxerDemo, OH_AVMuxer* handle, uint32_t trackIndex) 91da853ecaSopenharmony_ci { 92da853ecaSopenharmony_ci OH_AVMemory* avMemBuffer = OH_AVMemory_Create(100); 93da853ecaSopenharmony_ci 94da853ecaSopenharmony_ci OH_AVCodecBufferAttr info; 95da853ecaSopenharmony_ci info.size = INFO_SIZE; 96da853ecaSopenharmony_ci info.pts = 0; 97da853ecaSopenharmony_ci info.offset = 0; 98da853ecaSopenharmony_ci info.flags = 0; 99da853ecaSopenharmony_ci 100da853ecaSopenharmony_ci OH_AVErrCode ret = muxerDemo->NativeWriteSampleBuffer(handle, trackIndex, avMemBuffer, info); 101da853ecaSopenharmony_ci OH_AVMemory_Destroy(avMemBuffer); 102da853ecaSopenharmony_ci return ret; 103da853ecaSopenharmony_ci } 104da853ecaSopenharmony_ci 105da853ecaSopenharmony_ci OH_AVErrCode Stop(AVMuxerDemo* muxerDemo, OH_AVMuxer* handle) 106da853ecaSopenharmony_ci { 107da853ecaSopenharmony_ci OH_AVErrCode ret = muxerDemo->NativeStop(handle); 108da853ecaSopenharmony_ci 109da853ecaSopenharmony_ci return ret; 110da853ecaSopenharmony_ci } 111da853ecaSopenharmony_ci 112da853ecaSopenharmony_ci OH_AVErrCode Destroy(AVMuxerDemo* muxerDemo, OH_AVMuxer* handle) 113da853ecaSopenharmony_ci { 114da853ecaSopenharmony_ci OH_AVErrCode ret = muxerDemo->NativeDestroy(handle); 115da853ecaSopenharmony_ci 116da853ecaSopenharmony_ci return ret; 117da853ecaSopenharmony_ci } 118da853ecaSopenharmony_ci} 119da853ecaSopenharmony_ci 120da853ecaSopenharmony_ci 121da853ecaSopenharmony_ci/** 122da853ecaSopenharmony_ci * @tc.number : SUB_MULTIMEDIA_MEDIA_MUXER_INTERFACE_DEPEND_CHECK_001 123da853ecaSopenharmony_ci * @tc.name : Create -> SetRotation 124da853ecaSopenharmony_ci * @tc.desc : interface depend check 125da853ecaSopenharmony_ci */ 126da853ecaSopenharmony_ciHWTEST_F(NativeAVMuxerInterfaceDependCheckTest, SUB_MULTIMEDIA_MEDIA_MUXER_INTERFACE_DEPEND_CHECK_001, TestSize.Level2) 127da853ecaSopenharmony_ci{ 128da853ecaSopenharmony_ci AVMuxerDemo* muxerDemo = new AVMuxerDemo(); 129da853ecaSopenharmony_ci OH_AVMuxer* handle = Create(muxerDemo); 130da853ecaSopenharmony_ci ASSERT_NE(nullptr, handle); 131da853ecaSopenharmony_ci 132da853ecaSopenharmony_ci OH_AVErrCode ret; 133da853ecaSopenharmony_ci 134da853ecaSopenharmony_ci ret = SetRotation(muxerDemo, handle); 135da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 136da853ecaSopenharmony_ci 137da853ecaSopenharmony_ci Destroy(muxerDemo, handle); 138da853ecaSopenharmony_ci delete muxerDemo; 139da853ecaSopenharmony_ci} 140da853ecaSopenharmony_ci 141da853ecaSopenharmony_ci 142da853ecaSopenharmony_ci/** 143da853ecaSopenharmony_ci * @tc.number : SUB_MULTIMEDIA_MEDIA_MUXER_INTERFACE_DEPEND_CHECK_002 144da853ecaSopenharmony_ci * @tc.name : Create -> SetRotation -> SetRotation 145da853ecaSopenharmony_ci * @tc.desc : interface depend check 146da853ecaSopenharmony_ci */ 147da853ecaSopenharmony_ciHWTEST_F(NativeAVMuxerInterfaceDependCheckTest, SUB_MULTIMEDIA_MEDIA_MUXER_INTERFACE_DEPEND_CHECK_002, TestSize.Level2) 148da853ecaSopenharmony_ci{ 149da853ecaSopenharmony_ci AVMuxerDemo* muxerDemo = new AVMuxerDemo(); 150da853ecaSopenharmony_ci OH_AVMuxer* handle = Create(muxerDemo); 151da853ecaSopenharmony_ci ASSERT_NE(nullptr, handle); 152da853ecaSopenharmony_ci 153da853ecaSopenharmony_ci OH_AVErrCode ret; 154da853ecaSopenharmony_ci 155da853ecaSopenharmony_ci ret = SetRotation(muxerDemo, handle); 156da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 157da853ecaSopenharmony_ci 158da853ecaSopenharmony_ci ret = SetRotation(muxerDemo, handle); 159da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 160da853ecaSopenharmony_ci 161da853ecaSopenharmony_ci Destroy(muxerDemo, handle); 162da853ecaSopenharmony_ci delete muxerDemo; 163da853ecaSopenharmony_ci} 164da853ecaSopenharmony_ci 165da853ecaSopenharmony_ci 166da853ecaSopenharmony_ci/** 167da853ecaSopenharmony_ci * @tc.number : SUB_MULTIMEDIA_MEDIA_MUXER_INTERFACE_DEPEND_CHECK_003 168da853ecaSopenharmony_ci * @tc.name : Create -> AddTrack -> SetRotation 169da853ecaSopenharmony_ci * @tc.desc : interface depend check 170da853ecaSopenharmony_ci */ 171da853ecaSopenharmony_ciHWTEST_F(NativeAVMuxerInterfaceDependCheckTest, SUB_MULTIMEDIA_MEDIA_MUXER_INTERFACE_DEPEND_CHECK_003, TestSize.Level2) 172da853ecaSopenharmony_ci{ 173da853ecaSopenharmony_ci AVMuxerDemo* muxerDemo = new AVMuxerDemo(); 174da853ecaSopenharmony_ci OH_AVMuxer* handle = Create(muxerDemo); 175da853ecaSopenharmony_ci ASSERT_NE(nullptr, handle); 176da853ecaSopenharmony_ci 177da853ecaSopenharmony_ci OH_AVErrCode ret; 178da853ecaSopenharmony_ci 179da853ecaSopenharmony_ci int32_t trackId; 180da853ecaSopenharmony_ci ret = AddTrack(muxerDemo, &trackId, handle); 181da853ecaSopenharmony_ci ASSERT_EQ(0, trackId); 182da853ecaSopenharmony_ci 183da853ecaSopenharmony_ci ret = SetRotation(muxerDemo, handle); 184da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 185da853ecaSopenharmony_ci 186da853ecaSopenharmony_ci Destroy(muxerDemo, handle); 187da853ecaSopenharmony_ci delete muxerDemo; 188da853ecaSopenharmony_ci} 189da853ecaSopenharmony_ci 190da853ecaSopenharmony_ci 191da853ecaSopenharmony_ci/** 192da853ecaSopenharmony_ci * @tc.number : SUB_MULTIMEDIA_MEDIA_MUXER_INTERFACE_DEPEND_CHECK_004 193da853ecaSopenharmony_ci * @tc.name : Create -> AddTrack -> Start -> SetRotation 194da853ecaSopenharmony_ci * @tc.desc : interface depend check 195da853ecaSopenharmony_ci */ 196da853ecaSopenharmony_ciHWTEST_F(NativeAVMuxerInterfaceDependCheckTest, SUB_MULTIMEDIA_MEDIA_MUXER_INTERFACE_DEPEND_CHECK_004, TestSize.Level2) 197da853ecaSopenharmony_ci{ 198da853ecaSopenharmony_ci AVMuxerDemo* muxerDemo = new AVMuxerDemo(); 199da853ecaSopenharmony_ci OH_AVMuxer* handle = Create(muxerDemo); 200da853ecaSopenharmony_ci ASSERT_NE(nullptr, handle); 201da853ecaSopenharmony_ci 202da853ecaSopenharmony_ci OH_AVErrCode ret; 203da853ecaSopenharmony_ci 204da853ecaSopenharmony_ci int32_t trackId; 205da853ecaSopenharmony_ci ret = AddTrack(muxerDemo, &trackId, handle); 206da853ecaSopenharmony_ci ASSERT_EQ(0, trackId); 207da853ecaSopenharmony_ci 208da853ecaSopenharmony_ci ret = Start(muxerDemo, handle); 209da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 210da853ecaSopenharmony_ci 211da853ecaSopenharmony_ci ret = SetRotation(muxerDemo, handle); 212da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OPERATE_NOT_PERMIT, ret); 213da853ecaSopenharmony_ci 214da853ecaSopenharmony_ci Destroy(muxerDemo, handle); 215da853ecaSopenharmony_ci delete muxerDemo; 216da853ecaSopenharmony_ci} 217da853ecaSopenharmony_ci 218da853ecaSopenharmony_ci 219da853ecaSopenharmony_ci/** 220da853ecaSopenharmony_ci * @tc.number : SUB_MULTIMEDIA_MEDIA_MUXER_INTERFACE_DEPEND_CHECK_005 221da853ecaSopenharmony_ci * @tc.name : Create -> AddTrack -> Start -> Stop -> SetRotation 222da853ecaSopenharmony_ci * @tc.desc : interface depend check 223da853ecaSopenharmony_ci */ 224da853ecaSopenharmony_ciHWTEST_F(NativeAVMuxerInterfaceDependCheckTest, SUB_MULTIMEDIA_MEDIA_MUXER_INTERFACE_DEPEND_CHECK_005, TestSize.Level2) 225da853ecaSopenharmony_ci{ 226da853ecaSopenharmony_ci AVMuxerDemo* muxerDemo = new AVMuxerDemo(); 227da853ecaSopenharmony_ci OH_AVMuxer* handle = Create(muxerDemo); 228da853ecaSopenharmony_ci ASSERT_NE(nullptr, handle); 229da853ecaSopenharmony_ci 230da853ecaSopenharmony_ci OH_AVErrCode ret; 231da853ecaSopenharmony_ci 232da853ecaSopenharmony_ci int32_t trackId; 233da853ecaSopenharmony_ci ret = AddTrack(muxerDemo, &trackId, handle); 234da853ecaSopenharmony_ci ASSERT_EQ(0, trackId); 235da853ecaSopenharmony_ci 236da853ecaSopenharmony_ci ret = Start(muxerDemo, handle); 237da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 238da853ecaSopenharmony_ci 239da853ecaSopenharmony_ci ret = Stop(muxerDemo, handle); 240da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 241da853ecaSopenharmony_ci 242da853ecaSopenharmony_ci ret = SetRotation(muxerDemo, handle); 243da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OPERATE_NOT_PERMIT, ret); 244da853ecaSopenharmony_ci 245da853ecaSopenharmony_ci Destroy(muxerDemo, handle); 246da853ecaSopenharmony_ci delete muxerDemo; 247da853ecaSopenharmony_ci} 248da853ecaSopenharmony_ci 249da853ecaSopenharmony_ci 250da853ecaSopenharmony_ci/** 251da853ecaSopenharmony_ci * @tc.number : SUB_MULTIMEDIA_MEDIA_MUXER_INTERFACE_DEPEND_CHECK_006 252da853ecaSopenharmony_ci * @tc.name : Create -> AddTrack 253da853ecaSopenharmony_ci * @tc.desc : interface depend check 254da853ecaSopenharmony_ci */ 255da853ecaSopenharmony_ciHWTEST_F(NativeAVMuxerInterfaceDependCheckTest, SUB_MULTIMEDIA_MEDIA_MUXER_INTERFACE_DEPEND_CHECK_006, TestSize.Level2) 256da853ecaSopenharmony_ci{ 257da853ecaSopenharmony_ci AVMuxerDemo* muxerDemo = new AVMuxerDemo(); 258da853ecaSopenharmony_ci OH_AVMuxer* handle = Create(muxerDemo); 259da853ecaSopenharmony_ci ASSERT_NE(nullptr, handle); 260da853ecaSopenharmony_ci 261da853ecaSopenharmony_ci int32_t trackId; 262da853ecaSopenharmony_ci OH_AVErrCode ret = AddTrack(muxerDemo, &trackId, handle); 263da853ecaSopenharmony_ci ASSERT_EQ(0, trackId); 264da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 265da853ecaSopenharmony_ci 266da853ecaSopenharmony_ci Destroy(muxerDemo, handle); 267da853ecaSopenharmony_ci delete muxerDemo; 268da853ecaSopenharmony_ci} 269da853ecaSopenharmony_ci 270da853ecaSopenharmony_ci 271da853ecaSopenharmony_ci/** 272da853ecaSopenharmony_ci * @tc.number : SUB_MULTIMEDIA_MEDIA_MUXER_INTERFACE_DEPEND_CHECK_007 273da853ecaSopenharmony_ci * @tc.name : Create -> AddTrack -> AddTrack 274da853ecaSopenharmony_ci * @tc.desc : interface depend check 275da853ecaSopenharmony_ci */ 276da853ecaSopenharmony_ciHWTEST_F(NativeAVMuxerInterfaceDependCheckTest, SUB_MULTIMEDIA_MEDIA_MUXER_INTERFACE_DEPEND_CHECK_007, TestSize.Level2) 277da853ecaSopenharmony_ci{ 278da853ecaSopenharmony_ci AVMuxerDemo* muxerDemo = new AVMuxerDemo(); 279da853ecaSopenharmony_ci OH_AVMuxer* handle = Create(muxerDemo); 280da853ecaSopenharmony_ci ASSERT_NE(nullptr, handle); 281da853ecaSopenharmony_ci 282da853ecaSopenharmony_ci int32_t trackId; 283da853ecaSopenharmony_ci OH_AVErrCode ret = AddTrack(muxerDemo, &trackId, handle); 284da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 285da853ecaSopenharmony_ci ASSERT_EQ(0, trackId); 286da853ecaSopenharmony_ci 287da853ecaSopenharmony_ci ret = AddTrack(muxerDemo, &trackId, handle); 288da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 289da853ecaSopenharmony_ci ASSERT_EQ(1, trackId); 290da853ecaSopenharmony_ci 291da853ecaSopenharmony_ci Destroy(muxerDemo, handle); 292da853ecaSopenharmony_ci delete muxerDemo; 293da853ecaSopenharmony_ci} 294da853ecaSopenharmony_ci 295da853ecaSopenharmony_ci 296da853ecaSopenharmony_ci/** 297da853ecaSopenharmony_ci * @tc.number : SUB_MULTIMEDIA_MEDIA_MUXER_INTERFACE_DEPEND_CHECK_008 298da853ecaSopenharmony_ci * @tc.name : Create -> SetRotation -> AddTrack 299da853ecaSopenharmony_ci * @tc.desc : interface depend check 300da853ecaSopenharmony_ci */ 301da853ecaSopenharmony_ciHWTEST_F(NativeAVMuxerInterfaceDependCheckTest, SUB_MULTIMEDIA_MEDIA_MUXER_INTERFACE_DEPEND_CHECK_008, TestSize.Level2) 302da853ecaSopenharmony_ci{ 303da853ecaSopenharmony_ci AVMuxerDemo* muxerDemo = new AVMuxerDemo(); 304da853ecaSopenharmony_ci OH_AVMuxer* handle = Create(muxerDemo); 305da853ecaSopenharmony_ci ASSERT_NE(nullptr, handle); 306da853ecaSopenharmony_ci 307da853ecaSopenharmony_ci OH_AVErrCode ret; 308da853ecaSopenharmony_ci 309da853ecaSopenharmony_ci ret = SetRotation(muxerDemo, handle); 310da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 311da853ecaSopenharmony_ci 312da853ecaSopenharmony_ci int32_t trackId; 313da853ecaSopenharmony_ci ret = AddTrack(muxerDemo, &trackId, handle); 314da853ecaSopenharmony_ci ASSERT_EQ(0, trackId); 315da853ecaSopenharmony_ci 316da853ecaSopenharmony_ci Destroy(muxerDemo, handle); 317da853ecaSopenharmony_ci delete muxerDemo; 318da853ecaSopenharmony_ci} 319da853ecaSopenharmony_ci 320da853ecaSopenharmony_ci 321da853ecaSopenharmony_ci/** 322da853ecaSopenharmony_ci * @tc.number : SUB_MULTIMEDIA_MEDIA_MUXER_INTERFACE_DEPEND_CHECK_009 323da853ecaSopenharmony_ci * @tc.name : Create -> AddTrack -> Start -> AddTrack 324da853ecaSopenharmony_ci * @tc.desc : interface depend check 325da853ecaSopenharmony_ci */ 326da853ecaSopenharmony_ciHWTEST_F(NativeAVMuxerInterfaceDependCheckTest, SUB_MULTIMEDIA_MEDIA_MUXER_INTERFACE_DEPEND_CHECK_009, TestSize.Level2) 327da853ecaSopenharmony_ci{ 328da853ecaSopenharmony_ci AVMuxerDemo* muxerDemo = new AVMuxerDemo(); 329da853ecaSopenharmony_ci OH_AVMuxer* handle = Create(muxerDemo); 330da853ecaSopenharmony_ci ASSERT_NE(nullptr, handle); 331da853ecaSopenharmony_ci 332da853ecaSopenharmony_ci OH_AVErrCode ret; 333da853ecaSopenharmony_ci 334da853ecaSopenharmony_ci int32_t trackId; 335da853ecaSopenharmony_ci ret = AddTrack(muxerDemo, &trackId, handle); 336da853ecaSopenharmony_ci ASSERT_EQ(0, trackId); 337da853ecaSopenharmony_ci 338da853ecaSopenharmony_ci ret = Start(muxerDemo, handle); 339da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 340da853ecaSopenharmony_ci 341da853ecaSopenharmony_ci ret = AddTrack(muxerDemo, &trackId, handle); 342da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OPERATE_NOT_PERMIT, ret); 343da853ecaSopenharmony_ci 344da853ecaSopenharmony_ci Destroy(muxerDemo, handle); 345da853ecaSopenharmony_ci delete muxerDemo; 346da853ecaSopenharmony_ci} 347da853ecaSopenharmony_ci 348da853ecaSopenharmony_ci 349da853ecaSopenharmony_ci/** 350da853ecaSopenharmony_ci * @tc.number : SUB_MULTIMEDIA_MEDIA_MUXER_INTERFACE_DEPEND_CHECK_010 351da853ecaSopenharmony_ci * @tc.name : Create -> AddTrack -> Start -> Stop -> AddTrack 352da853ecaSopenharmony_ci * @tc.desc : interface depend check 353da853ecaSopenharmony_ci */ 354da853ecaSopenharmony_ciHWTEST_F(NativeAVMuxerInterfaceDependCheckTest, SUB_MULTIMEDIA_MEDIA_MUXER_INTERFACE_DEPEND_CHECK_010, TestSize.Level2) 355da853ecaSopenharmony_ci{ 356da853ecaSopenharmony_ci AVMuxerDemo* muxerDemo = new AVMuxerDemo(); 357da853ecaSopenharmony_ci OH_AVMuxer* handle = Create(muxerDemo); 358da853ecaSopenharmony_ci ASSERT_NE(nullptr, handle); 359da853ecaSopenharmony_ci 360da853ecaSopenharmony_ci OH_AVErrCode ret; 361da853ecaSopenharmony_ci 362da853ecaSopenharmony_ci int32_t trackId; 363da853ecaSopenharmony_ci ret = AddTrack(muxerDemo, &trackId, handle); 364da853ecaSopenharmony_ci ASSERT_EQ(0, trackId); 365da853ecaSopenharmony_ci 366da853ecaSopenharmony_ci ret = Start(muxerDemo, handle); 367da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 368da853ecaSopenharmony_ci 369da853ecaSopenharmony_ci ret = Stop(muxerDemo, handle); 370da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 371da853ecaSopenharmony_ci 372da853ecaSopenharmony_ci ret = AddTrack(muxerDemo, &trackId, handle); 373da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OPERATE_NOT_PERMIT, ret); 374da853ecaSopenharmony_ci 375da853ecaSopenharmony_ci Destroy(muxerDemo, handle); 376da853ecaSopenharmony_ci delete muxerDemo; 377da853ecaSopenharmony_ci} 378da853ecaSopenharmony_ci 379da853ecaSopenharmony_ci 380da853ecaSopenharmony_ci/** 381da853ecaSopenharmony_ci * @tc.number : SUB_MULTIMEDIA_MEDIA_MUXER_INTERFACE_DEPEND_CHECK_011 382da853ecaSopenharmony_ci * @tc.name : Create -> Start 383da853ecaSopenharmony_ci * @tc.desc : interface depend check 384da853ecaSopenharmony_ci */ 385da853ecaSopenharmony_ciHWTEST_F(NativeAVMuxerInterfaceDependCheckTest, SUB_MULTIMEDIA_MEDIA_MUXER_INTERFACE_DEPEND_CHECK_011, TestSize.Level2) 386da853ecaSopenharmony_ci{ 387da853ecaSopenharmony_ci AVMuxerDemo* muxerDemo = new AVMuxerDemo(); 388da853ecaSopenharmony_ci OH_AVMuxer* handle = Create(muxerDemo); 389da853ecaSopenharmony_ci ASSERT_NE(nullptr, handle); 390da853ecaSopenharmony_ci 391da853ecaSopenharmony_ci OH_AVErrCode ret; 392da853ecaSopenharmony_ci 393da853ecaSopenharmony_ci ret = Start(muxerDemo, handle); 394da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OPERATE_NOT_PERMIT, ret); 395da853ecaSopenharmony_ci 396da853ecaSopenharmony_ci Destroy(muxerDemo, handle); 397da853ecaSopenharmony_ci delete muxerDemo; 398da853ecaSopenharmony_ci} 399da853ecaSopenharmony_ci 400da853ecaSopenharmony_ci 401da853ecaSopenharmony_ci/** 402da853ecaSopenharmony_ci * @tc.number : SUB_MULTIMEDIA_MEDIA_MUXER_INTERFACE_DEPEND_CHECK_012 403da853ecaSopenharmony_ci * @tc.name : Create -> AddTrack -> Start 404da853ecaSopenharmony_ci * @tc.desc : interface depend check 405da853ecaSopenharmony_ci */ 406da853ecaSopenharmony_ciHWTEST_F(NativeAVMuxerInterfaceDependCheckTest, SUB_MULTIMEDIA_MEDIA_MUXER_INTERFACE_DEPEND_CHECK_012, TestSize.Level2) 407da853ecaSopenharmony_ci{ 408da853ecaSopenharmony_ci AVMuxerDemo* muxerDemo = new AVMuxerDemo(); 409da853ecaSopenharmony_ci OH_AVMuxer* handle = Create(muxerDemo); 410da853ecaSopenharmony_ci ASSERT_NE(nullptr, handle); 411da853ecaSopenharmony_ci 412da853ecaSopenharmony_ci OH_AVErrCode ret; 413da853ecaSopenharmony_ci 414da853ecaSopenharmony_ci int32_t trackId; 415da853ecaSopenharmony_ci ret = AddTrack(muxerDemo, &trackId, handle); 416da853ecaSopenharmony_ci ASSERT_EQ(0, trackId); 417da853ecaSopenharmony_ci 418da853ecaSopenharmony_ci ret = Start(muxerDemo, handle); 419da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 420da853ecaSopenharmony_ci 421da853ecaSopenharmony_ci Destroy(muxerDemo, handle); 422da853ecaSopenharmony_ci delete muxerDemo; 423da853ecaSopenharmony_ci} 424da853ecaSopenharmony_ci 425da853ecaSopenharmony_ci 426da853ecaSopenharmony_ci/** 427da853ecaSopenharmony_ci * @tc.number : SUB_MULTIMEDIA_MEDIA_MUXER_INTERFACE_DEPEND_CHECK_013 428da853ecaSopenharmony_ci * @tc.name : Create -> SetRotation -> AddTrack -> Start 429da853ecaSopenharmony_ci * @tc.desc : interface depend check 430da853ecaSopenharmony_ci */ 431da853ecaSopenharmony_ciHWTEST_F(NativeAVMuxerInterfaceDependCheckTest, SUB_MULTIMEDIA_MEDIA_MUXER_INTERFACE_DEPEND_CHECK_013, TestSize.Level2) 432da853ecaSopenharmony_ci{ 433da853ecaSopenharmony_ci AVMuxerDemo* muxerDemo = new AVMuxerDemo(); 434da853ecaSopenharmony_ci OH_AVMuxer* handle = Create(muxerDemo); 435da853ecaSopenharmony_ci ASSERT_NE(nullptr, handle); 436da853ecaSopenharmony_ci 437da853ecaSopenharmony_ci OH_AVErrCode ret; 438da853ecaSopenharmony_ci 439da853ecaSopenharmony_ci ret = SetRotation(muxerDemo, handle); 440da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 441da853ecaSopenharmony_ci 442da853ecaSopenharmony_ci int32_t trackId; 443da853ecaSopenharmony_ci ret = AddTrack(muxerDemo, &trackId, handle); 444da853ecaSopenharmony_ci ASSERT_EQ(0, trackId); 445da853ecaSopenharmony_ci 446da853ecaSopenharmony_ci ret = Start(muxerDemo, handle); 447da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 448da853ecaSopenharmony_ci 449da853ecaSopenharmony_ci Destroy(muxerDemo, handle); 450da853ecaSopenharmony_ci delete muxerDemo; 451da853ecaSopenharmony_ci} 452da853ecaSopenharmony_ci 453da853ecaSopenharmony_ci 454da853ecaSopenharmony_ci/** 455da853ecaSopenharmony_ci * @tc.number : SUB_MULTIMEDIA_MEDIA_MUXER_INTERFACE_DEPEND_CHECK_014 456da853ecaSopenharmony_ci * @tc.name : Create -> AddTrack -> Start -> Start 457da853ecaSopenharmony_ci * @tc.desc : interface depend check 458da853ecaSopenharmony_ci */ 459da853ecaSopenharmony_ciHWTEST_F(NativeAVMuxerInterfaceDependCheckTest, SUB_MULTIMEDIA_MEDIA_MUXER_INTERFACE_DEPEND_CHECK_014, TestSize.Level2) 460da853ecaSopenharmony_ci{ 461da853ecaSopenharmony_ci AVMuxerDemo* muxerDemo = new AVMuxerDemo(); 462da853ecaSopenharmony_ci OH_AVMuxer* handle = Create(muxerDemo); 463da853ecaSopenharmony_ci ASSERT_NE(nullptr, handle); 464da853ecaSopenharmony_ci 465da853ecaSopenharmony_ci OH_AVErrCode ret; 466da853ecaSopenharmony_ci 467da853ecaSopenharmony_ci int32_t trackId; 468da853ecaSopenharmony_ci ret = AddTrack(muxerDemo, &trackId, handle); 469da853ecaSopenharmony_ci ASSERT_EQ(0, trackId); 470da853ecaSopenharmony_ci 471da853ecaSopenharmony_ci ret = Start(muxerDemo, handle); 472da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 473da853ecaSopenharmony_ci 474da853ecaSopenharmony_ci ret = Start(muxerDemo, handle); 475da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OPERATE_NOT_PERMIT, ret); 476da853ecaSopenharmony_ci 477da853ecaSopenharmony_ci Destroy(muxerDemo, handle); 478da853ecaSopenharmony_ci delete muxerDemo; 479da853ecaSopenharmony_ci} 480da853ecaSopenharmony_ci 481da853ecaSopenharmony_ci 482da853ecaSopenharmony_ci/** 483da853ecaSopenharmony_ci * @tc.number : SUB_MULTIMEDIA_MEDIA_MUXER_INTERFACE_DEPEND_CHECK_015 484da853ecaSopenharmony_ci * @tc.name : Create -> AddTrack -> Start -> Stop -> Start 485da853ecaSopenharmony_ci * @tc.desc : interface depend check 486da853ecaSopenharmony_ci */ 487da853ecaSopenharmony_ciHWTEST_F(NativeAVMuxerInterfaceDependCheckTest, SUB_MULTIMEDIA_MEDIA_MUXER_INTERFACE_DEPEND_CHECK_015, TestSize.Level2) 488da853ecaSopenharmony_ci{ 489da853ecaSopenharmony_ci AVMuxerDemo* muxerDemo = new AVMuxerDemo(); 490da853ecaSopenharmony_ci OH_AVMuxer* handle = Create(muxerDemo); 491da853ecaSopenharmony_ci ASSERT_NE(nullptr, handle); 492da853ecaSopenharmony_ci 493da853ecaSopenharmony_ci OH_AVErrCode ret; 494da853ecaSopenharmony_ci 495da853ecaSopenharmony_ci int32_t trackId; 496da853ecaSopenharmony_ci ret = AddTrack(muxerDemo, &trackId, handle); 497da853ecaSopenharmony_ci ASSERT_EQ(0, trackId); 498da853ecaSopenharmony_ci 499da853ecaSopenharmony_ci ret = Start(muxerDemo, handle); 500da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 501da853ecaSopenharmony_ci 502da853ecaSopenharmony_ci ret = Stop(muxerDemo, handle); 503da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 504da853ecaSopenharmony_ci 505da853ecaSopenharmony_ci ret = Start(muxerDemo, handle); 506da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OPERATE_NOT_PERMIT, ret); 507da853ecaSopenharmony_ci 508da853ecaSopenharmony_ci Destroy(muxerDemo, handle); 509da853ecaSopenharmony_ci delete muxerDemo; 510da853ecaSopenharmony_ci} 511da853ecaSopenharmony_ci 512da853ecaSopenharmony_ci 513da853ecaSopenharmony_ci/** 514da853ecaSopenharmony_ci * @tc.number : SUB_MULTIMEDIA_MEDIA_MUXER_INTERFACE_DEPEND_CHECK_016 515da853ecaSopenharmony_ci * @tc.name : Create -> WriteSampleBuffer 516da853ecaSopenharmony_ci * @tc.desc : interface depend check 517da853ecaSopenharmony_ci */ 518da853ecaSopenharmony_ciHWTEST_F(NativeAVMuxerInterfaceDependCheckTest, SUB_MULTIMEDIA_MEDIA_MUXER_INTERFACE_DEPEND_CHECK_016, TestSize.Level2) 519da853ecaSopenharmony_ci{ 520da853ecaSopenharmony_ci AVMuxerDemo* muxerDemo = new AVMuxerDemo(); 521da853ecaSopenharmony_ci OH_AVMuxer* handle = Create(muxerDemo); 522da853ecaSopenharmony_ci ASSERT_NE(nullptr, handle); 523da853ecaSopenharmony_ci 524da853ecaSopenharmony_ci OH_AVErrCode ret; 525da853ecaSopenharmony_ci int32_t trackId = -1; 526da853ecaSopenharmony_ci 527da853ecaSopenharmony_ci ret = WriteSampleBuffer(muxerDemo, handle, trackId); 528da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OPERATE_NOT_PERMIT, ret); 529da853ecaSopenharmony_ci 530da853ecaSopenharmony_ci Destroy(muxerDemo, handle); 531da853ecaSopenharmony_ci delete muxerDemo; 532da853ecaSopenharmony_ci} 533da853ecaSopenharmony_ci 534da853ecaSopenharmony_ci 535da853ecaSopenharmony_ci/** 536da853ecaSopenharmony_ci * @tc.number : SUB_MULTIMEDIA_MEDIA_MUXER_INTERFACE_DEPEND_CHECK_017 537da853ecaSopenharmony_ci * @tc.name : Create -> AddTrack -> WriteSampleBuffer 538da853ecaSopenharmony_ci * @tc.desc : interface depend check 539da853ecaSopenharmony_ci */ 540da853ecaSopenharmony_ciHWTEST_F(NativeAVMuxerInterfaceDependCheckTest, SUB_MULTIMEDIA_MEDIA_MUXER_INTERFACE_DEPEND_CHECK_017, TestSize.Level2) 541da853ecaSopenharmony_ci{ 542da853ecaSopenharmony_ci AVMuxerDemo* muxerDemo = new AVMuxerDemo(); 543da853ecaSopenharmony_ci OH_AVMuxer* handle = Create(muxerDemo); 544da853ecaSopenharmony_ci ASSERT_NE(nullptr, handle); 545da853ecaSopenharmony_ci 546da853ecaSopenharmony_ci OH_AVErrCode ret; 547da853ecaSopenharmony_ci int32_t trackId = -1; 548da853ecaSopenharmony_ci 549da853ecaSopenharmony_ci ret = AddTrack(muxerDemo, &trackId, handle); 550da853ecaSopenharmony_ci ASSERT_EQ(0, trackId); 551da853ecaSopenharmony_ci 552da853ecaSopenharmony_ci ret = WriteSampleBuffer(muxerDemo, handle, trackId); 553da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OPERATE_NOT_PERMIT, ret); 554da853ecaSopenharmony_ci 555da853ecaSopenharmony_ci Destroy(muxerDemo, handle); 556da853ecaSopenharmony_ci delete muxerDemo; 557da853ecaSopenharmony_ci} 558da853ecaSopenharmony_ci 559da853ecaSopenharmony_ci 560da853ecaSopenharmony_ci/** 561da853ecaSopenharmony_ci * @tc.number : SUB_MULTIMEDIA_MEDIA_MUXER_INTERFACE_DEPEND_CHECK_018 562da853ecaSopenharmony_ci * @tc.name : Create -> SetRotation -> AddTrack -> Start -> WriteSampleBuffer 563da853ecaSopenharmony_ci * @tc.desc : interface depend check 564da853ecaSopenharmony_ci */ 565da853ecaSopenharmony_ciHWTEST_F(NativeAVMuxerInterfaceDependCheckTest, SUB_MULTIMEDIA_MEDIA_MUXER_INTERFACE_DEPEND_CHECK_018, TestSize.Level2) 566da853ecaSopenharmony_ci{ 567da853ecaSopenharmony_ci AVMuxerDemo* muxerDemo = new AVMuxerDemo(); 568da853ecaSopenharmony_ci OH_AVMuxer* handle = Create(muxerDemo); 569da853ecaSopenharmony_ci ASSERT_NE(nullptr, handle); 570da853ecaSopenharmony_ci 571da853ecaSopenharmony_ci OH_AVErrCode ret; 572da853ecaSopenharmony_ci int32_t trackId = -1; 573da853ecaSopenharmony_ci 574da853ecaSopenharmony_ci ret = SetRotation(muxerDemo, handle); 575da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 576da853ecaSopenharmony_ci 577da853ecaSopenharmony_ci ret = AddTrack(muxerDemo, &trackId, handle); 578da853ecaSopenharmony_ci ASSERT_EQ(0, trackId); 579da853ecaSopenharmony_ci 580da853ecaSopenharmony_ci ret = Start(muxerDemo, handle); 581da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 582da853ecaSopenharmony_ci 583da853ecaSopenharmony_ci ret = WriteSampleBuffer(muxerDemo, handle, trackId); 584da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 585da853ecaSopenharmony_ci 586da853ecaSopenharmony_ci Destroy(muxerDemo, handle); 587da853ecaSopenharmony_ci delete muxerDemo; 588da853ecaSopenharmony_ci} 589da853ecaSopenharmony_ci 590da853ecaSopenharmony_ci 591da853ecaSopenharmony_ci/** 592da853ecaSopenharmony_ci * @tc.number : SUB_MULTIMEDIA_MEDIA_MUXER_INTERFACE_DEPEND_CHECK_019 593da853ecaSopenharmony_ci * @tc.name : Create -> AddTrack -> Start -> WriteSampleBuffer 594da853ecaSopenharmony_ci * @tc.desc : interface depend check 595da853ecaSopenharmony_ci */ 596da853ecaSopenharmony_ciHWTEST_F(NativeAVMuxerInterfaceDependCheckTest, SUB_MULTIMEDIA_MEDIA_MUXER_INTERFACE_DEPEND_CHECK_019, TestSize.Level2) 597da853ecaSopenharmony_ci{ 598da853ecaSopenharmony_ci AVMuxerDemo* muxerDemo = new AVMuxerDemo(); 599da853ecaSopenharmony_ci OH_AVMuxer* handle = Create(muxerDemo); 600da853ecaSopenharmony_ci ASSERT_NE(nullptr, handle); 601da853ecaSopenharmony_ci 602da853ecaSopenharmony_ci OH_AVErrCode ret; 603da853ecaSopenharmony_ci int32_t trackId = -1; 604da853ecaSopenharmony_ci 605da853ecaSopenharmony_ci ret = AddTrack(muxerDemo, &trackId, handle); 606da853ecaSopenharmony_ci ASSERT_EQ(0, trackId); 607da853ecaSopenharmony_ci 608da853ecaSopenharmony_ci ret = Start(muxerDemo, handle); 609da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 610da853ecaSopenharmony_ci 611da853ecaSopenharmony_ci ret = WriteSampleBuffer(muxerDemo, handle, trackId); 612da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 613da853ecaSopenharmony_ci 614da853ecaSopenharmony_ci Destroy(muxerDemo, handle); 615da853ecaSopenharmony_ci delete muxerDemo; 616da853ecaSopenharmony_ci} 617da853ecaSopenharmony_ci 618da853ecaSopenharmony_ci 619da853ecaSopenharmony_ci/** 620da853ecaSopenharmony_ci * @tc.number : SUB_MULTIMEDIA_MEDIA_MUXER_INTERFACE_DEPEND_CHECK_020 621da853ecaSopenharmony_ci * @tc.name : Create -> AddTrack -> Start -> WriteSampleBuffer -> WriteSampleBuffer 622da853ecaSopenharmony_ci * @tc.desc : interface depend check 623da853ecaSopenharmony_ci */ 624da853ecaSopenharmony_ciHWTEST_F(NativeAVMuxerInterfaceDependCheckTest, SUB_MULTIMEDIA_MEDIA_MUXER_INTERFACE_DEPEND_CHECK_020, TestSize.Level2) 625da853ecaSopenharmony_ci{ 626da853ecaSopenharmony_ci AVMuxerDemo* muxerDemo = new AVMuxerDemo(); 627da853ecaSopenharmony_ci OH_AVMuxer* handle = Create(muxerDemo); 628da853ecaSopenharmony_ci ASSERT_NE(nullptr, handle); 629da853ecaSopenharmony_ci 630da853ecaSopenharmony_ci OH_AVErrCode ret; 631da853ecaSopenharmony_ci int32_t trackId = -1; 632da853ecaSopenharmony_ci 633da853ecaSopenharmony_ci ret = AddTrack(muxerDemo, &trackId, handle); 634da853ecaSopenharmony_ci ASSERT_EQ(0, trackId); 635da853ecaSopenharmony_ci 636da853ecaSopenharmony_ci ret = Start(muxerDemo, handle); 637da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 638da853ecaSopenharmony_ci 639da853ecaSopenharmony_ci ret = WriteSampleBuffer(muxerDemo, handle, trackId); 640da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 641da853ecaSopenharmony_ci 642da853ecaSopenharmony_ci ret = WriteSampleBuffer(muxerDemo, handle, trackId); 643da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 644da853ecaSopenharmony_ci 645da853ecaSopenharmony_ci Destroy(muxerDemo, handle); 646da853ecaSopenharmony_ci delete muxerDemo; 647da853ecaSopenharmony_ci} 648da853ecaSopenharmony_ci 649da853ecaSopenharmony_ci 650da853ecaSopenharmony_ci/** 651da853ecaSopenharmony_ci * @tc.number : SUB_MULTIMEDIA_MEDIA_MUXER_INTERFACE_DEPEND_CHECK_021 652da853ecaSopenharmony_ci * @tc.name : Create -> AddTrack -> Start -> Stop -> WriteSampleBuffer 653da853ecaSopenharmony_ci * @tc.desc : interface depend check 654da853ecaSopenharmony_ci */ 655da853ecaSopenharmony_ciHWTEST_F(NativeAVMuxerInterfaceDependCheckTest, SUB_MULTIMEDIA_MEDIA_MUXER_INTERFACE_DEPEND_CHECK_021, TestSize.Level2) 656da853ecaSopenharmony_ci{ 657da853ecaSopenharmony_ci AVMuxerDemo* muxerDemo = new AVMuxerDemo(); 658da853ecaSopenharmony_ci OH_AVMuxer* handle = Create(muxerDemo); 659da853ecaSopenharmony_ci ASSERT_NE(nullptr, handle); 660da853ecaSopenharmony_ci 661da853ecaSopenharmony_ci OH_AVErrCode ret; 662da853ecaSopenharmony_ci int32_t trackId = -1; 663da853ecaSopenharmony_ci 664da853ecaSopenharmony_ci ret = AddTrack(muxerDemo, &trackId, handle); 665da853ecaSopenharmony_ci ASSERT_EQ(0, trackId); 666da853ecaSopenharmony_ci 667da853ecaSopenharmony_ci ret = Start(muxerDemo, handle); 668da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 669da853ecaSopenharmony_ci 670da853ecaSopenharmony_ci ret = Stop(muxerDemo, handle); 671da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 672da853ecaSopenharmony_ci 673da853ecaSopenharmony_ci ret = WriteSampleBuffer(muxerDemo, handle, trackId); 674da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OPERATE_NOT_PERMIT, ret); 675da853ecaSopenharmony_ci 676da853ecaSopenharmony_ci Destroy(muxerDemo, handle); 677da853ecaSopenharmony_ci delete muxerDemo; 678da853ecaSopenharmony_ci} 679da853ecaSopenharmony_ci 680da853ecaSopenharmony_ci 681da853ecaSopenharmony_ci/** 682da853ecaSopenharmony_ci * @tc.number : SUB_MULTIMEDIA_MEDIA_MUXER_INTERFACE_DEPEND_CHECK_022 683da853ecaSopenharmony_ci * @tc.name : Create -> Stop 684da853ecaSopenharmony_ci * @tc.desc : interface depend check 685da853ecaSopenharmony_ci */ 686da853ecaSopenharmony_ciHWTEST_F(NativeAVMuxerInterfaceDependCheckTest, SUB_MULTIMEDIA_MEDIA_MUXER_INTERFACE_DEPEND_CHECK_022, TestSize.Level2) 687da853ecaSopenharmony_ci{ 688da853ecaSopenharmony_ci AVMuxerDemo* muxerDemo = new AVMuxerDemo(); 689da853ecaSopenharmony_ci OH_AVMuxer* handle = Create(muxerDemo); 690da853ecaSopenharmony_ci ASSERT_NE(nullptr, handle); 691da853ecaSopenharmony_ci 692da853ecaSopenharmony_ci OH_AVErrCode ret; 693da853ecaSopenharmony_ci 694da853ecaSopenharmony_ci ret = Stop(muxerDemo, handle); 695da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OPERATE_NOT_PERMIT, ret); 696da853ecaSopenharmony_ci 697da853ecaSopenharmony_ci Destroy(muxerDemo, handle); 698da853ecaSopenharmony_ci delete muxerDemo; 699da853ecaSopenharmony_ci} 700da853ecaSopenharmony_ci 701da853ecaSopenharmony_ci 702da853ecaSopenharmony_ci/** 703da853ecaSopenharmony_ci * @tc.number : SUB_MULTIMEDIA_MEDIA_MUXER_INTERFACE_DEPEND_CHECK_023 704da853ecaSopenharmony_ci * @tc.name : Create -> AddTrack -> Stop 705da853ecaSopenharmony_ci * @tc.desc : interface depend check 706da853ecaSopenharmony_ci */ 707da853ecaSopenharmony_ciHWTEST_F(NativeAVMuxerInterfaceDependCheckTest, SUB_MULTIMEDIA_MEDIA_MUXER_INTERFACE_DEPEND_CHECK_023, TestSize.Level2) 708da853ecaSopenharmony_ci{ 709da853ecaSopenharmony_ci AVMuxerDemo* muxerDemo = new AVMuxerDemo(); 710da853ecaSopenharmony_ci OH_AVMuxer* handle = Create(muxerDemo); 711da853ecaSopenharmony_ci ASSERT_NE(nullptr, handle); 712da853ecaSopenharmony_ci 713da853ecaSopenharmony_ci OH_AVErrCode ret; 714da853ecaSopenharmony_ci int32_t trackId = -1; 715da853ecaSopenharmony_ci 716da853ecaSopenharmony_ci ret = AddTrack(muxerDemo, &trackId, handle); 717da853ecaSopenharmony_ci ASSERT_EQ(0, trackId); 718da853ecaSopenharmony_ci 719da853ecaSopenharmony_ci ret = Stop(muxerDemo, handle); 720da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OPERATE_NOT_PERMIT, ret); 721da853ecaSopenharmony_ci 722da853ecaSopenharmony_ci Destroy(muxerDemo, handle); 723da853ecaSopenharmony_ci delete muxerDemo; 724da853ecaSopenharmony_ci} 725da853ecaSopenharmony_ci 726da853ecaSopenharmony_ci 727da853ecaSopenharmony_ci/** 728da853ecaSopenharmony_ci * @tc.number : SUB_MULTIMEDIA_MEDIA_MUXER_INTERFACE_DEPEND_CHECK_024 729da853ecaSopenharmony_ci * @tc.name : Create -> AddTrack -> Start -> Stop 730da853ecaSopenharmony_ci * @tc.desc : interface depend check 731da853ecaSopenharmony_ci */ 732da853ecaSopenharmony_ciHWTEST_F(NativeAVMuxerInterfaceDependCheckTest, SUB_MULTIMEDIA_MEDIA_MUXER_INTERFACE_DEPEND_CHECK_024, TestSize.Level2) 733da853ecaSopenharmony_ci{ 734da853ecaSopenharmony_ci AVMuxerDemo* muxerDemo = new AVMuxerDemo(); 735da853ecaSopenharmony_ci OH_AVMuxer* handle = Create(muxerDemo); 736da853ecaSopenharmony_ci ASSERT_NE(nullptr, handle); 737da853ecaSopenharmony_ci 738da853ecaSopenharmony_ci OH_AVErrCode ret; 739da853ecaSopenharmony_ci int32_t trackId = -1; 740da853ecaSopenharmony_ci 741da853ecaSopenharmony_ci ret = AddTrack(muxerDemo, &trackId, handle); 742da853ecaSopenharmony_ci ASSERT_EQ(0, trackId); 743da853ecaSopenharmony_ci 744da853ecaSopenharmony_ci ret = Start(muxerDemo, handle); 745da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 746da853ecaSopenharmony_ci 747da853ecaSopenharmony_ci ret = Stop(muxerDemo, handle); 748da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 749da853ecaSopenharmony_ci 750da853ecaSopenharmony_ci Destroy(muxerDemo, handle); 751da853ecaSopenharmony_ci delete muxerDemo; 752da853ecaSopenharmony_ci} 753da853ecaSopenharmony_ci 754da853ecaSopenharmony_ci 755da853ecaSopenharmony_ci/** 756da853ecaSopenharmony_ci * @tc.number : SUB_MULTIMEDIA_MEDIA_MUXER_INTERFACE_DEPEND_CHECK_025 757da853ecaSopenharmony_ci * @tc.name : Create -> SetRotation -> AddTrack -> Start -> Stop 758da853ecaSopenharmony_ci * @tc.desc : interface depend check 759da853ecaSopenharmony_ci */ 760da853ecaSopenharmony_ciHWTEST_F(NativeAVMuxerInterfaceDependCheckTest, SUB_MULTIMEDIA_MEDIA_MUXER_INTERFACE_DEPEND_CHECK_025, TestSize.Level2) 761da853ecaSopenharmony_ci{ 762da853ecaSopenharmony_ci AVMuxerDemo* muxerDemo = new AVMuxerDemo(); 763da853ecaSopenharmony_ci OH_AVMuxer* handle = Create(muxerDemo); 764da853ecaSopenharmony_ci ASSERT_NE(nullptr, handle); 765da853ecaSopenharmony_ci 766da853ecaSopenharmony_ci OH_AVErrCode ret; 767da853ecaSopenharmony_ci 768da853ecaSopenharmony_ci ret = SetRotation(muxerDemo, handle); 769da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 770da853ecaSopenharmony_ci 771da853ecaSopenharmony_ci int32_t trackId = -1; 772da853ecaSopenharmony_ci ret = AddTrack(muxerDemo, &trackId, handle); 773da853ecaSopenharmony_ci ASSERT_EQ(0, trackId); 774da853ecaSopenharmony_ci 775da853ecaSopenharmony_ci ret = Start(muxerDemo, handle); 776da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 777da853ecaSopenharmony_ci 778da853ecaSopenharmony_ci ret = Stop(muxerDemo, handle); 779da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 780da853ecaSopenharmony_ci 781da853ecaSopenharmony_ci Destroy(muxerDemo, handle); 782da853ecaSopenharmony_ci delete muxerDemo; 783da853ecaSopenharmony_ci} 784da853ecaSopenharmony_ci 785da853ecaSopenharmony_ci 786da853ecaSopenharmony_ci/** 787da853ecaSopenharmony_ci * @tc.number : SUB_MULTIMEDIA_MEDIA_MUXER_INTERFACE_DEPEND_CHECK_026 788da853ecaSopenharmony_ci * @tc.name : Create -> AddTrack -> Start -> WriteSampleBuffer -> Stop -> Stop 789da853ecaSopenharmony_ci * @tc.desc : interface depend check 790da853ecaSopenharmony_ci */ 791da853ecaSopenharmony_ciHWTEST_F(NativeAVMuxerInterfaceDependCheckTest, SUB_MULTIMEDIA_MEDIA_MUXER_INTERFACE_DEPEND_CHECK_026, TestSize.Level2) 792da853ecaSopenharmony_ci{ 793da853ecaSopenharmony_ci AVMuxerDemo* muxerDemo = new AVMuxerDemo(); 794da853ecaSopenharmony_ci OH_AVMuxer* handle = Create(muxerDemo); 795da853ecaSopenharmony_ci ASSERT_NE(nullptr, handle); 796da853ecaSopenharmony_ci 797da853ecaSopenharmony_ci OH_AVErrCode ret; 798da853ecaSopenharmony_ci 799da853ecaSopenharmony_ci int32_t trackId = -1; 800da853ecaSopenharmony_ci ret = AddTrack(muxerDemo, &trackId, handle); 801da853ecaSopenharmony_ci ASSERT_EQ(0, trackId); 802da853ecaSopenharmony_ci 803da853ecaSopenharmony_ci ret = Start(muxerDemo, handle); 804da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 805da853ecaSopenharmony_ci 806da853ecaSopenharmony_ci ret = WriteSampleBuffer(muxerDemo, handle, trackId); 807da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 808da853ecaSopenharmony_ci 809da853ecaSopenharmony_ci ret = Stop(muxerDemo, handle); 810da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 811da853ecaSopenharmony_ci 812da853ecaSopenharmony_ci ret = Stop(muxerDemo, handle); 813da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OPERATE_NOT_PERMIT, ret); 814da853ecaSopenharmony_ci 815da853ecaSopenharmony_ci Destroy(muxerDemo, handle); 816da853ecaSopenharmony_ci delete muxerDemo; 817da853ecaSopenharmony_ci} 818da853ecaSopenharmony_ci 819da853ecaSopenharmony_ci 820da853ecaSopenharmony_ci/** 821da853ecaSopenharmony_ci * @tc.number : SUB_MULTIMEDIA_MEDIA_MUXER_INTERFACE_DEPEND_CHECK_027 822da853ecaSopenharmony_ci * @tc.name : Create -> Destroy 823da853ecaSopenharmony_ci * @tc.desc : interface depend check 824da853ecaSopenharmony_ci */ 825da853ecaSopenharmony_ciHWTEST_F(NativeAVMuxerInterfaceDependCheckTest, SUB_MULTIMEDIA_MEDIA_MUXER_INTERFACE_DEPEND_CHECK_027, TestSize.Level2) 826da853ecaSopenharmony_ci{ 827da853ecaSopenharmony_ci AVMuxerDemo* muxerDemo = new AVMuxerDemo(); 828da853ecaSopenharmony_ci OH_AVMuxer* handle = Create(muxerDemo); 829da853ecaSopenharmony_ci ASSERT_NE(nullptr, handle); 830da853ecaSopenharmony_ci 831da853ecaSopenharmony_ci OH_AVErrCode ret; 832da853ecaSopenharmony_ci 833da853ecaSopenharmony_ci ret = Destroy(muxerDemo, handle); 834da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 835da853ecaSopenharmony_ci 836da853ecaSopenharmony_ci delete muxerDemo; 837da853ecaSopenharmony_ci} 838da853ecaSopenharmony_ci 839da853ecaSopenharmony_ci 840da853ecaSopenharmony_ci/** 841da853ecaSopenharmony_ci * @tc.number : SUB_MULTIMEDIA_MEDIA_MUXER_INTERFACE_DEPEND_CHECK_028 842da853ecaSopenharmony_ci * @tc.name : Create -> SetRotation -> Destroy 843da853ecaSopenharmony_ci * @tc.desc : interface depend check 844da853ecaSopenharmony_ci */ 845da853ecaSopenharmony_ciHWTEST_F(NativeAVMuxerInterfaceDependCheckTest, SUB_MULTIMEDIA_MEDIA_MUXER_INTERFACE_DEPEND_CHECK_028, TestSize.Level2) 846da853ecaSopenharmony_ci{ 847da853ecaSopenharmony_ci AVMuxerDemo* muxerDemo = new AVMuxerDemo(); 848da853ecaSopenharmony_ci OH_AVMuxer* handle = Create(muxerDemo); 849da853ecaSopenharmony_ci ASSERT_NE(nullptr, handle); 850da853ecaSopenharmony_ci 851da853ecaSopenharmony_ci OH_AVErrCode ret; 852da853ecaSopenharmony_ci 853da853ecaSopenharmony_ci ret = SetRotation(muxerDemo, handle); 854da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 855da853ecaSopenharmony_ci 856da853ecaSopenharmony_ci ret = Destroy(muxerDemo, handle); 857da853ecaSopenharmony_ci ASSERT_EQ(AV_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_029 865da853ecaSopenharmony_ci * @tc.name : Create -> AddTrack -> Destroy 866da853ecaSopenharmony_ci * @tc.desc : interface depend check 867da853ecaSopenharmony_ci */ 868da853ecaSopenharmony_ciHWTEST_F(NativeAVMuxerInterfaceDependCheckTest, SUB_MULTIMEDIA_MEDIA_MUXER_INTERFACE_DEPEND_CHECK_029, TestSize.Level2) 869da853ecaSopenharmony_ci{ 870da853ecaSopenharmony_ci AVMuxerDemo* muxerDemo = new AVMuxerDemo(); 871da853ecaSopenharmony_ci OH_AVMuxer* handle = Create(muxerDemo); 872da853ecaSopenharmony_ci ASSERT_NE(nullptr, handle); 873da853ecaSopenharmony_ci 874da853ecaSopenharmony_ci OH_AVErrCode ret; 875da853ecaSopenharmony_ci int32_t trackId = -1; 876da853ecaSopenharmony_ci 877da853ecaSopenharmony_ci ret = AddTrack(muxerDemo, &trackId, handle); 878da853ecaSopenharmony_ci ASSERT_EQ(0, trackId); 879da853ecaSopenharmony_ci 880da853ecaSopenharmony_ci ret = Destroy(muxerDemo, handle); 881da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 882da853ecaSopenharmony_ci 883da853ecaSopenharmony_ci delete muxerDemo; 884da853ecaSopenharmony_ci} 885da853ecaSopenharmony_ci 886da853ecaSopenharmony_ci 887da853ecaSopenharmony_ci/** 888da853ecaSopenharmony_ci * @tc.number : SUB_MULTIMEDIA_MEDIA_MUXER_INTERFACE_DEPEND_CHECK_030 889da853ecaSopenharmony_ci * @tc.name : Create -> AddTrack -> Start -> Destroy 890da853ecaSopenharmony_ci * @tc.desc : interface depend check 891da853ecaSopenharmony_ci */ 892da853ecaSopenharmony_ciHWTEST_F(NativeAVMuxerInterfaceDependCheckTest, SUB_MULTIMEDIA_MEDIA_MUXER_INTERFACE_DEPEND_CHECK_030, TestSize.Level2) 893da853ecaSopenharmony_ci{ 894da853ecaSopenharmony_ci AVMuxerDemo* muxerDemo = new AVMuxerDemo(); 895da853ecaSopenharmony_ci OH_AVMuxer* handle = Create(muxerDemo); 896da853ecaSopenharmony_ci ASSERT_NE(nullptr, handle); 897da853ecaSopenharmony_ci 898da853ecaSopenharmony_ci OH_AVErrCode ret; 899da853ecaSopenharmony_ci int32_t trackId = -1; 900da853ecaSopenharmony_ci 901da853ecaSopenharmony_ci ret = AddTrack(muxerDemo, &trackId, handle); 902da853ecaSopenharmony_ci ASSERT_EQ(0, trackId); 903da853ecaSopenharmony_ci 904da853ecaSopenharmony_ci ret = Start(muxerDemo, handle); 905da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 906da853ecaSopenharmony_ci 907da853ecaSopenharmony_ci ret = Destroy(muxerDemo, handle); 908da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 909da853ecaSopenharmony_ci 910da853ecaSopenharmony_ci delete muxerDemo; 911da853ecaSopenharmony_ci} 912da853ecaSopenharmony_ci 913da853ecaSopenharmony_ci 914da853ecaSopenharmony_ci/** 915da853ecaSopenharmony_ci * @tc.number : SUB_MULTIMEDIA_MEDIA_MUXER_INTERFACE_DEPEND_CHECK_031 916da853ecaSopenharmony_ci * @tc.name : Create -> AddTrack -> Start -> WriteSampleBuffer -> Destroy 917da853ecaSopenharmony_ci * @tc.desc : interface depend check 918da853ecaSopenharmony_ci */ 919da853ecaSopenharmony_ciHWTEST_F(NativeAVMuxerInterfaceDependCheckTest, SUB_MULTIMEDIA_MEDIA_MUXER_INTERFACE_DEPEND_CHECK_031, TestSize.Level2) 920da853ecaSopenharmony_ci{ 921da853ecaSopenharmony_ci AVMuxerDemo* muxerDemo = new AVMuxerDemo(); 922da853ecaSopenharmony_ci OH_AVMuxer* handle = Create(muxerDemo); 923da853ecaSopenharmony_ci ASSERT_NE(nullptr, handle); 924da853ecaSopenharmony_ci 925da853ecaSopenharmony_ci OH_AVErrCode ret; 926da853ecaSopenharmony_ci int32_t trackId = -1; 927da853ecaSopenharmony_ci 928da853ecaSopenharmony_ci ret = AddTrack(muxerDemo, &trackId, handle); 929da853ecaSopenharmony_ci ASSERT_EQ(0, trackId); 930da853ecaSopenharmony_ci 931da853ecaSopenharmony_ci ret = Start(muxerDemo, handle); 932da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 933da853ecaSopenharmony_ci 934da853ecaSopenharmony_ci ret = WriteSampleBuffer(muxerDemo, handle, trackId); 935da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 936da853ecaSopenharmony_ci 937da853ecaSopenharmony_ci ret = Destroy(muxerDemo, handle); 938da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 939da853ecaSopenharmony_ci 940da853ecaSopenharmony_ci delete muxerDemo; 941da853ecaSopenharmony_ci} 942da853ecaSopenharmony_ci 943da853ecaSopenharmony_ci 944da853ecaSopenharmony_ci/** 945da853ecaSopenharmony_ci * @tc.number : SUB_MULTIMEDIA_MEDIA_MUXER_INTERFACE_DEPEND_CHECK_032 946da853ecaSopenharmony_ci * @tc.name : Create -> AddTrack -> Start -> WriteSampleBuffer -> Stop -> Destroy 947da853ecaSopenharmony_ci * @tc.desc : interface depend check 948da853ecaSopenharmony_ci */ 949da853ecaSopenharmony_ciHWTEST_F(NativeAVMuxerInterfaceDependCheckTest, SUB_MULTIMEDIA_MEDIA_MUXER_INTERFACE_DEPEND_CHECK_032, TestSize.Level2) 950da853ecaSopenharmony_ci{ 951da853ecaSopenharmony_ci AVMuxerDemo* muxerDemo = new AVMuxerDemo(); 952da853ecaSopenharmony_ci OH_AVMuxer* handle = Create(muxerDemo); 953da853ecaSopenharmony_ci ASSERT_NE(nullptr, handle); 954da853ecaSopenharmony_ci 955da853ecaSopenharmony_ci OH_AVErrCode ret; 956da853ecaSopenharmony_ci int32_t trackId = -1; 957da853ecaSopenharmony_ci 958da853ecaSopenharmony_ci ret = AddTrack(muxerDemo, &trackId, handle); 959da853ecaSopenharmony_ci ASSERT_EQ(0, trackId); 960da853ecaSopenharmony_ci 961da853ecaSopenharmony_ci ret = Start(muxerDemo, handle); 962da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 963da853ecaSopenharmony_ci 964da853ecaSopenharmony_ci ret = WriteSampleBuffer(muxerDemo, handle, trackId); 965da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 966da853ecaSopenharmony_ci 967da853ecaSopenharmony_ci ret = Stop(muxerDemo, handle); 968da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 969da853ecaSopenharmony_ci 970da853ecaSopenharmony_ci ret = Destroy(muxerDemo, handle); 971da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 972da853ecaSopenharmony_ci 973da853ecaSopenharmony_ci delete muxerDemo; 974da853ecaSopenharmony_ci} 975da853ecaSopenharmony_ci 976da853ecaSopenharmony_ci 977da853ecaSopenharmony_ci/** 978da853ecaSopenharmony_ci * @tc.number : SUB_MULTIMEDIA_MEDIA_MUXER_INTERFACE_DEPEND_CHECK_033 979da853ecaSopenharmony_ci * @tc.name : Create -> SetRotation -> AddTrack -> Start -> WriteSampleBuffer -> Stop -> Destroy 980da853ecaSopenharmony_ci * @tc.desc : interface depend check 981da853ecaSopenharmony_ci */ 982da853ecaSopenharmony_ciHWTEST_F(NativeAVMuxerInterfaceDependCheckTest, SUB_MULTIMEDIA_MEDIA_MUXER_INTERFACE_DEPEND_CHECK_033, TestSize.Level2) 983da853ecaSopenharmony_ci{ 984da853ecaSopenharmony_ci AVMuxerDemo* muxerDemo = new AVMuxerDemo(); 985da853ecaSopenharmony_ci OH_AVMuxer* handle = Create(muxerDemo); 986da853ecaSopenharmony_ci ASSERT_NE(nullptr, handle); 987da853ecaSopenharmony_ci 988da853ecaSopenharmony_ci OH_AVErrCode ret; 989da853ecaSopenharmony_ci 990da853ecaSopenharmony_ci ret = SetRotation(muxerDemo, handle); 991da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 992da853ecaSopenharmony_ci 993da853ecaSopenharmony_ci int32_t trackId = -1; 994da853ecaSopenharmony_ci ret = AddTrack(muxerDemo, &trackId, handle); 995da853ecaSopenharmony_ci ASSERT_EQ(0, trackId); 996da853ecaSopenharmony_ci 997da853ecaSopenharmony_ci ret = Start(muxerDemo, handle); 998da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 999da853ecaSopenharmony_ci 1000da853ecaSopenharmony_ci ret = WriteSampleBuffer(muxerDemo, handle, trackId); 1001da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 1002da853ecaSopenharmony_ci 1003da853ecaSopenharmony_ci ret = Stop(muxerDemo, handle); 1004da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 1005da853ecaSopenharmony_ci 1006da853ecaSopenharmony_ci ret = Destroy(muxerDemo, handle); 1007da853ecaSopenharmony_ci ASSERT_EQ(AV_ERR_OK, ret); 1008da853ecaSopenharmony_ci 1009da853ecaSopenharmony_ci delete muxerDemo; 1010da853ecaSopenharmony_ci}