123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193 |
- #ifndef _GLOBALVARIABLE_H_
- #define _GLOBALVARIABLE_H_
- #include <cstdint>
- #include <string>
- #include <vector>
- class QString;
- /* =========================================================================================
- * 枚举
- * =========================================================================================*/
- /**
- * @brief 录音通道枚举
- *
- */
- enum class ERoadID
- {
- RoadID_None = 0, /* 无通道 */
- RoadID_1 = 1, /* 通道1 */
- RoadID_2, /* 通道2 */
- RoadID_3, /* 通道3 */
- RoadID_4, /* 通道4 */
- RoadID_5, /* 通道5 */
- RoadID_6, /* 通道6 */
- RoadID_7, /* 通道7 */
- RoadID_8, /* 通道8 */
- RoadID_9, /* 通道9 */
- RoadID_10, /* 通道10 */
- RoadID_11, /* 通道11 */
- RoadID_12, /* 通道12 */
- RoadID_13, /* 通道13 */
- RoadID_14, /* 通道14 */
- RoadID_15, /* 通道15 */
- RoadID_16, /* 通道16 */
- RoadID_17, /* 通道17 */
- RoadID_18, /* 通道18 */
- RoadID_19, /* 通道19 */
- RoadID_20, /* 通道20 */
- RoadID_21, /* 通道21 */
- RoadID_22, /* 通道22 */
- RoadID_23, /* 通道23 */
- RoadID_24, /* 通道24 */
- RoadID_25, /* 通道25 */
- RoadID_26, /* 通道26 */
- RoadID_27, /* 通道27 */
- RoadID_28, /* 通道28 */
- RoadID_29, /* 通道29 */
- RoadID_30, /* 通道30 */
- RoadID_31, /* 通道31 */
- RoadID_32, /* 通道32 */
- RoadID_33, /* 通道33 */
- RoadID_34, /* 通道34 */
- RoadID_35, /* 通道35 */
- RoadID_36, /* 通道36 */
- RoadID_37, /* 通道37 */
- RoadID_38, /* 通道38 */
- RoadID_39, /* 通道39 */
- RoadID_40, /* 通道40 */
- RoadID_41, /* 通道41 */
- RoadID_42, /* 通道42 */
- RoadID_43, /* 通道43 */
- RoadID_44, /* 通道44 */
- RoadID_45, /* 通道45 */
- RoadID_46, /* 通道46 */
- RoadID_47, /* 通道47 */
- RoadID_48, /* 通道48 */
- RoadID_49, /* 通道49 */
- RoadID_50, /* 通道50 */
- RoadID_51, /* 通道51 */
- RoadID_52, /* 通道52 */
- RoadID_53, /* 通道53 */
- RoadID_54, /* 通道54 */
- RoadID_55, /* 通道55 */
- RoadID_56, /* 通道56 */
- RoadID_57, /* 通道57 */
- RoadID_58, /* 通道58 */
- RoadID_59, /* 通道59 */
- RoadID_60, /* 通道60 */
- RoadID_61, /* 通道61 */
- RoadID_62, /* 通道62 */
- RoadID_63, /* 通道63 */
- RoadID_64, /* 通道64 */
- RoadID_MAX = RoadID_64, /* 最大通道数 */
- };
- /* =========================================================================================
- * 线程信息相关枚举和结构体
- * =========================================================================================*/
- /**
- * @brief 线程状态枚举
- *
- */
- enum class EThreadState
- {
- State_None = 0, /* 无状态 */
- State_Inited, /* 已初始化 */
- State_Running, /* 运行中 */
- State_Stopped, /* 已停止 */
- State_Error /* 错误状态 */
- };
- /**
- * @brief 线程类型枚举
- *
- */
- enum class EThreadType
- {
- Type_None = 0, /* 无类型 */
- Type_RecordSrc, /* 录音源线程 */
- Type_AssignSrcData, /* 分派数据线程 */
- Type_CreateWAV, /* 生成WAV文件线程 */
- Type_CalculateDBAndPhase, /* 计算音量和反相线程 */
- // Type_CreateNoise, /* 生成噪音数据线程 */
- Type_CreateLongWAV, /* 生成长文件线程 */
- Type_RtpSend, /* RTP发送线程 */
- Type_ConsistencyCheck, /* 一致性检查线程 */
- Type_CheckDBAndPhase /* 检查音量和反相线程 */
- };
- /**
- * @brief 录音通道信息
- *
- */
- struct RoadNumberInfo_t
- {
- ERoadID roadID; /* 录音通道编号 */
- std::string strRoadName; /* 录音通道名称 */
- int roadNum; /* 录音通道编号,在对比项里的编号 */
- RoadNumberInfo_t() = default;
- RoadNumberInfo_t(const RoadNumberInfo_t& info)
- : roadID(info.roadID), strRoadName(info.strRoadName), roadNum(info.roadNum) {}
- RoadNumberInfo_t& operator=(const RoadNumberInfo_t& info)
- {
- if (this == &info) return *this; // 防止自赋值
- roadID = info.roadID;
- strRoadName = info.strRoadName;
- roadNum = info.roadNum;
- return *this;
- }
- };
- class BaseRecordThread; /* 录音线程基类 */
- /**
- * @brief 录音线程信息结构体
- */
- struct RecordThreadInfo_t
- {
- RoadNumberInfo_t RoadInfo; /* 录音通道信息 */
- EThreadType threadType; /* 线程类型 */
- EThreadState threadState; /* 线程状态 */
- // BaseRecordThread* pThread = nullptr; /* 线程对象 */
- };
- class BaseCalculateThread;
- /**
- * @brief 计算线程信息结构体
- *
- */
- struct CalculateThreadInfo_t
- {
- int CompareItemID; /* 对比项ID */
- std::string strCompareItemName; /* 对比项名称 */
- std::vector<RoadNumberInfo_t> vecRoad; /* 其他对比项录音通道编号列表 */
- EThreadType threadType; /* 线程类型 */
- EThreadState threadState; /* 线程状态 */
- BaseCalculateThread* pThread = nullptr; /* 计算线程对象 */
- CalculateThreadInfo_t() = default;
- CalculateThreadInfo_t(const CalculateThreadInfo_t& info);
- CalculateThreadInfo_t& operator=(const CalculateThreadInfo_t& info);
-
- };
- #endif // _GLOBALVARIABLE_H_
|