|
|
|
|
|
/********************************************************************
|
|
|
|
|
|
* Copyright 1992-2008, ZheJiang Dahua Technology Stock Co.Ltd.
|
|
|
|
|
|
* All Rights Reserved
|
|
|
|
|
|
* File Name: StreamParser.h
|
|
|
|
|
|
* Description: interface for streamParser
|
|
|
|
|
|
*********************************************************************/
|
|
|
|
|
|
|
|
|
|
|
|
#ifndef __STREAM_PARSER_H_
|
|
|
|
|
|
#define __STREAM_PARSER_H_
|
|
|
|
|
|
|
|
|
|
|
|
#if (defined(WIN32) || defined(WIN64))
|
|
|
|
|
|
|
|
|
|
|
|
#define SP_API __declspec(dllimport)
|
|
|
|
|
|
#define CALLMETHOD __stdcall
|
|
|
|
|
|
|
|
|
|
|
|
#else /*linux or mac*/
|
|
|
|
|
|
|
|
|
|
|
|
#define SP_API
|
|
|
|
|
|
#define CALLMETHOD
|
|
|
|
|
|
|
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
|
|
#ifdef __cplusplus
|
|
|
|
|
|
extern "C" {
|
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
|
|
/*<2A>ӿڷ<D3BF><DAB7><EFBFBD>ֵ*/
|
|
|
|
|
|
enum SP_RESULT
|
|
|
|
|
|
{
|
|
|
|
|
|
SP_SUCCESS = 0, /*<2A>ɹ<EFBFBD>*/
|
|
|
|
|
|
SP_ERROR_INVALID_HANDLE = 1, /*<2A><>Ч<EFBFBD><D0A7><EFBFBD><EFBFBD>*/
|
|
|
|
|
|
SP_ERROR_FILE_TYPE_NOSUPPORT = 2, /*<2A>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD>Ͳ<EFBFBD>֧<EFBFBD><D6A7>*/
|
|
|
|
|
|
SP_ERROR_STREAM_NOSUPPORT = 3, /*<2A><><EFBFBD><EFBFBD><EFBFBD>Ͳ<EFBFBD>֧<EFBFBD><D6A7>*/
|
|
|
|
|
|
SP_ERROR_PARAMETER = 6, /*<2A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>*/
|
|
|
|
|
|
SP_ERROR_BAD_FORMATTED = 9, /*<2A>ļ<EFBFBD><C4BC><EFBFBD>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD>*/
|
|
|
|
|
|
SP_ERROR_BUFFER_OVERFLOW = 12, /*<2A>ڲ<EFBFBD><DAB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>*/
|
|
|
|
|
|
SP_ERROR_SYSTEM_OUT_OF_MEMORY = 13, /*ϵͳ<CFB5>ڴ治<DAB4><E6B2BB>*/
|
|
|
|
|
|
SP_ERROR_LIST_EMPTY = 14, /*<2A>б<EFBFBD>Ϊ<EFBFBD><CEAA>*/
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
/*֡<><D6A1><EFBFBD><EFBFBD>*/
|
|
|
|
|
|
enum SP_FRAME_TYPE
|
|
|
|
|
|
{
|
|
|
|
|
|
SP_FRAME_TYPE_UNKNOWN = 0, /*֡<><D6A1><EFBFBD>Ͳ<EFBFBD><CDB2><EFBFBD>֪*/
|
|
|
|
|
|
SP_FRAME_TYPE_VIDEO, /*֡<><D6A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƶ֡*/
|
|
|
|
|
|
SP_FRAME_TYPE_AUDIO, /*֡<><D6A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƶ֡*/
|
|
|
|
|
|
SP_FRAME_TYPE_DATA /*֡<><D6A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֡*/
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
/*֡<><D6A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>*/
|
|
|
|
|
|
enum SP_FRAME_SUB_TYPE
|
|
|
|
|
|
{
|
|
|
|
|
|
SP_FRAME_SUB_TYPE_DATA_INVALID = -1, /*<2A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ч*/
|
|
|
|
|
|
SP_FRAME_SUB_TYPE_VIDEO_I_FRAME = 0 , /*I֡*/
|
|
|
|
|
|
SP_FRAME_SUB_TYPE_VIDEO_P_FRAME, /*P֡*/
|
|
|
|
|
|
SP_FRAME_SUB_TYPE_VIDEO_B_FRAME, /*B֡*/
|
|
|
|
|
|
SP_FRAME_SUB_TYPE_VIDEO_JPEG_FRAME=8, /*JPEG֡*/
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
/*<2A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>*/
|
|
|
|
|
|
enum SP_ENCODE_VIDEO_TYPE
|
|
|
|
|
|
{
|
|
|
|
|
|
SP_ENCODE_VIDEO_UNKNOWN = 0, /*<2A><>Ƶ<EFBFBD><C6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD>֪*/
|
|
|
|
|
|
SP_ENCODE_VIDEO_MPEG4 , /*<2A><>Ƶ<EFBFBD><C6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ<EFBFBD><CABD>MPEG4*/
|
|
|
|
|
|
SP_ENCODE_VIDEO_HI_H264, /*<2A><>Ƶ<EFBFBD><C6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ<EFBFBD>Ǻ<EFBFBD>˼H264*/
|
|
|
|
|
|
SP_ENCODE_VIDEO_JPEG, /*<2A><>Ƶ<EFBFBD><C6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ<EFBFBD>DZ<EFBFBD>JPEG*/
|
|
|
|
|
|
SP_ENCODE_VIDEO_DH_H264, /*<2A><>Ƶ<EFBFBD><C6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ<EFBFBD>Ǵ<EFBFBD><C7B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>H264*/
|
|
|
|
|
|
SP_ENCODE_VIDEO_MPEG2 = 9, /*<2A><>Ƶ<EFBFBD><C6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ<EFBFBD><CABD>MPEG2*/
|
|
|
|
|
|
SP_ENCODE_VIDEO_DH_H265 = 12, /*<2A><>Ƶ<EFBFBD><C6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ<EFBFBD><CABD>H265*/
|
|
|
|
|
|
SP_ENCODE_VIDEO_H263 = 35, /*<2A><>Ƶ<EFBFBD><C6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ<EFBFBD><CABD>H263*/
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
enum SP_ENCODE_AUDIO_TYPE
|
|
|
|
|
|
{
|
|
|
|
|
|
SP_ENCODE_AUDIO_UNKNOWN = 0,
|
|
|
|
|
|
SP_ENCODE_AUDIO_PCM = 7, /*<2A><>Ƶ<EFBFBD><C6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ<EFBFBD><CABD>PCM8*/
|
|
|
|
|
|
SP_ENCODE_AUDIO_G729, /*<2A><>Ƶ<EFBFBD><C6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ<EFBFBD><CABD>G729*/
|
|
|
|
|
|
SP_ENCODE_AUDIO_IMA, /*<2A><>Ƶ<EFBFBD><C6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ<EFBFBD><CABD>IMA*/
|
|
|
|
|
|
SP_ENCODE_PCM_MULAW, /*<2A><>Ƶ<EFBFBD><C6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ<EFBFBD><CABD>PCM MULAW*/
|
|
|
|
|
|
SP_ENCODE_AUDIO_G721, /*<2A><>Ƶ<EFBFBD><C6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ<EFBFBD><CABD>G721*/
|
|
|
|
|
|
SP_ENCODE_PCM8_VWIS, /*<2A><>Ƶ<EFBFBD><C6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ<EFBFBD><CABD>PCM8_VWIS*/
|
|
|
|
|
|
SP_ENCODE_MS_ADPCM, /*<2A><>Ƶ<EFBFBD><C6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ<EFBFBD><CABD>MS_ADPCM*/
|
|
|
|
|
|
SP_ENCODE_AUDIO_G711A, /*<2A><>Ƶ<EFBFBD><C6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ<EFBFBD><CABD>G711A*/
|
|
|
|
|
|
SP_ENCODE_AUDIO_AMR, /*<2A><>Ƶ<EFBFBD><C6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ<EFBFBD><CABD>AMR*/
|
|
|
|
|
|
SP_ENCODE_AUDIO_PCM16, /*<2A><>Ƶ<EFBFBD><C6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ<EFBFBD><CABD>PCM16*/
|
|
|
|
|
|
SP_ENCODE_AUDIO_G711U = 22, /*<2A><>Ƶ<EFBFBD><C6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ<EFBFBD><CABD>G711U*/
|
|
|
|
|
|
SP_ENCODE_AUDIO_G723, /*<2A><>Ƶ<EFBFBD><C6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ<EFBFBD><CABD>G723*/
|
|
|
|
|
|
SP_ENCODE_AUDIO_AAC = 26, /*<2A><>Ƶ<EFBFBD><C6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ<EFBFBD><CABD>AAC*/
|
|
|
|
|
|
SP_ENCODE_AUDIO_MP2 = 31, /*<2A><>Ƶ<EFBFBD><C6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ<EFBFBD><CABD>mp2*/
|
|
|
|
|
|
SP_ENCODE_AUDIO_OGG, /*<2A><>Ƶ<EFBFBD><C6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ<EFBFBD><CABD>ogg vorbis*/
|
|
|
|
|
|
SP_ENCODE_AUDIO_MP3, /*<2A><>Ƶ<EFBFBD><C6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ<EFBFBD><CABD>mp3*/
|
|
|
|
|
|
SP_ENCODE_AUDIO_G722_1, /*<2A><>Ƶ<EFBFBD><C6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ<EFBFBD><CABD>G722.1*/
|
|
|
|
|
|
SP_ENCODE_AUDIO_AC = 49, /*<2A><>Ƶ<EFBFBD><C6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ<EFBFBD><CABD>AC3*/
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
/*<2A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>*/
|
|
|
|
|
|
enum SP_ENCRYPT_TYPE
|
|
|
|
|
|
{
|
|
|
|
|
|
SP_ENCRYPT_UNKOWN = 0,
|
|
|
|
|
|
SP_ENCRYPT_AES,
|
|
|
|
|
|
};
|
|
|
|
|
|
/*ʱ<><CAB1><EFBFBD><EFBFBD>Ϣ*/
|
|
|
|
|
|
typedef struct
|
|
|
|
|
|
{
|
|
|
|
|
|
int nYear; /*<2A><>*/
|
|
|
|
|
|
int nMonth; /*<2A><>*/
|
|
|
|
|
|
int nDay; /*<2A><>*/
|
|
|
|
|
|
int nHour; /*Сʱ*/
|
|
|
|
|
|
int nMinute; /*<2A><><EFBFBD><EFBFBD>*/
|
|
|
|
|
|
int nSecond; /*<2A><>*/
|
|
|
|
|
|
int nMilliSecond; /*<2A><><EFBFBD><EFBFBD>*/
|
|
|
|
|
|
} SP_TIME;
|
|
|
|
|
|
|
|
|
|
|
|
#pragma pack(1)
|
|
|
|
|
|
/*֡<><D6A1>Ϣ 256<35>ֽ<EFBFBD>*/
|
|
|
|
|
|
typedef struct
|
|
|
|
|
|
{
|
|
|
|
|
|
/*<2A><><EFBFBD><EFBFBD>*/
|
|
|
|
|
|
int frameType; /*֡<><D6A1><EFBFBD><EFBFBD>*/
|
|
|
|
|
|
int frameSubType; /*֡<><D6A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>*/
|
|
|
|
|
|
int frameEncodeType; /*֡<><D6A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>*/
|
|
|
|
|
|
unsigned char reserved[4];
|
|
|
|
|
|
|
|
|
|
|
|
/*<2A><><EFBFBD><EFBFBD>*/
|
|
|
|
|
|
unsigned char* streamPointer; /*ָ<><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,NULL<4C><4C>ʾ<EFBFBD><CABE>Ч<EFBFBD><D0A7><EFBFBD><EFBFBD>*/
|
|
|
|
|
|
int streamLen; /*<2A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>*/
|
|
|
|
|
|
unsigned char* framePointer; /*ָ<><D6B8>֡ͷ,NULL<4C><4C>ʾ<EFBFBD><CABE>Ч<EFBFBD><D0A7><EFBFBD><EFBFBD>*/
|
|
|
|
|
|
int frameLen; /*֡<><D6A1><EFBFBD><EFBFBD>(<28><><EFBFBD><EFBFBD>֡ͷ<D6A1><CDB7>֡<EFBFBD>塢֡β)*/
|
|
|
|
|
|
|
|
|
|
|
|
/*ʱ<><CAB1>*/
|
|
|
|
|
|
SP_TIME frameTime; /*ʱ<><CAB1><EFBFBD><EFBFBD>Ϣ*/
|
|
|
|
|
|
int timeStamp; /*ʱ<><CAB1><EFBFBD><EFBFBD>*/
|
|
|
|
|
|
|
|
|
|
|
|
/*<2A><><EFBFBD><EFBFBD>*/
|
|
|
|
|
|
int frameSeq; /*֡<><D6A1><EFBFBD><EFBFBD>*/
|
|
|
|
|
|
|
|
|
|
|
|
/*<2A><>Ƶ<EFBFBD><C6B5><EFBFBD>ԣ<EFBFBD><D4A3>ؼ<EFBFBD>֡<EFBFBD><D6A1><EFBFBD><EFBFBD>*/
|
|
|
|
|
|
int frameRate; /*֡<><D6A1>*/
|
|
|
|
|
|
int width; /*<2A><>*/
|
|
|
|
|
|
int height; /*<2A><>*/
|
|
|
|
|
|
|
|
|
|
|
|
unsigned char reserved2[8];
|
|
|
|
|
|
|
|
|
|
|
|
/*<2A><>Ƶ<EFBFBD><C6B5><EFBFBD><EFBFBD>*/
|
|
|
|
|
|
int samplesPerSec; /*<2A><><EFBFBD><EFBFBD>Ƶ<EFBFBD><C6B5>*/
|
|
|
|
|
|
int bitsPerSample; /*<2A><><EFBFBD><EFBFBD>λ<EFBFBD><CEBB>*/
|
|
|
|
|
|
int channels; /*<2A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>*/
|
|
|
|
|
|
|
|
|
|
|
|
/*<2A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־*/
|
|
|
|
|
|
int isValid; /*0Ϊ<30><CEAA>Ч<EFBFBD><D0A7><EFBFBD><EFBFBD>0<EFBFBD><30>ʾ֡<CABE><D6A1><EFBFBD><EFBFBD>*/
|
|
|
|
|
|
|
|
|
|
|
|
#if defined(_WIN64) || defined(__x86_64__)
|
|
|
|
|
|
/*<2A><>չ*/
|
|
|
|
|
|
unsigned char reserved3[432]; /*<2A><><EFBFBD><EFBFBD><EFBFBD>ֽ<EFBFBD>*/
|
|
|
|
|
|
#else
|
|
|
|
|
|
/*<2A><>չ*/
|
|
|
|
|
|
unsigned char reserved3[412]; /*<2A><><EFBFBD><EFBFBD><EFBFBD>ֽ<EFBFBD>*/
|
|
|
|
|
|
#endif
|
|
|
|
|
|
} SP_FRAME_INFO;
|
|
|
|
|
|
#pragma pack()
|
|
|
|
|
|
|
|
|
|
|
|
/********************************************************************
|
|
|
|
|
|
* Funcname: SP_CreateStreamParser
|
|
|
|
|
|
* Purpose: <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
* InputParam: nBufferSize: <EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD><EFBFBD>ٵĻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С<EFBFBD><EFBFBD>SP_PaseDataÿ<EFBFBD>δ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
* OutputParam: <EFBFBD><EFBFBD>
|
|
|
|
|
|
* Return: NULL: <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD><EFBFBD>
|
|
|
|
|
|
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
*********************************************************************/
|
|
|
|
|
|
SP_API void* CALLMETHOD SP_CreateStreamParser(int nBufferSize);
|
|
|
|
|
|
|
|
|
|
|
|
/********************************************************************
|
|
|
|
|
|
* Funcname: SP_ParseData
|
|
|
|
|
|
* Purpose: <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<EFBFBD><EFBFBD>ͬ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>з<EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
* InputParam: handle: ͨ<EFBFBD><EFBFBD>SP_CreateStreamParser<EFBFBD><EFBFBD><EFBFBD>صľ<EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
* stream: <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ
|
|
|
|
|
|
* length: <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
* OutputParam: <EFBFBD><EFBFBD>
|
|
|
|
|
|
* Return: 0:<EFBFBD><EFBFBD><EFBFBD>óɹ<EFBFBD>
|
|
|
|
|
|
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>ͨ<EFBFBD><EFBFBD>SP_GetLastError<EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
*********************************************************************/
|
|
|
|
|
|
SP_API SP_RESULT CALLMETHOD SP_ParseData(void* handle, unsigned char* stream, int length);
|
|
|
|
|
|
|
|
|
|
|
|
/********************************************************************
|
|
|
|
|
|
* Funcname: SP_GetOneFrame
|
|
|
|
|
|
* Purpose: ͬ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡһ֡<EFBFBD><EFBFBD>Ϣ,<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֱ<EFBFBD><EFBFBD>ʧ<EFBFBD><EFBFBD>
|
|
|
|
|
|
* InputParam: handle: ͨ<EFBFBD><EFBFBD>SP_CreateStreamParser<EFBFBD><EFBFBD><EFBFBD>صľ<EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
* frameInfo: <EFBFBD>ⲿSP_FRAME_INFO<EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD>ṹ<EFBFBD><EFBFBD>ַ<EFBFBD><EFBFBD>
|
|
|
|
|
|
* OutputParam: <EFBFBD><EFBFBD>
|
|
|
|
|
|
* Return: 0:<EFBFBD><EFBFBD><EFBFBD>óɹ<EFBFBD>
|
|
|
|
|
|
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>ͨ<EFBFBD><EFBFBD>SP_GetLastError<EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
*********************************************************************/
|
|
|
|
|
|
SP_API SP_RESULT CALLMETHOD SP_GetOneFrame(void* handle, SP_FRAME_INFO* frameInfo);
|
|
|
|
|
|
|
|
|
|
|
|
/********************************************************************
|
|
|
|
|
|
* Funcname: SP_StreamEncryptKey
|
|
|
|
|
|
* Purpose: <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʵʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Կ
|
|
|
|
|
|
* InputParam: handle: ͨ<EFBFBD><EFBFBD>SP_CreateStreamParser<EFBFBD><EFBFBD>SP_CreateFileParser<EFBFBD><EFBFBD><EFBFBD>صľ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
* type : <EFBFBD><EFBFBD>Կ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>SP_ENCRYPT
|
|
|
|
|
|
* key<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Կ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
* keylen<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Կ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
* OutputParam: <EFBFBD><EFBFBD>
|
|
|
|
|
|
* Return: 0:<EFBFBD><EFBFBD><EFBFBD>óɹ<EFBFBD>
|
|
|
|
|
|
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>
|
|
|
|
|
|
*********************************************************************/
|
|
|
|
|
|
SP_API SP_RESULT CALLMETHOD SP_StreamEncryptKey(void* handle, unsigned int type, unsigned char* key, int keylen);
|
|
|
|
|
|
|
|
|
|
|
|
/********************************************************************
|
|
|
|
|
|
* Funcname: SP_Destroy
|
|
|
|
|
|
* Purpose: <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
* InputParam: handle: ͨ<EFBFBD><EFBFBD>SP_CreateStreamParser<EFBFBD><EFBFBD><EFBFBD>صľ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
* OutputParam: <EFBFBD><EFBFBD>
|
|
|
|
|
|
* Return: 0:<EFBFBD><EFBFBD><EFBFBD>óɹ<EFBFBD>
|
|
|
|
|
|
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>ͨ<EFBFBD><EFBFBD>SP_GetLastError<EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
*********************************************************************/
|
|
|
|
|
|
SP_API SP_RESULT CALLMETHOD SP_Destroy(void* handle);
|
|
|
|
|
|
|
|
|
|
|
|
/********************************************************************
|
|
|
|
|
|
* Funcname: SP_GetLastError
|
|
|
|
|
|
* Purpose: <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
* InputParam: handle: ͨ<EFBFBD><EFBFBD>SP_CreateStreamParser<EFBFBD><EFBFBD>SP_CreateFileParser<EFBFBD><EFBFBD><EFBFBD>صľ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
* OutputParam: <EFBFBD><EFBFBD>
|
|
|
|
|
|
* Return: 0:<EFBFBD><EFBFBD><EFBFBD>óɹ<EFBFBD>
|
|
|
|
|
|
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>ͨ<EFBFBD><EFBFBD>SP_GetLastError<EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ֵ
|
|
|
|
|
|
*********************************************************************/
|
|
|
|
|
|
SP_API SP_RESULT CALLMETHOD SP_GetLastError(void* handle);
|
|
|
|
|
|
|
|
|
|
|
|
#ifdef __cplusplus
|
|
|
|
|
|
}
|
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|