📄 st_pti.c
字号:
* -------------------------------------------------------------------------- */
static BOOL TTPTI_AudioStart (parse_t *pars_p, char *result_sym_p)
{
BOOL RetErr;
ST_ErrorCode_t ErrCode;
PTI_DeviceId_t DeviceId;
PTI_HandleId_t HandleId;
S32 Lvar;
int AudPid;
DeviceId = 0;
HandleId = 0;
RetErr = FALSE;
ErrCode = ST_NO_ERROR;
#if (TTPTI_MULTI_INSTANCE == TRUE)
/* get DeviceId */
RetErr = PtiGetParamDeviceId(pars_p, &DeviceId);
if (RetErr == TRUE)
{
STTST_TagCurrentLine(pars_p, "expected Device Id");
}
/* get HandleId */
if (RetErr == FALSE)
{
RetErr = PtiGetParamHandleId(pars_p, &HandleId);
if (RetErr == TRUE)
{
STTST_TagCurrentLine(pars_p, "expected HandleId (from 0 to PTI_MAXOPEN)");
}
}
#endif /* (TTPTI_MULTI_INSTANCE == TRUE) */
/* get the Pid */
if (RetErr == FALSE)
{
RetErr = STTST_GetInteger(pars_p, 0, &Lvar);
if (RetErr == TRUE)
{
STTST_TagCurrentLine(pars_p, "expected Audio Pid");
}
AudPid = (int)Lvar;
}
/* call pti function */
if ( (RetErr == FALSE) && ( HandleId < PTI_MAXOPEN ) )
{
ErrCode = PTI_AudioStart(DeviceId, HandleId, AudPid);
if ( ErrCode != ST_NO_ERROR)
{
RetErr = TRUE;
}
}
if (RetErr == TRUE)
{
API_ErrorCount++;
}
STTST_AssignInteger(result_sym_p, RetErr, FALSE);
return ( API_EnableError ? RetErr : FALSE );
} /* TTPTI_AudioStart () */
/* -----------------------------------------------------------------------------
* Name : TTPTI_PCRStart
* Description : Start Pcr
* Parameters : *pars_p, *result_sym_p
* Assumptions :
* Limitations :
* Returns : TRUE if error, FALSE if success
* -------------------------------------------------------------------------- */
static BOOL TTPTI_PCRStart (parse_t *pars_p, char *result_sym_p)
{
BOOL RetErr;
ST_ErrorCode_t ErrCode;
PTI_DeviceId_t DeviceId;
PTI_HandleId_t HandleId;
S32 Lvar;
int PCRPid;
DeviceId = 0;
HandleId = 0;
RetErr = FALSE;
ErrCode = ST_NO_ERROR;
#if (TTPTI_MULTI_INSTANCE == TRUE)
/* get DeviceId */
RetErr = PtiGetParamDeviceId(pars_p, &DeviceId);
if (RetErr == TRUE)
{
STTST_TagCurrentLine(pars_p, "expected Device Id");
}
/* get HandleId */
if (RetErr == FALSE)
{
RetErr = PtiGetParamHandleId(pars_p, &HandleId);
if (RetErr == TRUE)
{
STTST_TagCurrentLine(pars_p, "expected HandleId (from 0 to PTI_MAXOPEN)");
}
}
#endif /* (TTPTI_MULTI_INSTANCE == TRUE) */
/* get the Pid */
if (RetErr == FALSE)
{
RetErr = STTST_GetInteger(pars_p, 0, &Lvar);
if (RetErr == TRUE)
{
STTST_TagCurrentLine(pars_p, "expected PCR Pid");
}
PCRPid = (int)Lvar;
}
/* call pti function */
if ( (RetErr == FALSE) && ( HandleId < PTI_MAXOPEN ) )
{
ErrCode = PTI_PCRStart(DeviceId, HandleId, PCRPid);
if ( ErrCode != ST_NO_ERROR)
{
RetErr = TRUE;
}
}
if (RetErr == TRUE)
{
API_ErrorCount++;
}
STTST_AssignInteger(result_sym_p, RetErr, FALSE);
return ( API_EnableError ? RetErr : FALSE );
} /* TTPTI_PCRStart () */
/* -----------------------------------------------------------------------------
* Name : TTPTI_TTXStart
* Description : Start TTX
* Parameters : *pars_p, *result_sym_p
* Assumptions :
* Limitations :
* Returns : TRUE if error, FALSE if success
* -------------------------------------------------------------------------- */
static BOOL TTPTI_TTXStart (parse_t *pars_p, char *result_sym_p)
{
BOOL RetErr;
ST_ErrorCode_t ErrCode;
PTI_DeviceId_t DeviceId;
PTI_HandleId_t HandleId;
S32 Lvar;
int TTXPid;
DeviceId = 0;
HandleId = 0;
RetErr = FALSE;
ErrCode = ST_NO_ERROR;
#if (TTPTI_MULTI_INSTANCE == TRUE)
/* get DeviceId */
RetErr = PtiGetParamDeviceId(pars_p, &DeviceId);
if (RetErr == TRUE)
{
STTST_TagCurrentLine(pars_p, "expected Device Id");
}
/* get HandleId */
if (RetErr == FALSE)
{
RetErr = PtiGetParamHandleId(pars_p, &HandleId);
if (RetErr == TRUE)
{
STTST_TagCurrentLine(pars_p, "expected HandleId (from 0 to PTI_MAXOPEN)");
}
}
#endif /* (TTPTI_MULTI_INSTANCE == TRUE) */
/* get the Pid */
if (RetErr == FALSE)
{
RetErr = STTST_GetInteger(pars_p, 0, &Lvar);
if (RetErr == TRUE)
{
STTST_TagCurrentLine(pars_p, "expected TTX Pid");
}
TTXPid = (int)Lvar;
}
/* call pti function */
if ( (RetErr == FALSE) && ( HandleId < PTI_MAXOPEN ) )
{
ErrCode = PTI_TTXStart(DeviceId, HandleId, TTXPid);
if ( ErrCode != ST_NO_ERROR)
{
RetErr = TRUE;
}
}
if (RetErr == TRUE)
{
API_ErrorCount++;
}
STTST_AssignInteger(result_sym_p, RetErr, FALSE);
return ( API_EnableError ? RetErr : FALSE );
} /* TTPTI_TTXStart () */
/* -----------------------------------------------------------------------------
* Name : TTPTI_VideoStart
* Description : Start Video
* Parameters : *pars_p, *result_sym_p
* Assumptions :
* Limitations :
* Returns : TRUE if error, FALSE if success
* -------------------------------------------------------------------------- */
static BOOL TTPTI_VideoStart (parse_t *pars_p, char *result_sym_p)
{
BOOL RetErr;
ST_ErrorCode_t ErrCode;
PTI_DeviceId_t DeviceId;
PTI_HandleId_t HandleId;
S32 Lvar;
int VidPid;
DeviceId = 0;
HandleId = 0;
RetErr = FALSE;
ErrCode = ST_NO_ERROR;
#if (TTPTI_MULTI_INSTANCE == TRUE)
/* get DeviceId */
RetErr = PtiGetParamDeviceId(pars_p, &DeviceId);
if (RetErr == TRUE)
{
STTST_TagCurrentLine(pars_p, "expected Device Id");
}
/* get HandleId */
if (RetErr == FALSE)
{
RetErr = PtiGetParamHandleId(pars_p, &HandleId);
if (RetErr == TRUE)
{
STTST_TagCurrentLine(pars_p, "expected HandleId (from 0 to PTI_MAXOPEN)");
}
}
#endif /* (TTPTI_MULTI_INSTANCE == TRUE) */
/* get the Pid */
if (RetErr == FALSE)
{
RetErr = STTST_GetInteger(pars_p, 0, &Lvar);
if (RetErr == TRUE)
{
STTST_TagCurrentLine(pars_p, "expected Video Pid");
}
VidPid = (int)Lvar;
}
/* call pti function */
if ( (RetErr == FALSE) && ( HandleId < PTI_MAXOPEN ) )
{
#ifdef ST_7020
ErrCode = PTI_VideoStart(DeviceId, HandleId, VidPid);
#else
ErrCode = PTI_VideoStart(DeviceId, HandleId);
#endif
if ( ErrCode != ST_NO_ERROR)
{
RetErr = TRUE;
}
}
if (RetErr == TRUE)
{
API_ErrorCount++;
}
STTST_AssignInteger(result_sym_p, RetErr, FALSE);
return ( API_EnableError ? RetErr : FALSE );
} /* TTPTI_VideoStart () */
/* -----------------------------------------------------------------------------
* Name : TTPTI_ChangeSlotPid
* Description : Change Pid fro audio/video/pcr
* Parameters : *pars_p, *result_sym_p
* Assumptions :
* Limitations :
* Returns : TRUE if error, FALSE if success
* -------------------------------------------------------------------------- */
static BOOL TTPTI_ChangeSlotPid (parse_t *pars_p, char *result_sym_p)
{
BOOL RetErr;
ST_ErrorCode_t ErrCode;
PTI_DeviceId_t DeviceId;
PTI_HandleId_t HandleId;
S32 Lvar;
int VidPid;
PTI_SlotTypeId_t SlotType;
DeviceId = 0;
HandleId = 0;
RetErr = FALSE;
ErrCode = ST_NO_ERROR;
SlotType = PTI_SLOT_TYPE_MAXID;
#if (TTPTI_MULTI_INSTANCE == TRUE)
/* get DeviceId */
RetErr = PtiGetParamDeviceId(pars_p, &DeviceId);
if (RetErr == TRUE)
{
STTST_TagCurrentLine(pars_p, "expected Device Id");
}
/* get HandleId */
if (RetErr == FALSE)
{
RetErr = PtiGetParamHandleId(pars_p, &HandleId);
if ( (RetErr == TRUE) || (HandleId >= PTI_MAXOPEN) )
{
STTST_TagCurrentLine(pars_p, "expected HandleId (from 0 to PTI_MAXOPEN)");
RetErr = TRUE;
}
}
#endif /* (TTPTI_MULTI_INSTANCE == TRUE) */
/* get the Type */
if (RetErr == FALSE)
{
RetErr = STTST_GetInteger(pars_p, 0, (S32 *)&SlotType);
if ( (RetErr == TRUE) || (SlotType == PTI_SLOT_TYPE_MAXID) )
{
STTST_TagCurrentLine(pars_p, "expected Type: PTI_TYPE_VIDEO PTI_TYPE_AUDIO PTI_TYPE_PCR");
RetErr = TRUE;
}
}
/* get the Pid */
if (RetErr == FALSE)
{
RetErr = STTST_GetInteger(pars_p, 0, &Lvar);
if (RetErr == TRUE)
{
STTST_TagCurrentLine(pars_p, "expected Pid");
}
VidPid = (int)Lvar;
}
/* call pti function */
if (RetErr == FALSE)
{
ErrCode = PTI_ChangeSlotPid(DeviceId, HandleId, SlotType, VidPid);
if ( ErrCode != ST_NO_ERROR)
{
RetErr = TRUE;
}
}
if (RetErr == TRUE)
{
API_ErrorCount++;
}
STTST_AssignInteger(result_sym_p, RetErr, FALSE);
return ( API_EnableError ? RetErr : FALSE );
} /* TTPTI_ChangeSlotPid () */
/* -----------------------------------------------------------------------------
* Name : TTPTI_GetCountInf
* Description : Get Pti Counter for each open slot
* Parameters : *pars_p, *result_sym_p
* Assumptions :
* Limitations :
* Returns : TRUE if error, FALSE if success
* -------------------------------------------------------------------------- */
static BOOL TTPTI_GetCountInf( parse_t *pars_p, char *result_sym_p )
{
ST_ErrorCode_t ErrCode;
BOOL RetErr;
U16 Count16=0;
U32 Count=0;
STPTI_Pid_t Pid ;
U32 ii, jj, kk;
STPTI_ScrambleState_t ScrambleState;
S8 Scrambled[4][20] = { "Unknown SCRAMBLING",
"No SCRAMBLING",
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -