📄 emc_channeldisplay.c
字号:
/*******************************************************************************
File name : emc_channeldisplay.c
Description : channel display
Revision : 1.0
COPYRIGHT (C) EMC-HUST-JRC 2005.
Date Label Auther Comment
---- ---- ------ ---------------------
01-04-2006 Allen Wu Created
*********************************************************************************/
/* Includes --------------------------------------------------------------------- */
#include "staud.h"
#include "usif.h"
#include "sr_dbase.h"
#include "sr_section.h"
#include "emc_menustate.h"
#include "emc_channeldisplay.h"
/* Global variables & structures----------------------------------------------------- */
extern BOX_INFO_STRUCT *pstBoxInfo;
//extern EVENT_LIST eventlist;
extern SLOT_ID old_EIT_slot;
extern int iProgNumberBeingRetrieved;
extern WORD2SHORT uiProgBeingWatched;
extern int iCurrentProgramNo;
extern void SRUIF_UpdateBoxInfo(void);
//extern void SRDBE_GetUTCtime(void);
extern void sttbx_Print(const char *const Format_p, ...);
//extern ST_ErrorCode_t PfEpgRequest ( WORD2SHORT ProgramNo , int pf);
//extern ST_ErrorCode_t ScheduleEpgRequest ( WORD2SHORT ProgramNo , int iTableID, int iSectionNum);
extern ST_ErrorCode_t SRUIF_ShowProgram(PROG_INFO_STRUCT* pstProgInfoTableTemp);
extern void SRDBE_GetCurEventInfo(void);
// int iLastProgramNumber = -1;
extern int iLastProgramNumber;
/* Functions--------------------------------------------------------------------- */
void msm_NewChannelDisplay(dvb_MenuCmd_e cmd)
{
int piNextProgramNo;
int piPrevProgramNo;
ST_ErrorCode_t result = ST_NO_ERROR;
STAUD_StreamContent_t CurrentAudioType;
PROG_INFO_STRUCT *pstProgInfoTableTemp;
//sttbx_Print("cmd is:%d\n",cmd);
switch (cmd)
{
case cmd_DirChPlus:
pstProgInfoTableTemp = SRDBE_NextProgInfo(&piNextProgramNo);
if (piNextProgramNo == -1)
{
SRDBE_PositionProgInfoTop();
pstProgInfoTableTemp = SRDBE_CurProgInfo(&piNextProgramNo);
iCurrentProgramNo = piNextProgramNo; /*wuhan added,07-03-2005*/
//sttbx_Print("\n\niCurrentProgramNo = %d\n\n",iCurrentProgramNo);
}
break;
case cmd_DirChMinus:
pstProgInfoTableTemp = SRDBE_PrevProgInfo(&piPrevProgramNo);
if (piPrevProgramNo == -1)
{
SRDBE_PositionProgInfoBottom();
pstProgInfoTableTemp = SRDBE_CurProgInfo(&piPrevProgramNo);
iCurrentProgramNo = piPrevProgramNo; /*wuhan added,07-03-2005*/
//sttbx_Print("\n\niCurrentProgramNo = %d\n\n",iCurrentProgramNo);
}
break;
case cmd_DirChNum:
//if(iCurrentProgramNo == iProgNumberBeingRetrieved)) //wuhan added,07-05-2005
//return;
if (iCurrentProgramNo <= ProgramList->NoOfValidPgms && iCurrentProgramNo > 0)
{
pstProgInfoTableTemp = SRDBE_PositionProgInfoByUserProgramNo(iCurrentProgramNo);
}
else
{
//SRMNU_FeedbackMsg(feedback_kDircetkey,msg_ChannelNotExit);
return;
}
break;
}
switch(pstProgInfoTableTemp->astAudStr[0].AudioType)
{
case MPEG1_AUDIO:
CurrentAudioType = STAUD_STREAM_CONTENT_MPEG1;
break;
case MPEG2_AUDIO:
CurrentAudioType = STAUD_STREAM_CONTENT_MPEG2;
break;
case AC3_AUDIO:
CurrentAudioType = STAUD_STREAM_CONTENT_AC3;
break;
}
#if 1/*Modified by Allen,03-10-2006*/
/*Wuhan added, 06-19-2005, maybe cancel the SDT and other section request....*/
if(old_EIT_slot != -1) /*Wuhan added, 06-21-2005*/
SRSTF_CancelSectionReq(old_EIT_slot);
#else
sruif_SendMsgFromUsif2DBase(sCurTransponderId, STOP_DATA_BASE_BUILDING);
#endif
SRDBE_GetCurEventInfo();
/*the same program,no need to stop it and restart it*/
#if 0
if(iProgNumberBeingRetrieved == iLastProgramNumber) /*wuhan added,07-05-2005*/
return;
#endif
result = SRUIF_ShowProgram(pstProgInfoTableTemp);
iLastProgramNumber = iProgNumberBeingRetrieved; /*wuhan added,07-05-2005*/
uiProgBeingWatched = pstProgInfoTableTemp->stProgNo;
if(result == ST_NO_ERROR)
{
if ((pstProgInfoTableTemp->sVidPid == 0x1FFF) && (pstProgInfoTableTemp->astAudStr[0].sAudPid != 0x1FFF))
msm_FeedbackMsg(cmd_RadioCh);
else
msm_FeedbackMsg(cmd_NewCh);
}
SRUIF_UpdateBoxInfo();
}
/*------------------------------------EOF---------------------------------------*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -