namespace SHH.CameraSdk; /// /// 帧需求定义模型 /// 功能:描述某个程序/模块对视频帧的消费需求,用于帧分发调度与帧率控制 /// 用途:配合 FrameController,实现按订阅者需求精准分配帧资源,避免资源浪费 /// public class FrameRequirement { #region --- 订阅者核心标识 (Subscriber Core Identification) --- /// 订阅者唯一ID(如 "Client_A"、"AI_Service"、"WPF_Display_Main") /// 用于区分不同的帧消费模块,作为帧分发路由的关键标识 public string AppId { get; set; } = string.Empty; #endregion #region --- 帧需求参数 (Frame Requirement Parameters) --- /// 目标帧率(单位:fps,订阅者期望的每秒接收帧数,0 表示无特定需求) /// 例如:UI 预览需 8fps,AI 分析需 2fps,按需分配以节省计算资源 public int TargetFps { get; set; } = 0; /// 上次获取帧的时间点(单位:毫秒,通常为 Environment.TickCount64) /// 用于帧率控制算法,判断是否达到订阅者的目标帧率需求 public long LastCaptureTick { get; set; } = 0; #endregion #region --- 需求状态控制 (Requirement Status Control) --- /// 需求是否激活(true=正常接收帧,false=暂停接收,保留配置) /// 支持动态启停订阅,无需删除需求配置,提升灵活性 public bool IsActive { get; set; } = true; #endregion }