1 /* 2 * Copyright (c) 2025 Huawei Device Co., Ltd. 3 * Licensed under the Apache License, Version 2.0 (the "License"); 4 * you may not use this file except in compliance with the License. 5 * You may obtain a copy of the License at 6 * 7 * http://www.apache.org/licenses/LICENSE-2.0 8 * 9 * Unless required by applicable law or agreed to in writing, software 10 * distributed under the License is distributed on an "AS IS" BASIS, 11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 * See the License for the specific language governing permissions and 13 * limitations under the License. 14 */ 15 16 #ifndef MOCK_AUDIORENDER_H 17 #define MOCK_AUDIORENDER_H 18 19 #include <gmock/gmock.h> 20 21 namespace OHOS { 22 namespace Media { 23 24 class MockAudioRender : public AudioStandard::AudioRenderer { 25 public: 26 MOCK_METHOD(void, SetAudioPrivacyType, (AudioStandard::AudioPrivacyType privacyType), (override)); 27 MOCK_METHOD(AudioStandard::AudioPrivacyType, GetAudioPrivacyType, (), (override)); 28 MOCK_METHOD(int32_t, SetParams, (const AudioStandard::AudioRendererParams params), (override)); 29 MOCK_METHOD(int32_t, SetRendererCallback, 30 (const std::shared_ptr<AudioStandard::AudioRendererCallback> &callback), (override)); 31 MOCK_METHOD(int32_t, GetParams, (AudioStandard::AudioRendererParams ¶ms), (const, override)); 32 MOCK_METHOD(int32_t, GetRendererInfo, (AudioStandard::AudioRendererInfo &rendererInfo), (const, override)); 33 MOCK_METHOD(int32_t, GetStreamInfo, (AudioStandard::AudioStreamInfo &streamInfo), (const, override)); 34 MOCK_METHOD(bool, Start, (AudioStandard::StateChangeCmdType cmdType), (override)); 35 MOCK_METHOD(int32_t, Write, (uint8_t *buffer, size_t bufferSize), (override)); 36 MOCK_METHOD(int32_t, Write, 37 (uint8_t *pcmBuffer, size_t pcmBufferSize, uint8_t *metaBuffer, size_t metaBufferSize), (override)); 38 MOCK_METHOD(AudioStandard::RendererState, GetStatus, (), (const, override)); 39 MOCK_METHOD(bool, GetAudioTime, 40 (AudioStandard::Timestamp ×tamp, AudioStandard::Timestamp::Timestampbase base), (const, override)); 41 MOCK_METHOD(bool, GetAudioPosition, 42 (AudioStandard::Timestamp ×tamp, AudioStandard::Timestamp::Timestampbase base), (override)); 43 MOCK_METHOD(int32_t, GetLatency, (uint64_t &latency), (const, override)); 44 MOCK_METHOD(bool, Drain, (), (const, override)); 45 MOCK_METHOD(bool, Flush, (), (const, override)); 46 MOCK_METHOD(bool, PauseTransitent, (AudioStandard::StateChangeCmdType cmdType), (override)); 47 MOCK_METHOD(bool, Pause, (AudioStandard::StateChangeCmdType cmdType), (override)); 48 MOCK_METHOD(bool, Stop, (), (override)); 49 MOCK_METHOD(int32_t, GetBufferSize, (size_t &bufferSize), (const, override)); 50 MOCK_METHOD(int32_t, GetAudioStreamId, (uint32_t &sessionID), (const, override)); 51 MOCK_METHOD(int32_t, GetFrameCount, (uint32_t &frameCount), (const, override)); 52 MOCK_METHOD(int32_t, SetAudioRendererDesc, (AudioStandard::AudioRendererDesc audioRendererDesc), (override)); 53 MOCK_METHOD(int32_t, SetStreamType, (AudioStandard::AudioStreamType audioStreamType), (override)); 54 MOCK_METHOD(int32_t, SetVolume, (float volume), (const, override)); 55 MOCK_METHOD(int32_t, SetVolumeMode, (int32_t mode), (override)); 56 MOCK_METHOD(float, GetVolume, (), (const, override)); 57 MOCK_METHOD(int32_t, SetRenderRate, (AudioStandard::AudioRendererRate renderRate), (const, override)); 58 MOCK_METHOD(AudioStandard::AudioRendererRate, GetRenderRate, (), (const, override)); 59 MOCK_METHOD(int32_t, SetRendererSamplingRate, (uint32_t sampleRate), (const, override)); 60 MOCK_METHOD(uint32_t, GetRendererSamplingRate, (), (const, override)); 61 MOCK_METHOD(int32_t, SetRendererPositionCallback, (int64_t markPosition, 62 const std::shared_ptr<AudioStandard::RendererPositionCallback> &callback), (override)); 63 MOCK_METHOD(void, UnsetRendererPositionCallback, (), (override)); 64 MOCK_METHOD(void, SetPreferredFrameSize, (int32_t frameSize), (override)); 65 MOCK_METHOD(int32_t, SetRendererPeriodPositionCallback, (int64_t frameNumber, 66 const std::shared_ptr<AudioStandard::RendererPeriodPositionCallback> &callback), (override)); 67 MOCK_METHOD(void, UnsetRendererPeriodPositionCallback, (), (override)); 68 MOCK_METHOD(int32_t, SetBufferDuration, (uint64_t bufferDuration), (const, override)); 69 MOCK_METHOD(int32_t, SetRenderMode, (AudioStandard::AudioRenderMode renderMode), (override)); 70 MOCK_METHOD(AudioStandard::AudioRenderMode, GetRenderMode, (), (const, override)); 71 MOCK_METHOD(int32_t, SetRendererWriteCallback, 72 (const std::shared_ptr<AudioStandard::AudioRendererWriteCallback> &callback), (override)); 73 MOCK_METHOD(int32_t, SetRendererFirstFrameWritingCallback, 74 (const std::shared_ptr<AudioStandard::AudioRendererFirstFrameWritingCallback> &callback), (override)); 75 MOCK_METHOD(int32_t, GetBufferDesc, (AudioStandard::BufferDesc &bufDesc), (override)); 76 MOCK_METHOD(int32_t, Enqueue, (const AudioStandard::BufferDesc &bufDesc), (override)); 77 MOCK_METHOD(int32_t, Clear, (), (const, override)); 78 MOCK_METHOD(int32_t, GetBufQueueState, (AudioStandard::BufferQueueState &bufState), (const, override)); 79 MOCK_METHOD(void, SetInterruptMode, (AudioStandard::InterruptMode mode), (override)); 80 MOCK_METHOD(int32_t, SetParallelPlayFlag, (bool parallelPlayFlag), (override)); 81 MOCK_METHOD(int32_t, SetLowPowerVolume, (float volume), (const, override)); 82 MOCK_METHOD(float, GetLowPowerVolume, (), (const, override)); 83 MOCK_METHOD(int32_t, SetOffloadAllowed, (bool isAllowed), (override)); 84 MOCK_METHOD(int32_t, SetOffloadMode, (int32_t state, bool isAppBack), (const, override)); 85 MOCK_METHOD(int32_t, UnsetOffloadMode, (), (const, override)); 86 MOCK_METHOD(float, GetSingleStreamVolume, (), (const, override)); 87 MOCK_METHOD(float, GetMinStreamVolume, (), (const, override)); 88 MOCK_METHOD(float, GetMaxStreamVolume, (), (const, override)); 89 MOCK_METHOD(uint32_t, GetUnderflowCount, (), (const, override)); 90 MOCK_METHOD(int32_t, GetCurrentOutputDevices, (AudioStandard::AudioDeviceDescriptor &deviceInfo), 91 (const, override)); 92 MOCK_METHOD(AudioStandard::AudioEffectMode, GetAudioEffectMode, (), (const, override)); 93 MOCK_METHOD(int64_t, GetFramesWritten, (), (const, override)); 94 MOCK_METHOD(int32_t, SetAudioEffectMode, (AudioStandard::AudioEffectMode effectMode), (const, override)); 95 MOCK_METHOD(void, SetAudioRendererErrorCallback, 96 (std::shared_ptr<AudioStandard::AudioRendererErrorCallback> errorCallback), (override)); 97 MOCK_METHOD(int32_t, RegisterOutputDeviceChangeWithInfoCallback, 98 (const std::shared_ptr<AudioStandard::AudioRendererOutputDeviceChangeCallback> &callback), (override)); 99 MOCK_METHOD(int32_t, UnregisterOutputDeviceChangeWithInfoCallback, 100 (const std::shared_ptr<AudioStandard::AudioRendererOutputDeviceChangeCallback> &callback), (override)); 101 MOCK_METHOD(int32_t, UnregisterOutputDeviceChangeWithInfoCallback, (), (override)); 102 MOCK_METHOD(int32_t, RegisterAudioPolicyServerDiedCb, (const int32_t clientPid, 103 const std::shared_ptr<AudioStandard::AudioRendererPolicyServiceDiedCallback> &callback), (override)); 104 MOCK_METHOD(int32_t, UnregisterAudioPolicyServerDiedCb, (const int32_t clientPid), (override)); 105 MOCK_METHOD(int32_t, SetChannelBlendMode, (AudioStandard::ChannelBlendMode blendMode), (override)); 106 MOCK_METHOD(int32_t, SetVolumeWithRamp, (float volume, int32_t duration), (override)); 107 MOCK_METHOD(int32_t, SetSpeed, (float speed), (override)); 108 MOCK_METHOD(int32_t, SetPitch, (float pitch), ()); 109 MOCK_METHOD(float, GetSpeed, (), (override)); 110 MOCK_METHOD(bool, IsFastRenderer, (), (override)); 111 MOCK_METHOD(void, SetSilentModeAndMixWithOthers, (bool on), (override)); 112 MOCK_METHOD(bool, GetSilentModeAndMixWithOthers, (), (override)); 113 MOCK_METHOD(void, EnableVoiceModemCommunicationStartStream, (bool enable), (override)); 114 MOCK_METHOD(bool, IsNoStreamRenderer, (), (const, override)); 115 MOCK_METHOD(int32_t, GetAudioTimestampInfo, 116 (AudioStandard::Timestamp ×tamp, AudioStandard::Timestamp::Timestampbase base), (const, override)); 117 MOCK_METHOD(bool, Release, (), (override)); 118 MOCK_METHOD(void, SetFastStatusChangeCallback, 119 (const std::shared_ptr<AudioStandard::AudioRendererFastStatusChangeCallback>& callback), 120 (override)); 121 MOCK_METHOD(void, SetAudioHapticsSyncId, (int32_t audioHapticsSyncId), (override)); 122 MOCK_METHOD(void, ResetFirstFrameState, (), (override)); 123 }; 124 } // namespace Media 125 } // namespace OHOS 126 #endif // SOUNDPOOL_STREAM_UNITTEST_H 127