1*53ee8cc1Swenshuai.xi 2*53ee8cc1Swenshuai.xi 3*53ee8cc1Swenshuai.xi #include <stdlib.h> 4*53ee8cc1Swenshuai.xi #include <string.h> 5*53ee8cc1Swenshuai.xi #include "MsCommon.h" 6*53ee8cc1Swenshuai.xi 7*53ee8cc1Swenshuai.xi #include "nsk_dbg.h" 8*53ee8cc1Swenshuai.xi #include "nsk2hdi_header.h" 9*53ee8cc1Swenshuai.xi #include "apiDMX.h" 10*53ee8cc1Swenshuai.xi 11*53ee8cc1Swenshuai.xi /*****************************************************************************\ 12*53ee8cc1Swenshuai.xi \Definitions 13*53ee8cc1Swenshuai.xi \*****************************************************************************/ 14*53ee8cc1Swenshuai.xi 15*53ee8cc1Swenshuai.xi 16*53ee8cc1Swenshuai.xi /*****************************************************************************\ 17*53ee8cc1Swenshuai.xi \ global variables 18*53ee8cc1Swenshuai.xi \*****************************************************************************/ 19*53ee8cc1Swenshuai.xi static P_NSK2_CbAllocateMemory _AllocateMemory = NULL; 20*53ee8cc1Swenshuai.xi static P_NSK2_CbFreeMemory _FreeMemory = NULL; 21*53ee8cc1Swenshuai.xi static P_NSK2_CbEcmGetType _EcmGetType = NULL; 22*53ee8cc1Swenshuai.xi static MS_BOOL _bRunHarmonizer = FALSE; 23*53ee8cc1Swenshuai.xi 24*53ee8cc1Swenshuai.xi /*****************************************************************************\ 25*53ee8cc1Swenshuai.xi \ NSK2HDI general functions 26*53ee8cc1Swenshuai.xi \*****************************************************************************/ 27*53ee8cc1Swenshuai.xi MApi_NSK2HDI_Initial(HDIPara_Init_t * pInit)28*53ee8cc1Swenshuai.xiMS_U32 MApi_NSK2HDI_Initial(HDIPara_Init_t *pInit) 29*53ee8cc1Swenshuai.xi { 30*53ee8cc1Swenshuai.xi _bRunHarmonizer = pInit->bHarmonizer; 31*53ee8cc1Swenshuai.xi _AllocateMemory = pInit->cbAllocMemory; 32*53ee8cc1Swenshuai.xi _EcmGetType = pInit->cbEcmGetType; 33*53ee8cc1Swenshuai.xi _FreeMemory = pInit->cbFreeMemory; 34*53ee8cc1Swenshuai.xi return TRUE; 35*53ee8cc1Swenshuai.xi } 36*53ee8cc1Swenshuai.xi 37*53ee8cc1Swenshuai.xi MApi_NSK2_IsHarmonizer(void)38*53ee8cc1Swenshuai.xiMS_BOOL MApi_NSK2_IsHarmonizer(void) 39*53ee8cc1Swenshuai.xi { 40*53ee8cc1Swenshuai.xi return _bRunHarmonizer; 41*53ee8cc1Swenshuai.xi } 42*53ee8cc1Swenshuai.xi MApi_NSK2_AllocateMemory(MS_U32 u32Size,MS_BOOL bCached)43*53ee8cc1Swenshuai.xivoid *MApi_NSK2_AllocateMemory(MS_U32 u32Size, MS_BOOL bCached) 44*53ee8cc1Swenshuai.xi { 45*53ee8cc1Swenshuai.xi if( _AllocateMemory != NULL) 46*53ee8cc1Swenshuai.xi { 47*53ee8cc1Swenshuai.xi void *pBuf = NULL; 48*53ee8cc1Swenshuai.xi pBuf = _AllocateMemory( u32Size, bCached); 49*53ee8cc1Swenshuai.xi 50*53ee8cc1Swenshuai.xi if(pBuf == NULL) 51*53ee8cc1Swenshuai.xi { 52*53ee8cc1Swenshuai.xi printf("memory allocate fail\n"); 53*53ee8cc1Swenshuai.xi } 54*53ee8cc1Swenshuai.xi return pBuf; 55*53ee8cc1Swenshuai.xi } 56*53ee8cc1Swenshuai.xi else 57*53ee8cc1Swenshuai.xi { 58*53ee8cc1Swenshuai.xi return NULL; 59*53ee8cc1Swenshuai.xi } 60*53ee8cc1Swenshuai.xi 61*53ee8cc1Swenshuai.xi } 62*53ee8cc1Swenshuai.xi MApi_NSK2_FreeMemory(void * pAddress,MS_BOOL bCached)63*53ee8cc1Swenshuai.xiMS_BOOL MApi_NSK2_FreeMemory(void *pAddress, MS_BOOL bCached) 64*53ee8cc1Swenshuai.xi { 65*53ee8cc1Swenshuai.xi if( _FreeMemory != NULL) 66*53ee8cc1Swenshuai.xi { 67*53ee8cc1Swenshuai.xi return _FreeMemory(pAddress,bCached); 68*53ee8cc1Swenshuai.xi } 69*53ee8cc1Swenshuai.xi else 70*53ee8cc1Swenshuai.xi { 71*53ee8cc1Swenshuai.xi return FALSE; 72*53ee8cc1Swenshuai.xi } 73*53ee8cc1Swenshuai.xi } 74*53ee8cc1Swenshuai.xi MApi_NSK2_EcmGetFilterType(MS_U32 x_conn)75*53ee8cc1Swenshuai.xiMS_U32 MApi_NSK2_EcmGetFilterType(MS_U32 x_conn) 76*53ee8cc1Swenshuai.xi { 77*53ee8cc1Swenshuai.xi return _EcmGetType(x_conn); 78*53ee8cc1Swenshuai.xi } 79*53ee8cc1Swenshuai.xi 80*53ee8cc1Swenshuai.xi 81*53ee8cc1Swenshuai.xi MApi_NSK2_DTV_ClosePidNo(MS_U8 PidNo)82*53ee8cc1Swenshuai.xiMS_BOOL MApi_NSK2_DTV_ClosePidNo(MS_U8 PidNo) 83*53ee8cc1Swenshuai.xi { 84*53ee8cc1Swenshuai.xi if( MApi_DMX_Stop(PidNo) != DMX_FILTER_STATUS_OK) 85*53ee8cc1Swenshuai.xi { 86*53ee8cc1Swenshuai.xi NSK_ERROR(("DMX Stop error\n")); 87*53ee8cc1Swenshuai.xi } 88*53ee8cc1Swenshuai.xi 89*53ee8cc1Swenshuai.xi if( MApi_DMX_Close(PidNo) != DMX_FILTER_STATUS_OK) 90*53ee8cc1Swenshuai.xi { 91*53ee8cc1Swenshuai.xi NSK_ERROR(("DMX Close error\n")); 92*53ee8cc1Swenshuai.xi } 93*53ee8cc1Swenshuai.xi return TRUE; 94*53ee8cc1Swenshuai.xi } 95*53ee8cc1Swenshuai.xi 96