hv_mw_Channel_SearchSource.h 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. /**
  2. * @file hv_mw_SearchSource.h
  3. * @brief Header file of SearchSource module.
  4. *
  5. * @verbatim
  6. * ==============================================================================
  7. * ##### How to use #####
  8. * ==============================================================================
  9. * (+)
  10. *
  11. * @endverbatim
  12. *
  13. * @author HiView SoC Software Team
  14. * @version 1.0.0
  15. * @date 2022-08-10
  16. */
  17. #ifndef __HV_MW_CHANNEL_SEARCH_SOURCE_H__
  18. #define __HV_MW_CHANNEL_SEARCH_SOURCE_H__
  19. #include "hv_comm_DataType.h"
  20. #include "hv_comm_Define.h"
  21. #include "hv_comm_Event.h"
  22. #include "hv_mw_StateMachine.h"
  23. #include "hv_mw_Channel_Manager.h"
  24. #if ((HV_PROJECT_CONFIG_PERIOD_SEARCH_CHECK_SROUCE_TIMER < 20) || (HV_PROJECT_CONFIG_PERIOD_SEARCH_CHECK_SROUCE_TIMER > 1000))
  25. #error "PERIOD_SEARCH_CHECK_SROUCE_TIMER range is 1000 >= value >=20 "
  26. #endif
  27. /**
  28. * @brief 通道搜索表初始化函数.
  29. * @param[in] ChannelData:通道控制元数据
  30. * @param[out] NULL
  31. * @return NULL
  32. */
  33. VOID Hw_Mw_SearchTable_Init(ChannelData* pstChannelData);
  34. /**
  35. * @brief channel状态机处于搜索态时的通道搜索函数,搜索策略包括自动和固定两种.
  36. * @param[in] pstChannelData:通道控制元数据
  37. * @param[out] NULL
  38. * @return HV_SUCCESS:搜索成功;HV_CONTINUE:继续搜索;HV_FAIL:搜索失败
  39. */
  40. Status Hw_Mw_Channel_SearchSuitableSource(ChannelData* pstChannelData);
  41. /**
  42. * @brief channel状态机处于无信号态时的通道搜索函数,搜索策略包括自动和固定两种.
  43. * @param[in] pstChannelData:通道控制元数据
  44. * @param[out] NULL
  45. * @return HV_SUCCESS:搜索成功;HV_CONTINUE:继续搜索;HV_FAIL:搜索失败
  46. */
  47. Status Hw_Mw_Channel_NoSignal_SearchPort(ChannelData* pstChannelData);
  48. /**
  49. * @brief RX 索引转换函数,将中间件索引转换为OSD索引.
  50. * @param[in] enPortIndex:中间件索引号
  51. * @param[out] NULL
  52. * @return OSD索引号
  53. */
  54. UCHAR8 Hv_Mw_Channel_ConvertMwToGuiPortIndex(LinkPortIndex enPortIndex);
  55. /**
  56. * @brief RX 索引转换函数,将OSD索引转换为中间件索引.
  57. * @param[in] ucGuiPortIndex:OSD索引
  58. * @param[out] NULL
  59. * @return 中间件索引号
  60. */
  61. LinkPortIndex Hv_Mw_Channel_ConvertGuiToMwPortIndex(UCHAR8 ucGuiPortIndex);
  62. /**
  63. * @brief 声音通道切换及资源切换.
  64. * @param[in] enChannelType:通道类型;pstChannelData:通道控制元数据
  65. * @param[out] NULL
  66. * @return NULL
  67. */
  68. VOID Hw_Mw_AudioPath_Mux(const ChannelData* pstChannelData,ChannelType enChannelType);
  69. #endif