From 1005fdcc46141a6f558420194aca8ad49463c838 Mon Sep 17 00:00:00 2001 From: Charles Date: Mon, 25 Aug 2025 15:19:20 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E8=99=9A=E6=8B=9F=E8=8A=82=E7=82=B9?= =?UTF-8?q?=E6=B3=A8=E5=85=A5=E7=9B=B8=E5=85=B3=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Charles --- .../manager/include/hpae_manager.h | 7 +++++ .../manager/include/hpae_manager_impl.h | 8 ++++++ .../manager/include/i_hpae_manager.h | 8 ++++++ .../audio_engine/manager/src/hpae_manager.cpp | 17 ++++++++++++ .../manager/src/hpae_manager_impl.cpp | 27 +++++++++++++++++++ 5 files changed, 67 insertions(+) diff --git a/services/audio_engine/manager/include/hpae_manager.h b/services/audio_engine/manager/include/hpae_manager.h index 9db7d9f61b..e75ecfb9e7 100644 --- a/services/audio_engine/manager/include/hpae_manager.h +++ b/services/audio_engine/manager/include/hpae_manager.h @@ -185,6 +185,13 @@ public: int32_t UpdateCollaborativeState(bool isCollaborationEnabled) override; void AddStreamVolumeToEffect(const std::string stringSessionID, const float streamVolume) override; void DeleteStreamVolumeToEffect(const std::string stringSessionID) override; + // interfaces for injector + void UpdateAudioPortInfo(const uint32_t &sinkPortIndex, const AudioModuleInfo &audioPortInfo) override; + void AddCaptureInjector( + const uint32_t &sinkPortIndex, const uint32_t &sourcePortIndex, const SourceType &sourceType) override; + void RemoveCaptureInjector( + const uint32_t &sinkPortIndex, const uint32_t &sourcePortIndex, const SourceType &sourceType) override; + int32_t PeekAudioData(const uint32_t &sinkPortIndex, uint8_t *buffer, size_t bufferSize) override; private: int32_t CloseOutAudioPort(std::string sinkName); int32_t CloseInAudioPort(std::string sourceName); diff --git a/services/audio_engine/manager/include/hpae_manager_impl.h b/services/audio_engine/manager/include/hpae_manager_impl.h index 193003245b..b6a8fb5bb6 100644 --- a/services/audio_engine/manager/include/hpae_manager_impl.h +++ b/services/audio_engine/manager/include/hpae_manager_impl.h @@ -139,6 +139,14 @@ public: int32_t UpdateCollaborativeState(bool isCollaborationEnabled) override; void AddStreamVolumeToEffect(const std::string stringSessionID, const float streamVolume) override; void DeleteStreamVolumeToEffect(const std::string stringSessionID) override; + + // interfaces for injector + void UpdateAudioPortInfo(const uint32_t &sinkPortIndex, const AudioModuleInfo &audioPortInfo) override; + void AddCaptureInjector( + const uint32_t &sinkPortIndex, const uint32_t &sourcePortIndex, const SourceType &sourceType) override; + void RemoveCaptureInjector( + const uint32_t &sinkPortIndex, const uint32_t &sourcePortIndex, const SourceType &sourceType) override; + int32_t PeekAudioData(const uint32_t &sinkPortIndex, uint8_t *buffer, size_t bufferSize) override; private: std::shared_ptr manager_; }; diff --git a/services/audio_engine/manager/include/i_hpae_manager.h b/services/audio_engine/manager/include/i_hpae_manager.h index 3fa458db44..2035223a25 100644 --- a/services/audio_engine/manager/include/i_hpae_manager.h +++ b/services/audio_engine/manager/include/i_hpae_manager.h @@ -143,6 +143,14 @@ public: virtual int32_t UpdateCollaborativeState(bool isCollaborationEnabled) = 0; virtual void AddStreamVolumeToEffect(const std::string stringSessionID, const float streamVolume) = 0; virtual void DeleteStreamVolumeToEffect(const std::string stringSessionID) = 0; + + // interfaces for injector + virtual void UpdateAudioPortInfo(const uint32_t &sinkPortIndex, const AudioModuleInfo &audioPortInfo) = 0; + virtual void AddCaptureInjector( + const uint32_t &sinkPortIndex, const uint32_t &sourcePortIndex, const SourceType &sourceType) = 0; + virtual void RemoveCaptureInjector( + const uint32_t &sinkPortIndex, const uint32_t &sourcePortIndex, const SourceType &sourceType) = 0; + virtual int32_t PeekAudioData(const uint32_t &sinkPortIndex, uint8_t *buffer, size_t bufferSize) = 0; }; } // namespace HPAE } // namespace AudioStandard diff --git a/services/audio_engine/manager/src/hpae_manager.cpp b/services/audio_engine/manager/src/hpae_manager.cpp index 92d3d10905..02780e85b8 100644 --- a/services/audio_engine/manager/src/hpae_manager.cpp +++ b/services/audio_engine/manager/src/hpae_manager.cpp @@ -2402,6 +2402,23 @@ void HpaeManager::DeleteStreamVolumeToEffect(const std::string stringSessionID) }; SendRequest(request, __func__); } + +// interfaces for injector +void HpaeManager::UpdateAudioPortInfo(const uint32_t &sinkPortIndex, const AudioModuleInfo &audioPortInfo) +{} + +void HpaeManager::AddCaptureInjector( + const uint32_t &sinkPortIndex, const uint32_t &sourcePortIndex, const SourceType &sourceType) +{} + +void HpaeManager::RemoveCaptureInjector( + const uint32_t &sinkPortIndex, const uint32_t &sourcePortIndex, const SourceType &sourceType) +{} + +int32_t HpaeManager::PeekAudioData(const uint32_t &sinkPortIndex, uint8_t *buffer, size_t bufferSize) +{ + return SUCCESS; +} } // namespace HPAE } // namespace AudioStandard } // namespace OHOS diff --git a/services/audio_engine/manager/src/hpae_manager_impl.cpp b/services/audio_engine/manager/src/hpae_manager_impl.cpp index 60cc4f20b7..a2dcf20136 100644 --- a/services/audio_engine/manager/src/hpae_manager_impl.cpp +++ b/services/audio_engine/manager/src/hpae_manager_impl.cpp @@ -588,6 +588,33 @@ void HpaeManagerImpl::DeleteStreamVolumeToEffect(const std::string stringSession CHECK_AND_RETURN_LOG(manager_, "manager is nullptr"); manager_->DeleteStreamVolumeToEffect(stringSessionID); } + +// interfaces for injector +void HpaeManagerImpl::UpdateAudioPortInfo(const uint32_t &sinkPortIndex, const AudioModuleInfo &audioPortInfo) +{ + CHECK_AND_RETURN_LOG(manager_, "manager is nullptr"); + manager_->UpdateAudioPortInfo(sinkPortIndex, audioPortInfo); +} + +void HpaeManagerImpl::AddCaptureInjector( + const uint32_t &sinkPortIndex, const uint32_t &sourcePortIndex, const SourceType &sourceType) +{ + CHECK_AND_RETURN_LOG(manager_, "manager is nullptr"); + manager_->AddCaptureInjector(sinkPortIndex, sourcePortIndex, sourceType); +} + +void HpaeManagerImpl::RemoveCaptureInjector( + const uint32_t &sinkPortIndex, const uint32_t &sourcePortIndex, const SourceType &sourceType) +{ + CHECK_AND_RETURN_LOG(manager_, "manager is nullptr"); + manager_->RemoveCaptureInjector(sinkPortIndex, sourcePortIndex, sourceType); +} + +int32_t HpaeManagerImpl::PeekAudioData(const uint32_t &sinkPortIndex, uint8_t *buffer, size_t bufferSize) +{ + CHECK_AND_RETURN_LOG(manager_, "manager is nullptr"); + manager_->PeekAudioData(sinkPortIndex, buffer, bufferSize); +} } // namespace HPAE } // namespace AudioStandard } // namespace OHOS -- Gitee From db3366fc016f113e81a7c211d8446ee90ed644f4 Mon Sep 17 00:00:00 2001 From: Charles Date: Mon, 25 Aug 2025 15:34:49 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E8=99=9A=E6=8B=9F=E8=8A=82=E7=82=B9?= =?UTF-8?q?=E6=B3=A8=E5=85=A5=E7=9B=B8=E5=85=B3=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Charles --- services/audio_engine/manager/src/hpae_manager_impl.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/services/audio_engine/manager/src/hpae_manager_impl.cpp b/services/audio_engine/manager/src/hpae_manager_impl.cpp index a2dcf20136..845d202105 100644 --- a/services/audio_engine/manager/src/hpae_manager_impl.cpp +++ b/services/audio_engine/manager/src/hpae_manager_impl.cpp @@ -613,7 +613,7 @@ void HpaeManagerImpl::RemoveCaptureInjector( int32_t HpaeManagerImpl::PeekAudioData(const uint32_t &sinkPortIndex, uint8_t *buffer, size_t bufferSize) { CHECK_AND_RETURN_LOG(manager_, "manager is nullptr"); - manager_->PeekAudioData(sinkPortIndex, buffer, bufferSize); + return manager_->PeekAudioData(sinkPortIndex, buffer, bufferSize); } } // namespace HPAE } // namespace AudioStandard -- Gitee From dcfd8398f3d406c9165df675aa106fa363c150cc Mon Sep 17 00:00:00 2001 From: Charles Date: Mon, 25 Aug 2025 16:38:36 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E8=99=9A=E6=8B=9F=E8=8A=82=E7=82=B9?= =?UTF-8?q?=E6=B3=A8=E5=85=A5=E7=9B=B8=E5=85=B3=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Charles --- services/audio_engine/manager/src/hpae_manager_impl.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/services/audio_engine/manager/src/hpae_manager_impl.cpp b/services/audio_engine/manager/src/hpae_manager_impl.cpp index 845d202105..aaef1ca8da 100644 --- a/services/audio_engine/manager/src/hpae_manager_impl.cpp +++ b/services/audio_engine/manager/src/hpae_manager_impl.cpp @@ -612,7 +612,7 @@ void HpaeManagerImpl::RemoveCaptureInjector( int32_t HpaeManagerImpl::PeekAudioData(const uint32_t &sinkPortIndex, uint8_t *buffer, size_t bufferSize) { - CHECK_AND_RETURN_LOG(manager_, "manager is nullptr"); + CHECK_AND_RETURN_RET_LOG(manager_, ERR_ILLEGAL_STATE, "manager is nullptr"); return manager_->PeekAudioData(sinkPortIndex, buffer, bufferSize); } } // namespace HPAE -- Gitee