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