diff --git a/test/fuzztest/audiomanager_fuzzer/audio_manager_fuzzer.cpp b/test/fuzztest/audiomanager_fuzzer/audio_manager_fuzzer.cpp index a5eb774fcffdbda5a3158fd37b5e6bcd50bdbc72..801e8eb5d5be5ff37da9915ccf5aaf5f0b0ecd7c 100644 --- a/test/fuzztest/audiomanager_fuzzer/audio_manager_fuzzer.cpp +++ b/test/fuzztest/audiomanager_fuzzer/audio_manager_fuzzer.cpp @@ -34,6 +34,10 @@ void AudioRendererStateCallbackFuzz::OnRendererStateChange( void AudioCapturerStateCallbackFuzz::OnCapturerStateChange( const std::vector> &audioCapturerChangeInfos) {} + +void AudioManagerAvailableDeviceChangeCallbackFUZZ::OnAvailableDeviceChange( + const AudioDeviceUsage usage, const DeviceChangeAction &deviceChangeAction) {} + const int32_t LIMITSIZE = 4; void AudioManagerFuzzTest(const uint8_t* data, size_t size) { @@ -75,6 +79,11 @@ void AudioManagerFuzzTest(const uint8_t* data, size_t size) std::make_shared(); AudioSystemManager::GetInstance()->RegisterFocusInfoChangeCallback(focusInfoChangeCallbackFuzz); AudioSystemManager::GetInstance()->UnregisterFocusInfoChangeCallback(); + AudioDeviceUsage usage = *reinterpret_cast(data); + shared_ptr availableDeviceChangeCallbackFUZZ = + std::make_shared(); + AudioSystemManager::GetInstance()->SetAvailableDeviceChangeCallback(usage, availableDeviceChangeCallbackFUZZ); + AudioSystemManager::GetInstance()->UnsetAvailableDeviceChangeCallback(usage); } void AudioRoutingManagerFuzzTest(const uint8_t* data, size_t size) @@ -105,6 +114,8 @@ void AudioRoutingManagerFuzzTest(const uint8_t* data, size_t size) AudioRoutingManager::GetInstance()->SetPreferredInputDeviceChangeCallback(capturerInfo, preferredInputCallbackFuzz); AudioRoutingManager::GetInstance()->UnsetPreferredInputDeviceChangeCallback(); AudioRoutingManager::GetInstance()->GetAvailableMicrophones(); + AudioDeviceUsage usage = *reinterpret_cast(data); + AudioRoutingManager::GetInstance()->GetAvailableDevices(usage); } void AudioStreamManagerFuzzTest(const uint8_t* data, size_t size) diff --git a/test/fuzztest/audiomanager_fuzzer/audio_manager_fuzzer.h b/test/fuzztest/audiomanager_fuzzer/audio_manager_fuzzer.h index 89f3b5570067c8d5e61f699796e8888f5416802c..c43f234492fe1c7b94538a166080254ab4c2695d 100644 --- a/test/fuzztest/audiomanager_fuzzer/audio_manager_fuzzer.h +++ b/test/fuzztest/audiomanager_fuzzer/audio_manager_fuzzer.h @@ -56,6 +56,13 @@ public: virtual ~AudioFocusInfoChangeCallbackFuzz() = default; virtual void OnAudioFocusInfoChange(const std::list> &focusInfoList) {}; }; + +class AudioManagerAvailableDeviceChangeCallbackFUZZ : public AudioManagerAvailableDeviceChangeCallback { +public: + explicit AudioManagerAvailableDeviceChangeCallbackFUZZ() = default; + virtual ~AudioManagerAvailableDeviceChangeCallbackFUZZ() = default; + void OnAvailableDeviceChange(const AudioDeviceUsage usage, const DeviceChangeAction &deviceChangeAction) override; +}; } // namespace AudioStandard } // namesapce OHOS