namespace SHH.CameraService;

/// <summary>
/// 代表一个独立的推送目标
/// 包含：配置信息 + 专属于它的数据管道
/// </summary>
public class StreamTarget
{
    /// <summary>
    /// 配置
    /// </summary>
    public PushTargetConfig Config { get; }

    /// <summary>
    /// 管道
    /// </summary>
    public VideoDataChannel Channel { get; }

    /// <summary>
    /// 构造函数
    /// </summary>
    /// <param name="config"></param>
    public StreamTarget(PushTargetConfig config)
    {
        Config = config;

        // 为这个目标创建独立的管道，容量由配置决定
        Channel = new VideoDataChannel(capacity: config.QueueCapacity);
    }
}
