1 /* 2 * Copyright (c) 2023-2024 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 OHOS_DAUDIO_TEST_UTILS_H 17 #define OHOS_DAUDIO_TEST_UTILS_H 18 19 #include <gtest/gtest.h> 20 #include <gmock/gmock.h> 21 22 #include <v1_0/iaudio_callback.h> 23 #include <v1_0/iaudio_capture.h> 24 #include <v1_0/iaudio_render.h> 25 #include <v2_0/id_audio_callback.h> 26 27 #include "daudio_errcode.h" 28 29 namespace OHOS { 30 namespace HDI { 31 namespace DistributedAudio { 32 namespace Audio { 33 namespace V1_0 { 34 using OHOS::HDI::DistributedAudio::Audioext::V2_0::DAudioEvent; 35 using OHOS::HDI::DistributedAudio::Audioext::V2_0::AudioData; 36 using OHOS::HDI::DistributedAudio::Audioext::V2_0::AudioParameter; 37 using OHOS::HDI::DistributedAudio::Audioext::V2_0::CurrentTime; 38 using OHOS::HDI::DistributedAudio::Audioext::V2_0::IDAudioCallback; 39 using OHOS::HDI::DistributedAudio::Audio::V1_0::IAudioCallback; 40 class MockIDAudioCallback : public IDAudioCallback { 41 public: MockIDAudioCallback()42 MockIDAudioCallback() {} ~MockIDAudioCallback()43 ~MockIDAudioCallback() {} 44 CreateStream(int32_t streamId)45 int32_t CreateStream(int32_t streamId) override 46 { 47 return DistributedHardware::DH_SUCCESS; 48 } 49 DestroyStream(int32_t streamId)50 int32_t DestroyStream(int32_t streamId) override 51 { 52 return DistributedHardware::DH_SUCCESS; 53 } 54 SetParameters(int32_t streamId,const AudioParameter & param)55 int32_t SetParameters(int32_t streamId, const AudioParameter ¶m) override 56 { 57 return DistributedHardware::DH_SUCCESS; 58 } 59 NotifyEvent(int32_t streamId,const DAudioEvent & event)60 int32_t NotifyEvent(int32_t streamId, const DAudioEvent &event) override 61 { 62 return DistributedHardware::DH_SUCCESS; 63 } 64 WriteStreamData(int32_t streamId,const AudioData & data)65 int32_t WriteStreamData(int32_t streamId, const AudioData &data) override 66 { 67 return DistributedHardware::DH_SUCCESS; 68 } 69 ReadStreamData(int32_t streamId,AudioData & data)70 int32_t ReadStreamData(int32_t streamId, AudioData &data) override 71 { 72 return DistributedHardware::DH_SUCCESS; 73 } 74 ReadMmapPosition(int32_t streamId,uint64_t & frames,CurrentTime & time)75 int32_t ReadMmapPosition(int32_t streamId, uint64_t &frames, CurrentTime &time) override 76 { 77 return DistributedHardware::DH_SUCCESS; 78 } 79 RefreshAshmemInfo(int32_t streamId,int fd,int32_t ashmemLength,int32_t lengthPerTrans)80 int32_t RefreshAshmemInfo(int32_t streamId, int fd, int32_t ashmemLength, int32_t lengthPerTrans) override 81 { 82 return DistributedHardware::DH_SUCCESS; 83 } 84 }; 85 86 class MockIAudioRender : public IAudioRender { 87 public: MockIAudioRender()88 MockIAudioRender() {} ~MockIAudioRender()89 ~MockIAudioRender() {} 90 GetLatency(uint32_t & ms)91 int32_t GetLatency(uint32_t &ms) override 92 { 93 return DistributedHardware::DH_SUCCESS; 94 } 95 RenderFrame(const std::vector<int8_t> & frame,uint64_t & replyBytes)96 int32_t RenderFrame(const std::vector<int8_t> &frame, uint64_t &replyBytes) override 97 { 98 return DistributedHardware::DH_SUCCESS; 99 } 100 GetRenderPosition(uint64_t & frames,AudioTimeStamp & time)101 int32_t GetRenderPosition(uint64_t &frames, AudioTimeStamp &time) override 102 { 103 return DistributedHardware::DH_SUCCESS; 104 } 105 SetRenderSpeed(float speed)106 int32_t SetRenderSpeed(float speed) override 107 { 108 return DistributedHardware::DH_SUCCESS; 109 } 110 GetRenderSpeed(float & speed)111 int32_t GetRenderSpeed(float &speed) override 112 { 113 return DistributedHardware::DH_SUCCESS; 114 } 115 SetChannelMode(AudioChannelMode mode)116 int32_t SetChannelMode(AudioChannelMode mode) override 117 { 118 return DistributedHardware::DH_SUCCESS; 119 } 120 GetChannelMode(AudioChannelMode & mode)121 int32_t GetChannelMode(AudioChannelMode &mode) override 122 { 123 return DistributedHardware::DH_SUCCESS; 124 } 125 RegCallback(const sptr<IAudioCallback> & audioCallback,int8_t cookie)126 int32_t RegCallback(const sptr<IAudioCallback> &audioCallback, int8_t cookie) override 127 { 128 return DistributedHardware::DH_SUCCESS; 129 } 130 DrainBuffer(AudioDrainNotifyType & type)131 int32_t DrainBuffer(AudioDrainNotifyType &type) override 132 { 133 return DistributedHardware::DH_SUCCESS; 134 } 135 IsSupportsDrain(bool & support)136 int32_t IsSupportsDrain(bool &support) override 137 { 138 return DistributedHardware::DH_SUCCESS; 139 } 140 CheckSceneCapability(const AudioSceneDescriptor & scene,bool & supported)141 int32_t CheckSceneCapability(const AudioSceneDescriptor &scene, bool &supported) override 142 { 143 return DistributedHardware::DH_SUCCESS; 144 } 145 SelectScene(const AudioSceneDescriptor & scene)146 int32_t SelectScene(const AudioSceneDescriptor &scene) override 147 { 148 return DistributedHardware::DH_SUCCESS; 149 } 150 SetMute(bool mute)151 int32_t SetMute(bool mute) override 152 { 153 return DistributedHardware::DH_SUCCESS; 154 } 155 GetMute(bool & mute)156 int32_t GetMute(bool &mute) override 157 { 158 return DistributedHardware::DH_SUCCESS; 159 } 160 SetVolume(float volume)161 int32_t SetVolume(float volume) override 162 { 163 return DistributedHardware::DH_SUCCESS; 164 } 165 GetVolume(float & volume)166 int32_t GetVolume(float &volume) override 167 { 168 return DistributedHardware::DH_SUCCESS; 169 } 170 GetGainThreshold(float & min,float & max)171 int32_t GetGainThreshold(float &min, float &max) override 172 { 173 return DistributedHardware::DH_SUCCESS; 174 } 175 SetGain(float gain)176 int32_t SetGain(float gain) override 177 { 178 return DistributedHardware::DH_SUCCESS; 179 } 180 GetGain(float & gain)181 int32_t GetGain(float &gain) override 182 { 183 return DistributedHardware::DH_SUCCESS; 184 } 185 GetFrameSize(uint64_t & size)186 int32_t GetFrameSize(uint64_t &size) override 187 { 188 return DistributedHardware::DH_SUCCESS; 189 } 190 GetFrameCount(uint64_t & count)191 int32_t GetFrameCount(uint64_t &count) override 192 { 193 return DistributedHardware::DH_SUCCESS; 194 } 195 SetSampleAttributes(const AudioSampleAttributes & attrs)196 int32_t SetSampleAttributes(const AudioSampleAttributes &attrs) override 197 { 198 return DistributedHardware::DH_SUCCESS; 199 } 200 GetSampleAttributes(AudioSampleAttributes & attrs)201 int32_t GetSampleAttributes(AudioSampleAttributes &attrs) override 202 { 203 return DistributedHardware::DH_SUCCESS; 204 } 205 GetCurrentChannelId(uint32_t & channelId)206 int32_t GetCurrentChannelId(uint32_t &channelId) override 207 { 208 return DistributedHardware::DH_SUCCESS; 209 } 210 SetExtraParams(const std::string & keyValueList)211 int32_t SetExtraParams(const std::string &keyValueList) override 212 { 213 return DistributedHardware::DH_SUCCESS; 214 } 215 GetExtraParams(std::string & keyValueList)216 int32_t GetExtraParams(std::string &keyValueList) override 217 { 218 return DistributedHardware::DH_SUCCESS; 219 } 220 ReqMmapBuffer(int32_t reqSize,AudioMmapBufferDescriptor & desc)221 int32_t ReqMmapBuffer(int32_t reqSize, AudioMmapBufferDescriptor &desc) override 222 { 223 return DistributedHardware::DH_SUCCESS; 224 } 225 GetMmapPosition(uint64_t & frames,AudioTimeStamp & time)226 int32_t GetMmapPosition(uint64_t &frames, AudioTimeStamp &time) override 227 { 228 return DistributedHardware::DH_SUCCESS; 229 } 230 AddAudioEffect(uint64_t effectid)231 int32_t AddAudioEffect(uint64_t effectid) override 232 { 233 return DistributedHardware::DH_SUCCESS; 234 } 235 RemoveAudioEffect(uint64_t effectid)236 int32_t RemoveAudioEffect(uint64_t effectid) override 237 { 238 return DistributedHardware::DH_SUCCESS; 239 } 240 GetFrameBufferSize(uint64_t & bufferSize)241 int32_t GetFrameBufferSize(uint64_t &bufferSize) override 242 { 243 return DistributedHardware::DH_SUCCESS; 244 } 245 Start()246 int32_t Start() override 247 { 248 return DistributedHardware::DH_SUCCESS; 249 } 250 Stop()251 int32_t Stop() override 252 { 253 return DistributedHardware::DH_SUCCESS; 254 } 255 Pause()256 int32_t Pause() override 257 { 258 return DistributedHardware::DH_SUCCESS; 259 } 260 Resume()261 int32_t Resume() override 262 { 263 return DistributedHardware::DH_SUCCESS; 264 } 265 Flush()266 int32_t Flush() override 267 { 268 return DistributedHardware::DH_SUCCESS; 269 } 270 TurnStandbyMode()271 int32_t TurnStandbyMode() override 272 { 273 return DistributedHardware::DH_SUCCESS; 274 } 275 AudioDevDump(int32_t range,int32_t fd)276 int32_t AudioDevDump(int32_t range, int32_t fd) override 277 { 278 return DistributedHardware::DH_SUCCESS; 279 } 280 IsSupportsPauseAndResume(bool & supportPause,bool & supportResume)281 int32_t IsSupportsPauseAndResume(bool &supportPause, bool &supportResume) override 282 { 283 return DistributedHardware::DH_SUCCESS; 284 } 285 }; 286 287 class MockIAudioCapture : public IAudioCapture { 288 public: MockIAudioCapture()289 MockIAudioCapture() {} ~MockIAudioCapture()290 ~MockIAudioCapture() {} 291 CaptureFrame(std::vector<int8_t> & frame,uint64_t & replyBytes)292 int32_t CaptureFrame(std::vector<int8_t> &frame, uint64_t &replyBytes) override 293 { 294 return DistributedHardware::DH_SUCCESS; 295 } 296 GetCapturePosition(uint64_t & frames,AudioTimeStamp & time)297 int32_t GetCapturePosition(uint64_t &frames, AudioTimeStamp &time) override 298 { 299 return DistributedHardware::DH_SUCCESS; 300 } 301 CheckSceneCapability(const AudioSceneDescriptor & scene,bool & supported)302 int32_t CheckSceneCapability(const AudioSceneDescriptor &scene, bool &supported) override 303 { 304 return DistributedHardware::DH_SUCCESS; 305 } 306 SelectScene(const AudioSceneDescriptor & scene)307 int32_t SelectScene(const AudioSceneDescriptor &scene) override 308 { 309 return DistributedHardware::DH_SUCCESS; 310 } 311 SetMute(bool mute)312 int32_t SetMute(bool mute) override 313 { 314 return DistributedHardware::DH_SUCCESS; 315 } 316 GetMute(bool & mute)317 int32_t GetMute(bool &mute) override 318 { 319 return DistributedHardware::DH_SUCCESS; 320 } 321 SetVolume(float volume)322 int32_t SetVolume(float volume) override 323 { 324 return DistributedHardware::DH_SUCCESS; 325 } 326 GetVolume(float & volume)327 int32_t GetVolume(float &volume) override 328 { 329 return DistributedHardware::DH_SUCCESS; 330 } 331 GetGainThreshold(float & min,float & max)332 int32_t GetGainThreshold(float &min, float &max) override 333 { 334 return DistributedHardware::DH_SUCCESS; 335 } 336 GetGain(float & gain)337 int32_t GetGain(float &gain) override 338 { 339 return DistributedHardware::DH_SUCCESS; 340 } 341 SetGain(float gain)342 int32_t SetGain(float gain) override 343 { 344 return DistributedHardware::DH_SUCCESS; 345 } 346 GetFrameSize(uint64_t & size)347 int32_t GetFrameSize(uint64_t &size) override 348 { 349 return DistributedHardware::DH_SUCCESS; 350 } 351 GetFrameCount(uint64_t & count)352 int32_t GetFrameCount(uint64_t &count) override 353 { 354 return DistributedHardware::DH_SUCCESS; 355 } 356 SetSampleAttributes(const AudioSampleAttributes & attrs)357 int32_t SetSampleAttributes(const AudioSampleAttributes &attrs) override 358 { 359 return DistributedHardware::DH_SUCCESS; 360 } 361 GetSampleAttributes(AudioSampleAttributes & attrs)362 int32_t GetSampleAttributes(AudioSampleAttributes &attrs) override 363 { 364 return DistributedHardware::DH_SUCCESS; 365 } 366 GetCurrentChannelId(uint32_t & channelId)367 int32_t GetCurrentChannelId(uint32_t &channelId) override 368 { 369 return DistributedHardware::DH_SUCCESS; 370 } 371 SetExtraParams(const std::string & keyValueList)372 int32_t SetExtraParams(const std::string &keyValueList) override 373 { 374 return DistributedHardware::DH_SUCCESS; 375 } 376 GetExtraParams(std::string & keyValueList)377 int32_t GetExtraParams(std::string &keyValueList) override 378 { 379 return DistributedHardware::DH_SUCCESS; 380 } 381 ReqMmapBuffer(int32_t reqSize,AudioMmapBufferDescriptor & desc)382 int32_t ReqMmapBuffer(int32_t reqSize, AudioMmapBufferDescriptor &desc) override 383 { 384 return DistributedHardware::DH_SUCCESS; 385 } 386 GetMmapPosition(uint64_t & frames,AudioTimeStamp & time)387 int32_t GetMmapPosition(uint64_t &frames, AudioTimeStamp &time) override 388 { 389 return DistributedHardware::DH_SUCCESS; 390 } 391 AddAudioEffect(uint64_t effectid)392 int32_t AddAudioEffect(uint64_t effectid) override 393 { 394 return DistributedHardware::DH_SUCCESS; 395 } 396 RemoveAudioEffect(uint64_t effectid)397 int32_t RemoveAudioEffect(uint64_t effectid) override 398 { 399 return DistributedHardware::DH_SUCCESS; 400 } 401 GetFrameBufferSize(uint64_t & bufferSize)402 int32_t GetFrameBufferSize(uint64_t &bufferSize) override 403 { 404 return DistributedHardware::DH_SUCCESS; 405 } 406 Start()407 int32_t Start() override 408 { 409 return DistributedHardware::DH_SUCCESS; 410 } 411 Stop()412 int32_t Stop() override 413 { 414 return DistributedHardware::DH_SUCCESS; 415 } 416 Pause()417 int32_t Pause() override 418 { 419 return DistributedHardware::DH_SUCCESS; 420 } 421 Resume()422 int32_t Resume() override 423 { 424 return DistributedHardware::DH_SUCCESS; 425 } 426 Flush()427 int32_t Flush() override 428 { 429 return DistributedHardware::DH_SUCCESS; 430 } 431 TurnStandbyMode()432 int32_t TurnStandbyMode() override 433 { 434 return DistributedHardware::DH_SUCCESS; 435 } 436 AudioDevDump(int32_t range,int32_t fd)437 int32_t AudioDevDump(int32_t range, int32_t fd) override 438 { 439 return DistributedHardware::DH_SUCCESS; 440 } 441 IsSupportsPauseAndResume(bool & supportPause,bool & supportResume)442 int32_t IsSupportsPauseAndResume(bool &supportPause, bool &supportResume) override 443 { 444 return DistributedHardware::DH_SUCCESS; 445 } 446 }; 447 448 class MockIAudioParamCallback : public IAudioCallback { 449 public: MockIAudioParamCallback()450 MockIAudioParamCallback() {} ~MockIAudioParamCallback()451 ~MockIAudioParamCallback() {} 452 RenderCallback(AudioCallbackType type,int8_t & reserved,int8_t & cookie)453 int32_t RenderCallback(AudioCallbackType type, int8_t &reserved, int8_t &cookie) override 454 { 455 return DistributedHardware::DH_SUCCESS; 456 } 457 ParamCallback(AudioExtParamKey key,const std::string & condition,const std::string & value,int8_t & reserved,int8_t cookie)458 int32_t ParamCallback(AudioExtParamKey key, const std::string& condition, const std::string& value, 459 int8_t &reserved, int8_t cookie) override 460 { 461 return DistributedHardware::DH_SUCCESS; 462 } 463 }; 464 465 class MockRevertIAudioParamCallback : public IAudioCallback { 466 public: MockRevertIAudioParamCallback()467 MockRevertIAudioParamCallback() {} ~MockRevertIAudioParamCallback()468 ~MockRevertIAudioParamCallback() {} 469 RenderCallback(AudioCallbackType type,int8_t & reserved,int8_t & cookie)470 int32_t RenderCallback(AudioCallbackType type, int8_t &reserved, int8_t &cookie) override 471 { 472 return DistributedHardware::ERR_DH_AUDIO_HDF_FAIL; 473 } 474 ParamCallback(AudioExtParamKey key,const std::string & condition,const std::string & value,int8_t & reserved,int8_t cookie)475 int32_t ParamCallback(AudioExtParamKey key, const std::string& condition, const std::string& value, 476 int8_t &reserved, int8_t cookie) override 477 { 478 return DistributedHardware::ERR_DH_AUDIO_HDF_FAIL; 479 } 480 }; 481 482 class MockRevertIDAudioCallback : public IDAudioCallback { 483 public: MockRevertIDAudioCallback()484 MockRevertIDAudioCallback() {} ~MockRevertIDAudioCallback()485 ~MockRevertIDAudioCallback() {} 486 CreateStream(int32_t streamId)487 int32_t CreateStream(int32_t streamId) override 488 { 489 return DistributedHardware::ERR_DH_AUDIO_HDF_FAIL; 490 } 491 DestroyStream(int32_t streamId)492 int32_t DestroyStream(int32_t streamId) override 493 { 494 return DistributedHardware::ERR_DH_AUDIO_HDF_FAIL; 495 } 496 SetParameters(int32_t streamId,const AudioParameter & param)497 int32_t SetParameters(int32_t streamId, const AudioParameter ¶m) override 498 { 499 return DistributedHardware::ERR_DH_AUDIO_HDF_FAIL; 500 } 501 NotifyEvent(int32_t streamId,const DAudioEvent & event)502 int32_t NotifyEvent(int32_t streamId, const DAudioEvent &event) override 503 { 504 return DistributedHardware::ERR_DH_AUDIO_HDF_FAIL; 505 } 506 WriteStreamData(int32_t streamId,const AudioData & data)507 int32_t WriteStreamData(int32_t streamId, const AudioData &data) override 508 { 509 return DistributedHardware::ERR_DH_AUDIO_HDF_FAIL; 510 } 511 ReadStreamData(int32_t streamId,AudioData & data)512 int32_t ReadStreamData(int32_t streamId, AudioData &data) override 513 { 514 return DistributedHardware::ERR_DH_AUDIO_HDF_FAIL; 515 } 516 ReadMmapPosition(int32_t streamId,uint64_t & frames,CurrentTime & time)517 int32_t ReadMmapPosition(int32_t streamId, uint64_t &frames, CurrentTime &time) override 518 { 519 return DistributedHardware::DH_SUCCESS; 520 } 521 RefreshAshmemInfo(int32_t streamId,int fd,int32_t ashmemLength,int32_t lengthPerTrans)522 int32_t RefreshAshmemInfo(int32_t streamId, int fd, int32_t ashmemLength, int32_t lengthPerTrans) override 523 { 524 return DistributedHardware::DH_SUCCESS; 525 } 526 }; 527 } // V1_0 528 } // AudioExt 529 } // Distributedaudio 530 } // HDI 531 } // OHOS 532 #endif // OHOS_DAUDIO_TEST_UTILS_H