package com.iailab.netsdk.lib.structure;

import com.iailab.netsdk.lib.NetSDKLib;
import com.iailab.netsdk.lib.enumeration.GetDevCaps_Type;
import com.iailab.netsdk.lib.enumeration.REC_TYPE;
import com.iailab.netsdk.lib.enumeration.SNAP_TYPE;

import static com.iailab.netsdk.lib.NetSDKLib.NET_N_ENCODE_AUX;

/**
 * �桁�莅上�膽�����臀��綺��遵��莨��阪���
 * �遵������筝� {@link GetDevCaps_Type#NET_ENCODE_CFG_CAPS}
 * �遵�����ュ� {@link NetSDKLib#CLIENT_GetDevCaps}
 *
 * @author 47040
 * @since Created at 2021/5/25 22:55
 */
public class NET_OUT_ENCODE_CFG_CAPS extends NetSDKLib.SdkStructure {

    /**
     * 靳���篏�紊у�
     */
    public int dwSize;
    /**
     * 筝紫��羌���臀��綺��遵�� 絋�����紊�筝�:
     * 膃��筝�;腓堺����綵����闈�
     * 膃��筝�;腓阪���綵����闈�
     * 膃��筝�;腓堺�ヨ⑥綵����闈�
     * �����水墾�� {@link #nMainFormCaps} �喝�
     */
    public NET_STREAM_CFG_CAPS[] stuMainFormatCaps = new NET_STREAM_CFG_CAPS[REC_TYPE.NET_REC_TYPE_NUM.getValue()];
    /**
     * 莨���羌���臀��綺��遵�� 絋�����紊�筝�:
     * 膃��筝�;腓肴���羌� 1
     * 膃��筝�;腓肴���羌� 2
     * 膃��筝�;腓肴���羌� 3
     * �����水墾�� {@link #nExtraFormCaps} �喝�
     */
    public NET_STREAM_CFG_CAPS[] stuExtraFormatCaps = new NET_STREAM_CFG_CAPS[NET_N_ENCODE_AUX];
    /**
     * ���丞��羌���臀��綺��遵��:絋�����紊�筝�:
     * 膃��筝�;腓堺��������
     * 膃��筝�;腓堺�ヨ⑥����
     * �����水墾�� {@link #nSnapFormatCaps} �喝�
     */
    public NET_STREAM_CFG_CAPS[] stuSnapFormatCaps = new NET_STREAM_CFG_CAPS[SNAP_TYPE.SNAP_TYP_NUM.getValue()];
    /**
     * ������筝紫��羌���臀��綺����遵��筝���
     * 篁h;篋� {@link #stuMainFormatCaps} �������水墾
     */
    public int nMainFormCaps;
    /**
     * ������莨���羌���臀��綺����遵��筝���
     * 篁h;篋� {@link #stuExtraFormatCaps} �������水墾
     */
    public int nExtraFormCaps;
    /**
     * ���������丞��羌���臀��綺����遵��筝���
     * 篁h;篋� {@link #stuSnapFormatCaps} �������水墾
     */
    public int nSnapFormatCaps;

    public NET_OUT_ENCODE_CFG_CAPS() {
        dwSize = this.size();
        for (int i = 0; i < stuMainFormatCaps.length; i++) {
            stuMainFormatCaps[i] = new NET_STREAM_CFG_CAPS();
        }
        for (int i = 0; i < stuExtraFormatCaps.length; i++) {
            stuExtraFormatCaps[i] = new NET_STREAM_CFG_CAPS();
        }
        for (int i = 0; i < stuSnapFormatCaps.length; i++) {
            stuSnapFormatCaps[i] = new NET_STREAM_CFG_CAPS();
        }
    }
}