diff --git a/services/audio_service/server/src/pa_renderer_stream_impl.cpp b/services/audio_service/server/src/pa_renderer_stream_impl.cpp index 5991643c5aab0d28c6d676a6afb0ab2b83999434..73d86327818bbe9c9df852a1906bbcc61938fe3f 100644 --- a/services/audio_service/server/src/pa_renderer_stream_impl.cpp +++ b/services/audio_service/server/src/pa_renderer_stream_impl.cpp @@ -201,8 +201,8 @@ int32_t PaRendererStreamImpl::Pause(bool isStandby) return ERR_OPERATION_FAILED; } - AudioVolume::GetInstance()->SetFadeoutState(sinkInputIndex_, DO_FADE); - if (!offloadEnable_) { + if (!offloadEnable_ && !isStandby) { + AudioVolume::GetInstance()->SetFadeoutState(sinkInputIndex_, DO_FADE); palock.Unlock(); { std::unique_lock lock(fadingMutex_); diff --git a/services/audio_service/test/unittest/pa_renderer_stream_impl_unit_test.cpp b/services/audio_service/test/unittest/pa_renderer_stream_impl_unit_test.cpp index bcd669f4f533f04edea730b0abf1d5f93502547f..dab9deaf347cbc341b4ee15983b057c0e0351b54 100644 --- a/services/audio_service/test/unittest/pa_renderer_stream_impl_unit_test.cpp +++ b/services/audio_service/test/unittest/pa_renderer_stream_impl_unit_test.cpp @@ -918,5 +918,21 @@ HWTEST_F(PaRendererStreamUnitTest, PaRenderer_051, TestSize.Level1) ReleasePaPort(); #endif } + +/** + * @tc.name : Test Pause. + * @tc.type : FUNC + * @tc.number: PaRenderer_052 + * @tc.desc : Test Pause. + */ +HWTEST_F(PaRendererStreamUnitTest, PaRenderer_052, TestSize.Level1) +{ + auto unit = CreatePaRendererStreamImpl(); + unit->paStream_ = nullptr; + unit->offloadEnable_ = false; + bool isStandby = false; + int32_t ret = unit->Pause(isStandby); + EXPECT_EQ(ret, ERR_ILLEGAL_STATE); +} } } \ No newline at end of file