• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 
2 /*
3  * Copyright (C) 2025 Huawei Device Co., Ltd.
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *     http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 #ifndef MOCK_AUDIO_RENDERER_H
17 #define MOCK_AUDIO_RENDERER_H
18 
19 #include <cstring>
20 #include "gtest/gtest.h"
21 #include "gmock/gmock.h"
22 
23 #include "audio_info.h"
24 #include "audio_renderer.h"
25 #include "audio_effect.h"
26 #include "audio_stream_info.h"
27 #include "audio_interrupt_info.h"
28 
29 namespace OHOS {
30 namespace Media {
31 class MockAudioRenderer : public AudioStandard::AudioRenderer {
32 public:
33     MockAudioRenderer() = default;
34     virtual ~MockAudioRenderer() = default;
35 
36     MOCK_METHOD(void, SetAudioPrivacyType, (AudioStandard::AudioPrivacyType), (override));
37     MOCK_METHOD(AudioStandard::AudioPrivacyType, GetAudioPrivacyType, (), (override));
38     MOCK_METHOD(int32_t, SetParams, (const AudioStandard::AudioRendererParams), (override));
39     MOCK_METHOD(int32_t, SetRendererCallback,
40         (const std::shared_ptr<AudioStandard::AudioRendererCallback> &), (override));
41     MOCK_METHOD(int32_t, GetParams, (AudioStandard::AudioRendererParams &), (const, override));
42     MOCK_METHOD(int32_t, GetRendererInfo, (AudioStandard::AudioRendererInfo &), (const, override));
43     MOCK_METHOD(int32_t, GetStreamInfo, (AudioStandard::AudioStreamInfo &), (const, override));
44     MOCK_METHOD(bool, Start, (AudioStandard::StateChangeCmdType), (override));
45     MOCK_METHOD(int32_t, Write, (uint8_t *, size_t), (override));
46     MOCK_METHOD(int32_t, Write, (uint8_t *, size_t, uint8_t *, size_t), (override));
47     MOCK_METHOD(AudioStandard::RendererState, GetStatus, (), (const, override));
48     MOCK_METHOD(bool, GetAudioTime,
49         (AudioStandard::Timestamp &, AudioStandard::Timestamp::Timestampbase), (const, override));
50     MOCK_METHOD(bool, GetAudioPosition,
51         (AudioStandard::Timestamp &, AudioStandard::Timestamp::Timestampbase), (override));
52     MOCK_METHOD(int32_t, GetLatency, (uint64_t &), (const, override));
53     MOCK_METHOD(bool, Drain, (), (const, override));
54     MOCK_METHOD(bool, Flush, (), (const, override));
55     MOCK_METHOD(bool, PauseTransitent, (AudioStandard::StateChangeCmdType), (override));
56     MOCK_METHOD(bool, Pause, (AudioStandard::StateChangeCmdType), (override));
57     MOCK_METHOD(bool, Stop, (), (override));
58     MOCK_METHOD(bool, Release, (), (override));
59     MOCK_METHOD(int32_t, GetBufferSize, (size_t &), (const, override));
60     MOCK_METHOD(int32_t, GetAudioStreamId, (uint32_t &), (const, override));
61     MOCK_METHOD(int32_t, GetFrameCount, (uint32_t &), (const, override));
62     MOCK_METHOD(int32_t, SetAudioRendererDesc, (AudioStandard::AudioRendererDesc), (override));
63     MOCK_METHOD(int32_t, SetStreamType, (AudioStandard::AudioStreamType), (override));
64     MOCK_METHOD(int32_t, SetVolume, (float), (const, override));
65     MOCK_METHOD(float, GetVolume, (), (const, override));
66     MOCK_METHOD(int32_t, SetRenderRate, (AudioStandard::AudioRendererRate), (const, override));
67     MOCK_METHOD(AudioStandard::AudioRendererRate, GetRenderRate, (), (const, override));
68     MOCK_METHOD(int32_t, SetRendererSamplingRate, (uint32_t), (const, override));
69     MOCK_METHOD(uint32_t, GetRendererSamplingRate, (), (const, override));
70     MOCK_METHOD(int32_t, SetRendererPositionCallback,
71         (int64_t, const std::shared_ptr<AudioStandard::RendererPositionCallback> &), (override));
72     MOCK_METHOD(void, UnsetRendererPositionCallback, (), (override));
73     MOCK_METHOD(int32_t, SetRendererPeriodPositionCallback,
74         (int64_t, const std::shared_ptr<AudioStandard::RendererPeriodPositionCallback> &), (override));
75     MOCK_METHOD(void, UnsetRendererPeriodPositionCallback, (), (override));
76     MOCK_METHOD(int32_t, SetBufferDuration, (uint64_t), (const, override));
77     MOCK_METHOD(int32_t, SetRenderMode, (AudioStandard::AudioRenderMode), (override));
78     MOCK_METHOD(AudioStandard::AudioRenderMode, GetRenderMode, (), (const, override));
79     MOCK_METHOD(int32_t, SetRendererWriteCallback,
80         (const std::shared_ptr<AudioStandard::AudioRendererWriteCallback> &), (override));
81     MOCK_METHOD(int32_t, SetRendererFirstFrameWritingCallback,
82         (const std::shared_ptr<AudioStandard::AudioRendererFirstFrameWritingCallback> &), (override));
83     MOCK_METHOD(int32_t, GetBufferDesc, (AudioStandard::BufferDesc &), (override));
84     MOCK_METHOD(int32_t, Enqueue, (const AudioStandard::BufferDesc &), (override));
85     MOCK_METHOD(int32_t, Clear, (), (const, override));
86     MOCK_METHOD(int32_t, GetBufQueueState, (AudioStandard::BufferQueueState &), (const, override));
87     MOCK_METHOD(void, SetInterruptMode, (AudioStandard::InterruptMode), (override));
88     MOCK_METHOD(int32_t, SetParallelPlayFlag, (bool), (override));
89     MOCK_METHOD(int32_t, SetLowPowerVolume, (float), (const, override));
90     MOCK_METHOD(float, GetLowPowerVolume, (), (const, override));
91     MOCK_METHOD(int32_t, SetOffloadAllowed, (bool), (override));
92     MOCK_METHOD(int32_t, SetOffloadMode, (int32_t, bool), (const, override));
93     MOCK_METHOD(int32_t, UnsetOffloadMode, (), (const, override));
94     MOCK_METHOD(float, GetSingleStreamVolume, (), (const, override));
95     MOCK_METHOD(float, GetMinStreamVolume, (), (const, override));
96     MOCK_METHOD(float, GetMaxStreamVolume, (), (const, override));
97     MOCK_METHOD(uint32_t, GetUnderflowCount, (), (const, override));
98     MOCK_METHOD(int32_t, GetCurrentOutputDevices, (AudioStandard::AudioDeviceDescriptor &), (const, override));
99     MOCK_METHOD(AudioStandard::AudioEffectMode, GetAudioEffectMode, (), (const, override));
100     MOCK_METHOD(int64_t, GetFramesWritten, (), (const, override));
101     MOCK_METHOD(int32_t, SetAudioEffectMode, (AudioStandard::AudioEffectMode), (const, override));
102     MOCK_METHOD(void, SetAudioRendererErrorCallback,
103         (std::shared_ptr<AudioStandard::AudioRendererErrorCallback>), (override));
104     MOCK_METHOD(int32_t, RegisterOutputDeviceChangeWithInfoCallback,
105         (const std::shared_ptr<AudioStandard::AudioRendererOutputDeviceChangeCallback> &), (override));
106     MOCK_METHOD(int32_t, UnregisterOutputDeviceChangeWithInfoCallback, (), (override));
107     MOCK_METHOD(int32_t, UnregisterOutputDeviceChangeWithInfoCallback,
108         (const std::shared_ptr<AudioStandard::AudioRendererOutputDeviceChangeCallback> &), (override));
109     MOCK_METHOD(int32_t, RegisterAudioPolicyServerDiedCb,
110         (const int32_t, const std::shared_ptr<AudioStandard::AudioRendererPolicyServiceDiedCallback> &), (override));
111     MOCK_METHOD(int32_t, UnregisterAudioPolicyServerDiedCb, (const int32_t), (override));
112     MOCK_METHOD(int32_t, SetChannelBlendMode, (AudioStandard::ChannelBlendMode), (override));
113     MOCK_METHOD(int32_t, SetVolumeWithRamp, (float, int32_t), (override));
114     MOCK_METHOD(void, SetPreferredFrameSize, (int32_t), (override));
115     MOCK_METHOD(int32_t, SetSpeed, (float), (override));
116     MOCK_METHOD(float, GetSpeed, (), (override));
117     MOCK_METHOD(bool, IsFastRenderer, (), (override));
118     MOCK_METHOD(void, SetSilentModeAndMixWithOthers, (bool), (override));
119     MOCK_METHOD(bool, GetSilentModeAndMixWithOthers, (), (override));
120     MOCK_METHOD(void, EnableVoiceModemCommunicationStartStream, (bool), (override));
121     MOCK_METHOD(bool, IsNoStreamRenderer, (), (const, override));
122     MOCK_METHOD(int32_t, SetDefaultOutputDevice, (AudioStandard::DeviceType), (override));
123     MOCK_METHOD(bool, Mute, (AudioStandard::StateChangeCmdType), (const, override));
124     MOCK_METHOD(bool, Unmute, (AudioStandard::StateChangeCmdType), (const, override));
125     MOCK_METHOD(int32_t, GetAudioTimestampInfo,
126         (AudioStandard::Timestamp &, AudioStandard::Timestamp::Timestampbase), (const, override));
127     MOCK_METHOD(void, SetFastStatusChangeCallback,
128         (const std::shared_ptr<AudioStandard::AudioRendererFastStatusChangeCallback> &), (override));
129 };
130 } // namespace Media
131 } // namespace OHOS
132 #endif // MOCK_AUDIO_RENDERER_H
133