hk-sup-spring-boot-starter/src/main/java/net/javase/hksup/starter/sdk/HCISUPStream.java
2023-09-20 14:53:43 +08:00

228 lines
10 KiB
Java
Executable File
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

package net.javase.hksup.starter.sdk;
import com.sun.jna.Callback;
import com.sun.jna.Library;
import com.sun.jna.Pointer;
import com.sun.jna.Structure;
import java.util.Arrays;
import java.util.List;
public interface HCISUPStream extends Library {
public static class BYTE_ARRAY extends Structure {
public byte[] byValue;
public BYTE_ARRAY(int iLen) {
byValue = new byte[iLen];
}
@Override
protected List<String> getFieldOrder() {
// TODO Auto-generated method stub
return Arrays.asList("byValue");
}
}
public class NET_EHOME_PLAYBACK_LISTEN_PARAM extends Structure {
public HCISUPCMS.NET_EHOME_IPADDRESS struIPAdress; //本地监听信息IP为0.0.0.0的情况下,默认为本地地址,多个网卡的情况下,默认为从操作系统获取到的第一个
public PLAYBACK_NEWLINK_CB fnNewLinkCB; //预览请求回调函数当收到预览连接请求后SDK会回调该回调函数。
public Pointer pUser; // 用户参数在fnNewLinkCB中返回出来
public byte byLinkMode; //0TCP1UDP 2: HRUDP方式
public byte[] byRes = new byte[127];
}
public class NET_EHOME_LISTEN_PREVIEW_CFG extends Structure {
public HCISUPCMS.NET_EHOME_IPADDRESS struIPAdress; //本地监听信息IP为0.0.0.0的情况下,默认为本地地址,多个网卡的情况下,默认为从操作系统获取到的第一个
public PREVIEW_NEWLINK_CB fnNewLinkCB; //预览请求回调函数当收到预览连接请求后SDK会回调该回调函数。
public Pointer pUser; // 用户参数在fnNewLinkCB中返回出来
public byte byLinkMode; //0TCP1UDP 2: HRUDP方式
public byte[] byRes = new byte[127];
}
public class NET_EHOME_NEWLINK_CB_MSG extends Structure {
public byte[] szDeviceID = new byte[HCISUPCMS.MAX_DEVICE_ID_LEN]; //设备标示符
public int iSessionID; //设备分配给该取流会话的ID
public int dwChannelNo; //设备通道号
public byte byStreamType; //0-主码流1-子码流
public byte[] byRes1 = new byte[3];
public byte[] sDeviceSerial = new byte[HCISUPCMS.NET_EHOME_SERIAL_LEN]; //设备序列号,数字序列号
public byte[] byRes = new byte[112];
}
public class NET_EHOME_PREVIEW_CB_MSG extends Structure {
public byte byDataType; //NET_DVR_SYSHEAD(1)-码流头NET_DVR_STREAMDATA(2)-码流数据
public byte[] byRes1 = new byte[3];
public Pointer pRecvdata; //码流头或者数据
public int dwDataLen; //数据长度
public byte[] byRes2 = new byte[128];
}
public class NET_EHOME_PREVIEW_DATA_CB_PARAM extends Structure {
public PREVIEW_DATA_CB fnPreviewDataCB; //数据回调函数
public Pointer pUserData; //用户参数, 在fnPreviewDataCB回调出来
public byte[] byRes = new byte[128]; //保留
}
public static final int NET_EHOME_DEVICEID_LEN = 256; //设备ID长度
public static final int NET_EHOME_SERIAL_LEN = 12;
public class NET_EHOME_PLAYBACK_NEWLINK_CB_INFO extends Structure {
public byte[] szDeviceID = new byte[NET_EHOME_DEVICEID_LEN];
public int lSessionID; //设备分配给该回放会话的ID0表示无效(出参)
public int dwChannelNo; //设备通道号0表示无效(出参)
public byte[] sDeviceSerial = new byte[NET_EHOME_SERIAL_LEN/*12*/]; //设备序列号,数字序列号(出参)
public byte byStreamFormat; //码流封装格式0-PS 1-RTP(入参)
public byte[] byRes1 = new byte[3];
public PLAYBACK_DATA_CB fnPlayBackDataCB;
public Pointer pUserData;
public byte[] byRes = new byte[88];
}
public class NET_EHOME_PLAYBACK_DATA_CB_PARAM extends Structure
{
public PLAYBACK_DATA_CB fnPlayBackDataCB; //数据回调函数
public Pointer pUserData; //用户参数, 在fnPlayBackDataCB回调出来
public byte byStreamFormat; //码流封装格式0-PS 1-RTP
public byte[] byRes=new byte[127]; //保留
}
public class NET_EHOME_PLAYBACK_DATA_CB_INFO extends Structure {
public int dwType; //类型 1-头信息 2-码流数据
public Pointer pData; //数据指针
public int dwDataLen; //数据长度
public byte[] byRes = new byte[128]; //保留
}
public interface PLAYBACK_DATA_CB extends Callback {
public boolean invoke(int iPlayBackLinkHandle, NET_EHOME_PLAYBACK_DATA_CB_INFO pDataCBInfo, Pointer pUserData);
}
public interface PREVIEW_NEWLINK_CB extends Callback {
public boolean invoke(int lLinkHandle, NET_EHOME_NEWLINK_CB_MSG pNewLinkCBMsg, Pointer pUserData);
}
public interface PLAYBACK_NEWLINK_CB extends Callback {
public boolean invoke(int lPlayBackLinkHandle, NET_EHOME_PLAYBACK_NEWLINK_CB_INFO pNewLinkCBMsg, Pointer pUserData);
}
public interface PREVIEW_DATA_CB extends Callback {
public void invoke(int iPreviewHandle, NET_EHOME_PREVIEW_CB_MSG pPreviewCBMsg, Pointer pUserData);
}
public interface fExceptionCallBack extends Callback {
public void invoke(int dwType, int iUserID, int iHandle, Pointer pUser);
}
public interface VOICETALK_NEWLINK_CB extends Callback {
public boolean invoke(int lHandle, NET_EHOME_VOICETALK_NEWLINK_CB_INFO pNewLinkCBInfo, Pointer pUserData);
}
public interface VOICETALK_DATA_CB extends Callback {
public boolean invoke(int lHandle, NET_EHOME_VOICETALK_DATA_CB_INFO pNewLinkCBInfo, Pointer pUserData);
}
public static class StringPointer extends Structure {
public byte[] data;
public StringPointer() {
}
public StringPointer(String sInput) {
this.data = new byte[sInput.length()];
this.data = sInput.getBytes();
}
}
public static class NET_EHOME_LISTEN_VOICETALK_CFG extends Structure {
public HCISUPCMS.NET_EHOME_IPADDRESS struIPAdress; //本地监听信息IP为0.0.0.0的情况下,默认为本地地址,
//多个网卡的情况下,默认为从操作系统获取到的第一个
public VOICETALK_NEWLINK_CB fnNewLinkCB; //新连接回调函数
public Pointer pUser; //用户参数在fnNewLinkCB中返回出来
public byte byLinkMode; //0TCP1UDP (UDP保留)
public byte byLinkEncrypt; //是否启用链路加密,TCP通过TLS传输UDP(包括NPQ)使用DTLS传输0-不启用1-启用
public byte[] byRes = new byte[126];
}
public static class NET_EHOME_VOICETALK_NEWLINK_CB_INFO extends Structure {
public byte[] szDeviceID = new byte[NET_EHOME_DEVICEID_LEN/*256*/]; //设备标示符(出参)
public int dwEncodeType; // //SDK赋值,当前对讲设备的语音编码类型,0- G722_11-G711U2-G711A3-G7264-AAC5-MP2L26-PCM, 7-MP3, 8-G723, 9-MP1L2, 10-ADPCM, 99-RAW(未识别类型)(出参)
public byte[] sDeviceSerial = new byte[NET_EHOME_SERIAL_LEN/*12*/]; //设备序列号,数字序列号(出参)
public int dwAudioChan; //对讲通道(出参)
public int lSessionID; //设备分配给该回放会话的ID0表示无效(出参)
public byte[] byToken = new byte[64];
public VOICETALK_DATA_CB fnVoiceTalkDataCB; //数据回调函数(入参)
public Pointer pUserData; //用户参数, 在fnVoiceTalkDataCB回调出来(入参)
public byte[] byRes = new byte[48];
}
public static class NET_EHOME_VOICETALK_DATA_CB_PARAM extends Structure {
public VOICETALK_DATA_CB fnVoiceTalkDataCB; //数据回调函数
public Pointer pUserData; //用户参数, 在fnVoiceTalkDataCB回调出来
public byte[] byRes = new byte[128]; //保留
}
public static class NET_EHOME_VOICETALK_DATA_CB_INFO extends Structure {
public Pointer pData; //数据指针
public int dwDataLen; //数据长度
public byte[] byRes = new byte[128]; //保留
}
public static class NET_EHOME_VOICETALK_DATA extends Structure {
public Pointer pData; //数据指针
public int dwDataLen; //数据长度
public byte[] byRes = new byte[128]; //保留
}
public boolean NET_ESTREAM_Init();
public boolean NET_ESTREAM_SetSDKLocalCfg(int enumType, Pointer lpInBuff);
public boolean NET_ESTREAM_SetSDKInitCfg(int enumType, Pointer lpInBuff);
public boolean NET_ESTREAM_Fini();
public int NET_ESTREAM_GetLastError();
public boolean NET_ESTREAM_SetExceptionCallBack(int dwMessage, int hWnd, fExceptionCallBack cbExceptionCallBack, Pointer pUser);
public boolean NET_ESTREAM_SetLogToFile(int iLogLevel, String strLogDir, boolean bAutoDel);
//获取版本号
public int NET_ESTREAM_GetBuildVersion();
public int NET_ESTREAM_StartListenPreview(NET_EHOME_LISTEN_PREVIEW_CFG pListenParam);
public int NET_ESTREAM_StartListenPlayBack(NET_EHOME_PLAYBACK_LISTEN_PARAM pListenParam);
public boolean NET_ESTREAM_SetPlayBackDataCB(int iPlayBackLinkHandle, NET_EHOME_PLAYBACK_DATA_CB_PARAM pDataCBParam);
public boolean NET_ESTREAM_StopListenPreview(int iListenHandle);
public boolean NET_ESTREAM_StopListenVoiceTalk(int lListenHandle);
public boolean NET_ESTREAM_StopPreview(int iPreviewHandle);
public boolean NET_ESTREAM_StopVoiceTalk(int lHandle);
public boolean NET_ESTREAM_SetPreviewDataCB(int iHandle, NET_EHOME_PREVIEW_DATA_CB_PARAM pStruCBParam);
boolean NET_ESTREAM_StopPlayBack(int iPlayBackLinkHandle);
boolean NET_ESTREAM_StopListenPlayBack(int iPlaybackListenHandle);
public int NET_ESTREAM_StartListenVoiceTalk(NET_EHOME_LISTEN_VOICETALK_CFG pListenParam);
public boolean NET_ESTREAM_SetVoiceTalkDataCB(int lHandle, NET_EHOME_VOICETALK_DATA_CB_PARAM pStruCBParam);
public int NET_ESTREAM_SendVoiceTalkData(int lHandle, NET_EHOME_VOICETALK_DATA pVoicTalkData);
}