diff --git a/frameworks/innerkitsimpl/test/moduletest/renderer_test/src/audio_renderer_module_test.cpp b/frameworks/innerkitsimpl/test/moduletest/renderer_test/src/audio_renderer_module_test.cpp index dbda8132e5644d539169075a1d2c303c1a9e6a14..c842c60c34329db4a4bbd7a4460b1c34a105c679 100644 --- a/frameworks/innerkitsimpl/test/moduletest/renderer_test/src/audio_renderer_module_test.cpp +++ b/frameworks/innerkitsimpl/test/moduletest/renderer_test/src/audio_renderer_module_test.cpp @@ -1265,6 +1265,11 @@ HWTEST(AudioRendererModuleTest, Audio_Renderer_Write_008, TestSize.Level1) sleep(PAUSE_RENDER_TIME_SECONDS); isStarted = audioRenderer->Start(); EXPECT_EQ(true, isStarted); + + ret = audioRenderer->SetVolume(0.5); + EXPECT_EQ(SUCCESS, ret); + float volume = audioRenderer->GetVolume(); + EXPECT_EQ(0.5, volume); } while ((static_cast(bytesWritten) < bytesToWrite) && diff --git a/services/src/client/audio_service_client.cpp b/services/src/client/audio_service_client.cpp index a699bbc08080405fa6db9f04ff5e4444b666b2cf..44dba8a6f2468378dc0864071be5196a762bccc7 100644 --- a/services/src/client/audio_service_client.cpp +++ b/services/src/client/audio_service_client.cpp @@ -1149,9 +1149,7 @@ int32_t AudioServiceClient::SetStreamVolume(float volume) return AUDIO_CLIENT_ERR; } - while (pa_operation_get_state(operation) == PA_OPERATION_RUNNING) { - pa_threaded_mainloop_wait(mainLoop); - } + pa_threaded_mainloop_accept(mainLoop); pa_operation_unref(operation); pa_threaded_mainloop_unlock(mainLoop); @@ -1175,7 +1173,7 @@ void AudioServiceClient::GetSinkInputInfoVolumeCb(pa_context *c, const pa_sink_i } if (eol) { - pa_threaded_mainloop_signal(thiz->mainLoop, 0); + pa_threaded_mainloop_signal(thiz->mainLoop, 1); return; }