dmx.h
上传用户:fy98168
上传日期:2015-06-26
资源大小:13771k
文件大小:2k
- #ifndef __DMX_H
- #define __DMX_H
- #ifdef __cplusplus
- extern "C" {
- #endif
- #include "gendef.h"
- #include "stpti.h"
- typedef enum _KB_DMXChannelType
- {
- DMX_CHANNEL_INVALID,
- DMX_CHANNEL_GENERIC_PES,
- DMX_CHANNEL_SECTION,
- DMX_CHANNEL_EMM,
- DMX_CHANNEL_ECM,
- DMX_CHANNEL_RAW
- }KB_DMXChannelType;
- typedef enum _KB_DMXFilterType
- {
- DMX_SECTION_FILTER,
- DMX_SECTION_FILTER_NEG_MATCH_MODE,
- DMX_PES_FILTER,
- DMX_TSHEADER_FILTER
- }KB_DMXFilterType;
- #define KB_DMX_START (0)
- #define KB_DMX_STOP (1)
- #define KB_DMX_RESET (2)
- #define KB_DMX_TOTAL_GENERIC_CHANNELS (30)
- typedef void (*KB_DMX_NotifyFunc)(UINT32 channelID, UINT8* buffer, UINT32 length);
- INT32 KB_DmxInit(void);
- INT32 KB_DmxAllocateChnnl(KB_DMXChannelType channelType, UINT32 bufferSize, BOOL isInternal, UINT32 *channelID);
- INT32 KB_DmxFreeChnnl(UINT32 channelID);
- INT32 KB_DmxSetChnnlPID(UINT32 channelID, UINT16 pid);
- INT32 KB_DmxControlChnnl(UINT32 channelID, UINT32 channelCmd);
- INT32 KB_DmxRegNotice(UINT32 channelID, KB_DMX_NotifyFunc funcPtr);
- INT32 KB_DmxUnlock(UINT32 channelID, UINT8* bufferPtr);
- INT32 KB_DmxAllocateFilter(KB_DMXFilterType filterType, UINT32 filterDepth, UINT32 *filterID);
- INT32 KB_DmxFreeFilter(UINT32 filterID);
- INT32 KB_DmxSetFilter(UINT32 filterID, UINT8* filterMatch, UINT8* filterMask, UINT32 filterNegate);
- //add by shriek
- INT32 KB_DmxSetFilterByType(UINT32 filterID, UINT8* filterMatch, UINT8* filterMask, UINT32 filterNegate, STPTI_FilterType_t filterType);
- //shriek end
- INT32 KB_DmxAssociateFilter(UINT32 channelID, UINT32 filterID);
- INT32 KB_DmxDisassociateFilter(UINT32 channelID, UINT32 filterID);
- INT32 KB_DmxCloseDescrambler(UINT32 descramblerID);
- INT32 KB_DmxOpenDescrambler(void);
- INT32 KB_DmxSetEventKey(UINT32 descramblerID, const UINT8* evenKey);
- INT32 KB_DmxSetOddKey(UINT32 descramblerID, const UINT8* oddKey);
- INT32 KB_DmxSetDescPID(UINT32 descramblerID, UINT16 pid);
- #ifdef __cplusplus
- }
- #endif
- #endif