| 1 | /* |
|---|
| 2 | DMW_ChannelUtil.h |
|---|
| 3 | |
|---|
| 4 | |
|---|
| 5 | */ |
|---|
| 6 | |
|---|
| 7 | #ifndef __DMW_CHANNELUTIL_H__ |
|---|
| 8 | #define __DMW_CHANNELUTIL_H__ |
|---|
| 9 | |
|---|
| 10 | |
|---|
| 11 | #include "DMW_ChannelDemux.h" |
|---|
| 12 | #include "dmw_channel_priv.h" |
|---|
| 13 | |
|---|
| 14 | |
|---|
| 15 | typedef struct PidInfo_t |
|---|
| 16 | { |
|---|
| 17 | UINT32 pcr, video, audio; |
|---|
| 18 | |
|---|
| 19 | tDHL_VideoCodingType videoType; |
|---|
| 20 | tDHL_AudioCodingType audioType; |
|---|
| 21 | |
|---|
| 22 | BOOL bValid; |
|---|
| 23 | |
|---|
| 24 | } PidInfo; |
|---|
| 25 | |
|---|
| 26 | |
|---|
| 27 | |
|---|
| 28 | // DecidePidInfo flags: bit flags |
|---|
| 29 | // |
|---|
| 30 | |
|---|
| 31 | #define DMC_DPIF_SILENT 0x01 // do not print any debug message |
|---|
| 32 | |
|---|
| 33 | |
|---|
| 34 | |
|---|
| 35 | |
|---|
| 36 | |
|---|
| 37 | |
|---|
| 38 | STATUS doDmc_InitUserMsgQue(int nSizeOfMsg, int nMaxNumMsgInQue); |
|---|
| 39 | void doDmc_DeleteUserMsgQue(void); |
|---|
| 40 | STATUS doDmc_AddUserMsg(DmcMessage *pmsg); |
|---|
| 41 | STATUS doDmc_GetUserMsg(DmcMessage *pmsg, UINT32 timeoutTick); |
|---|
| 42 | BOOL doDmc_UserMsgExist(void); |
|---|
| 43 | void doDmc_DeleteAllEventMsg(void); |
|---|
| 44 | void doDmc_DeleteMsg(DmcMsgType msgtype); |
|---|
| 45 | BOOL doDmc_CheckMsgExist(DmcMsgType msgtype); |
|---|
| 46 | void doDmc_PrintUserMsgs(void); |
|---|
| 47 | |
|---|
| 48 | |
|---|
| 49 | |
|---|
| 50 | |
|---|
| 51 | int doDmc_GetLastCancelId(void); |
|---|
| 52 | void doDmc_SetLastCancelId(int id); |
|---|
| 53 | int doDmc_GetNewCancelId(void); |
|---|
| 54 | int doDmc_GetNextCancelId(int c, int step); |
|---|
| 55 | int doDmc_GetNewMultipleCancelIds(UINT32 count); |
|---|
| 56 | BOOL doDmc_IsCancelledMsg(int msgId); |
|---|
| 57 | BOOL doDmc_RefreshCancelQue(void); |
|---|
| 58 | BOOL doDmc_CheckCancel(void); |
|---|
| 59 | |
|---|
| 60 | STATUS Dmc_SendCancelCommand(int cancelId); |
|---|
| 61 | STATUS Dmc_InitCancelQue(int nSizeQue); |
|---|
| 62 | void Dmc_DeleteCancelQue(void); |
|---|
| 63 | |
|---|
| 64 | |
|---|
| 65 | |
|---|
| 66 | BOOL Dmc_CheckIfSamePat(MPEG_PAT *pat1, MPEG_PAT *pat2); |
|---|
| 67 | BOOL Dmc_CheckIfSamePmt(MPEG_PMT *pmt1, MPEG_PMT *pmt2); |
|---|
| 68 | int Dmc_CheckPmtDifference(MPEG_PMT *pmt1, MPEG_PMT *pmt2); |
|---|
| 69 | UINT16 Dmc_GetMajorNumber(BOOL is_cvct, xvctChannelPtr_t ch); |
|---|
| 70 | UINT16 Dmc_GetMinorNumber(BOOL is_cvct, xvctChannelPtr_t ch); |
|---|
| 71 | |
|---|
| 72 | |
|---|
| 73 | const char *Dmc_PsipDescriptorString(UINT8 d); |
|---|
| 74 | |
|---|
| 75 | // cafrii 060710, VCT recovery, PID selection API Ãß°¡ |
|---|
| 76 | // |
|---|
| 77 | STATUS Dmc_GetPmtByProgramNumber(MPEG_PAT **ppat, MPEG_PMT **ppmt, |
|---|
| 78 | UINT16 program_number, BOOL (*fnCheck)(void)); |
|---|
| 79 | |
|---|
| 80 | STATUS Dmc_RecoverVctProgramNumber(xvctChannelPtr_t channel, |
|---|
| 81 | MPEG_PAT *pat, // IN |
|---|
| 82 | MPEG_PMT **pmtList, // INOUT |
|---|
| 83 | int *pIndex, // OUT |
|---|
| 84 | BOOL (*fnCheck)(void)); |
|---|
| 85 | |
|---|
| 86 | |
|---|
| 87 | STATUS Dmc_GetPidInfoFromPMT(MPEG_PMT *pmt, PidInfo *pPidInfo); |
|---|
| 88 | |
|---|
| 89 | STATUS Dmc_GetPidInfoFromSLD(serviceLocationDescriptorPtr_t sld, PidInfo *pPidInfo); |
|---|
| 90 | STATUS Dmc_GetInfoFromVctDesc(UINT8 *desc, int desc_len, PidInfo *pPidInfo, |
|---|
| 91 | extendedChannelNameDescriptorPtr_t *pXcnd); |
|---|
| 92 | |
|---|
| 93 | // cafrii 060710 add |
|---|
| 94 | STATUS Dmc_DecidePidInfo3(MPEG_PMT *pmt, xvctChannelPtr_t channel, |
|---|
| 95 | PidInfo *pPidInfo, UINT32 flag); |
|---|
| 96 | STATUS Dmc_DecidePidInfo2(MPEG_PMT *pmt, UINT8 *descs, int descs_len, |
|---|
| 97 | PidInfo *pPidInfo, UINT32 flag); |
|---|
| 98 | STATUS Dmc_DecidePidInfo(MPEG_PMT *pmt, serviceLocationDescriptorPtr_t sld, |
|---|
| 99 | PidInfo *pPidInfo, UINT32 flag); |
|---|
| 100 | |
|---|
| 101 | |
|---|
| 102 | BOOL Dmc_CheckIfFormatChanged(tDHL_VideoSeqHdr *newsh, tDHL_VideoSeqHdr *oldsh); |
|---|
| 103 | int Dmc_WhichATSCFormat(tDHL_VideoSeqHdr *seq); |
|---|
| 104 | |
|---|
| 105 | |
|---|
| 106 | void RegisterChannelUtilSymbols(void); |
|---|
| 107 | |
|---|
| 108 | |
|---|
| 109 | #endif // __DMW_CHANNELUTIL_H__ |
|---|
| 110 | |
|---|