diff --git a/frameworks/native/player/test/unittest/include/player_mock.h b/frameworks/native/player/test/unittest/include/player_mock.h index 2fcaa6bccea165ee60f9bf125e46be13802b18aa..02e1db501c0d458b8373cc4d4a0c9771d6b45843 100644 --- a/frameworks/native/player/test/unittest/include/player_mock.h +++ b/frameworks/native/player/test/unittest/include/player_mock.h @@ -179,6 +179,7 @@ public: int32_t EnableReportMediaProgress(bool enable); void ReleaseClientListener(); int32_t EnableReportAudioInterrupt(bool enable); + std::vector GetPlayerPids(); private: void SeekPrepare(int32_t &mseconds, PlayerSeekMode &mode); std::shared_ptr player_ = nullptr; diff --git a/frameworks/native/player/test/unittest/src/player_mock.cpp b/frameworks/native/player/test/unittest/src/player_mock.cpp index 7e4706446160980c402d6891079b979935e69c31..905e295f5abb2b939735e1147ab7aecab04cbf76 100644 --- a/frameworks/native/player/test/unittest/src/player_mock.cpp +++ b/frameworks/native/player/test/unittest/src/player_mock.cpp @@ -855,5 +855,10 @@ void PlayerMock::ReleaseClientListener() UNITTEST_CHECK_AND_RETURN_LOG(player_ != nullptr, "player_ == nullptr"); player_->ReleaseClientListener(); } +std::vector GetPlayerPids() +{ + UNITTEST_CHECK_AND_RETURN_LOG(player_ != nullptr, "player_ == nullptr"); + return PlayerFactory::GetPlayerPids(); +} } // namespace Media } // namespace OHOS diff --git a/frameworks/native/player/test/unittest/src/player_unit_test.cpp b/frameworks/native/player/test/unittest/src/player_unit_test.cpp index e8a75c839c16c38fac3a2a23a43abfd621849c04..a882fb70ea0655ac34c667caef9fea97910d4afe 100644 --- a/frameworks/native/player/test/unittest/src/player_unit_test.cpp +++ b/frameworks/native/player/test/unittest/src/player_unit_test.cpp @@ -4741,5 +4741,97 @@ HWTEST_F(PlayerUnitTest, Player_EnableReportMediaProgress_004, TestSize.Level0) ASSERT_EQ(MSERR_OK, player_->EnableReportMediaProgress(true)); EXPECT_EQ(MSERR_OK, player_->Play()); } + +/** + * @tc.name : Test EnableReportMediaProgress API + * @tc.number: Player_GetPlayerPids_001 + * @tc.desc : Test Player GetPlayerPids + * */ +HWTEST_F(PlayerUnitTest, Player_GetPlayerPids_001, TestSize.Level0) +{ + ASSERT_EQ(MSERR_OK, player_->SetSource(VIDEO_FILE1)); + sptr videoSurface = player_->GetVideoSurface(); + ASSERT_NE(nullptr, videoSurface); + EXPECT_EQ(MSERR_OK, player_->SetVideoSurface(videoSurface)); + EXPECT_EQ(MSERR_OK, player_->Prepare()); + EXPECT_EQ(MSERR_OK, player_->Play()); + std::vector pids = player_->GetPlayerPids() + EXPECT_TRUE(pids.empty()); +} + +/** + * @tc.name : Test SetPlaybackRate API + * @tc.number: Player_SetPlaybackRate_003 + * @tc.desc : Test Player SetPlaybackRate + */ +HWTEST_F(PlayerUnitTest, Player_SetPlaybackRate_003, TestSize.Level2) +{ + int32_t duration = 0; + float playbackRate1 = 2.5f; + float playbackRate2 = 1.25f; + float playbackRate3 = 1.0f; + float playbackRate4 = 4.0f; + ASSERT_EQ(MSERR_OK, player_->SetSource(VIDEO_FILE1)); + EXPECT_NE(MSERR_OK, player_->SetPlaybackRate(playbackRate1)); + sptr videoSurface = player_->GetVideoSurface(); + ASSERT_NE(nullptr, videoSurface); + EXPECT_EQ(MSERR_OK, player_->SetVideoSurface(videoSurface)); + EXPECT_NE(MSERR_OK, player_->SetPlaybackRate(playbackRate1)); + EXPECT_EQ(MSERR_OK, player_->PrepareAsync()); + EXPECT_EQ(MSERR_OK, player_->SetPlaybackRate(playbackRate1)); + EXPECT_EQ(MSERR_OK, player_->Play()); + EXPECT_EQ(MSERR_OK, player_->SetPlaybackRate(playbackRate1)); + EXPECT_EQ(MSERR_OK, player_->Pause()); + EXPECT_EQ(MSERR_OK, player_->SetPlaybackRate(playbackRate2)); + EXPECT_EQ(MSERR_OK, player_->GetDuration(duration)); + EXPECT_EQ(MSERR_OK, player_->Seek(duration, SEEK_CLOSEST)); + EXPECT_EQ(MSERR_OK, player_->Play()); + sleep(PLAYING_TIME_2_SEC); + EXPECT_EQ(MSERR_OK, player_->SetPlaybackRate(playbackRate2)); + EXPECT_EQ(MSERR_OK, player_->Stop()); + EXPECT_NE(MSERR_OK, player_->SetPlaybackRate(playbackRate3)); + EXPECT_EQ(MSERR_OK, player_->Reset()); + EXPECT_NE(MSERR_INVALID_VAL, player_->SetPlaybackRate(playbackRate4)); +} + +/** + * @tc.name : Test SetPlaybackStrategy + * @tc.number: Player_SetPlaybackStrategy_003 + * @tc.desc : Test Player SetPlaybackStrategy + */ +HWTEST_F(PlayerUnitTest, Player_SetPlaybackStrategy_003, TestSize.Level0) +{ + AVPlayStrategy playbackStrategy = { + .preferredHdr = true + }; + ASSERT_NE(MSERR_OK, player_->SetPlaybackStrategy(playbackStrategy)); + ASSERT_EQ(MSERR_OK, player_->SetSource(VIDEO_FILE1)); + ASSERT_EQ(MSERR_OK, player_->SetPlaybackStrategy(playbackStrategy)); + sptr videoSurface = player_->GetVideoSurface(); + ASSERT_NE(nullptr, videoSurface); + EXPECT_EQ(MSERR_OK, player_->SetVideoSurface(videoSurface)); + EXPECT_EQ(MSERR_OK, player_->Prepare()); + EXPECT_EQ(MSERR_OK, player_->Play()); + EXPECT_EQ(MSERR_OK, player_->Pause()); +} + +/** + * @tc.name : Test SetMediaMuted + * @tc.number: Player_SetMediaMuted_003 + * @tc.desc : Test Player SetMediaMuted + */ +HWTEST_F(PlayerUnitTest, Player_SetMediaMuted_003, TestSize.Level0) +{ + ASSERT_NE(MSERR_OK, player_->SetMediaMuted(OHOS::Media::MediaType::MEDIA_TYPE_VID, true)); + ASSERT_EQ(MSERR_OK, player_->SetSource(VIDEO_FILE1)); + ASSERT_EQ(MSERR_OK, player_->SetMediaMuted(OHOS::Media::MediaType::MEDIA_TYPE_VID, false)); + ASSERT_EQ(MSERR_OK, player_->PrepareAsync()); + ASSERT_EQ(MSERR_OK, player_->SetMediaMuted(OHOS::Media::MediaType::MEDIA_TYPE_VID, true)); + ASSERT_EQ(MSERR_OK, player_->Play()); + ASSERT_EQ(MSERR_OK, player_->SetMediaMuted(OHOS::Media::MediaType::MEDIA_TYPE_VID, false)); + ASSERT_EQ(MSERR_OK, player_->Stop()); + ASSERT_EQ(MSERR_OK, player_->SetMediaMuted(OHOS::Media::MediaType::MEDIA_TYPE_VID, true)); + ASSERT_EQ(MSERR_OK, player_->Play()); +} } // namespace Media } // namespace OHOS