package com.usky.sas.common.hik.sdk;

import com.sun.jna.Callback;
import com.sun.jna.Library;
import com.sun.jna.Pointer;
import com.sun.jna.Structure;
import com.sun.jna.platform.win32.WinDef.HWND;
import com.sun.jna.ptr.IntByReference;

interface PlayCtrl extends Library {
    int STREAME_REALTIME = 0;
    int STREAME_FILE = 1;

    boolean PlayM4_GetPort(IntByReference var1);

    boolean PlayM4_OpenStream(int var1, Pointer var2, int var3, int var4);

    boolean PlayM4_InputData(int var1, Pointer var2, int var3);

    boolean PlayM4_CloseStream(int var1);

    boolean PlayM4_SetStreamOpenMode(int var1, int var2);

    boolean PlayM4_Play(int var1, HWND var2);

    boolean PlayM4_Stop(int var1);

    boolean PlayM4_SetSecretKey(int var1, int var2, String var3, int var4);

    boolean PlayM4_GetPictureSize(int var1, IntByReference var2, IntByReference var3);

    boolean PlayM4_GetJPEG(int var1, Pointer var2, int var3, IntByReference var4);

    int PlayM4_GetLastError(int var1);

    boolean PlayM4_SetDecCallBackExMend(int var1, PlayCtrl.DecCallBack var2, Pointer var3, int var4, int var5);

    public static class FRAME_INFO extends Structure {
        public int nWidth;
        public int nHeight;
        public int nStamp;
        public int nType;
        public int nFrameRate;
        public int dwFrameNum;

        public FRAME_INFO() {
        }
    }

    public interface DecCallBack extends Callback {
        void invoke(int var1, Pointer var2, int var3, PlayCtrl.FRAME_INFO var4, int var5, int var6);
    }
}

