From 15388ba09768520e858686a1086e6d1efdae73f0 Mon Sep 17 00:00:00 2001 From: yupanwen Date: Sat, 30 Aug 2025 17:51:10 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9exceptionFlag?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 136******92 Change-Id: I20404e345d1673f1cd6027d1fe9db3f664414f6d --- .../device/src/audio_recovery_device.cpp | 2 ++ .../src/audio_core_service_unit_test.cpp | 32 ++++++++++++++++++- 2 files changed, 33 insertions(+), 1 deletion(-) diff --git a/services/audio_policy/server/domain/device/src/audio_recovery_device.cpp b/services/audio_policy/server/domain/device/src/audio_recovery_device.cpp index 4d697ebc54..5ca397a9f9 100644 --- a/services/audio_policy/server/domain/device/src/audio_recovery_device.cpp +++ b/services/audio_policy/server/domain/device/src/audio_recovery_device.cpp @@ -176,6 +176,8 @@ void AudioRecoveryDevice::SetDeviceEnableAndUsage(const std::shared_ptrdeviceUsage_ = ALL_USAGE; audioDeviceManager_.UpdateDevicesListInfo(deviceDesc, USAGE_UPDATE); + deviceDesc->exceptionFlag_ = false; + audioDeviceManager_.UpdateDevicesListInfo(deviceDesc, EXCEPTION_FLAG_UPDATE); } int32_t AudioRecoveryDevice::SelectOutputDevice(sptr audioRendererFilter, diff --git a/services/audio_policy/test/unittest/audio_core_service_unit_test/src/audio_core_service_unit_test.cpp b/services/audio_policy/test/unittest/audio_core_service_unit_test/src/audio_core_service_unit_test.cpp index deda232776..beb195ac0c 100644 --- a/services/audio_policy/test/unittest/audio_core_service_unit_test/src/audio_core_service_unit_test.cpp +++ b/services/audio_policy/test/unittest/audio_core_service_unit_test/src/audio_core_service_unit_test.cpp @@ -455,6 +455,36 @@ HWTEST_F(AudioCoreServiceUnitTest, SelectOutputDevice_001, TestSize.Level1) EXPECT_EQ(SUCCESS, result); } +/** +* @tc.name : Test AudioCoreService. +* @tc.number: SelectOutputDevice_002 +* @tc.desc : Test SelectOutputDevice - will return success. +*/ +HWTEST_F(AudioCoreServiceUnitTest, SelectOutputDevice_002, TestSize.Level1) +{ + AUDIO_INFO_LOG("AudioCoreServiceUnitTest SelectOutputDevice_001 start"); + ASSERT_NE(nullptr, GetServerPtr()); + sptr audioRendererFilter = new(std::nothrow) AudioRendererFilter(); + ASSERT_NE(nullptr, audioRendererFilter) << "audioRendererFilter is nullptr."; + audioRendererFilter->uid = getuid(); + audioRendererFilter->rendererInfo.rendererFlags = STREAM_FLAG_FAST; + audioRendererFilter->rendererInfo.streamUsage = STREAM_USAGE_MUSIC; + + auto &devMan = AudioDeviceManager::GetAudioDeviceManager(); + shared_ptr devDesc; + for (auto &item : devMan.connectedDevices_) { + if (item->deviceRole_ == OUTPUT_DEVICE) { + devDesc = item; + break; + } + } + CHECK_AND_RETURN(devDesc); + auto selectedDev = make_shared(devDesc); + devDesc->exceptionFlag_ = true; + GetServerPtr()->eventEntry_->SelectOutputDevice(audioRendererFilter, {selectedDev}); + EXPECT_EQ(devDesc->exceptionFlag_, false); +} + /** * @tc.name : Test AudioCoreService. * @tc.number: SelectInputDevice_001 @@ -1219,7 +1249,7 @@ HWTEST_F(AudioCoreServiceUnitTest, CaptureConcurrentCheck_001, TestSize.Level1) streamDescs[i]->streamInfo_.encoding = AudioEncodingType::ENCODING_PCM; streamDescs[i]->streamInfo_.channelLayout = AudioChannelLayout::CH_LAYOUT_STEREO; streamDescs[i]->rendererInfo_.streamUsage = STREAM_USAGE_MOVIE; - + streamDescs[i]->audioMode_ = AUDIO_MODE_RECORD; streamDescs[i]->createTimeStamp_ = ClockTime::GetCurNano(); streamDescs[i]->startTimeStamp_ = streamDescs[i]->createTimeStamp_ + 1; -- Gitee