📄 player.c
字号:
}
//BillDen bg 2003.3.17
else
{
_bScrSaverTimer = SCR_SAVER_TIMEOUT;
_bScrSaverBeepCnt = SCR_SAVER_OFF_BEEP_COUNT;
}
//BillDen end
}
else /* if (_bScrSaverTimer > 0) */
{
_bScrSaverTimer--;
_bScrSaverBeepCnt = SCR_SAVER_OFF_BEEP_COUNT;
}
}
else /* not allow to enter screen save mode */
{
/* reset counter */
vScrSaverSetTimeOut(SCR_SAVER_TIMEOUT);
}
} /* screen saver off */
} /* _bScrSaverBeepCnt */
#ifdef SRV_SHOW_ERROR_COUNTER
vPlayerShowSrvErr();
#endif
vAdspTimerJob();
#ifdef SUPPORT_BROWSER
vBrowserTimer();
#endif
#ifdef BBK_NEW_GUI
vFlItemInfoTimer();
#endif
}
#ifdef GUI_DC_SELECT
static void vDCTimer(void) large
{
BYTE bMCRId;
#ifdef USB_CARD_READER
BYTE bUSBId;
#endif
if (_bDCTimer)
{
_bDCTimer--;
}
#ifdef USB_CARD_READER
if(_bSlotTimer)
{
_bSlotTimer--;
}
#endif
switch(_bDevType)
{
case DEVICE_DVD:
if(_bDCTimer == 15)
{
vClearWB(WB_NORMAL_INITMSG);
vEnableWB(WB_NORMAL_INITMSG);
vPlayerShowLogo(DVD_STOP_LOGO, LOGO_STAND);
}
if(_bDCTimer == 10)
{
_fgInitMsgKeep = FALSE;
vSendUopCmd(UOP_CHG_DEV, SV_ASSIGN_DEV, SV_DEVID_CDVDROM, 0);
}
break;
case DEVICE_USB:
if (_bDCTimer == 150)
{
#ifdef USB_CARD_READER
vSetSharedInfo(SI_FAT_ERR_CODE, 0x00);
if(bSharedInfo(SI_EMD_ATTACH) & 0x01)
{
bUSBId = SV_DEVID_USB_SLOT_1;
}
else if(bSharedInfo(SI_EMD_ATTACH) & 0x02)
{
bUSBId = SV_DEVID_USB_SLOT_2;
}
else if(bSharedInfo(SI_EMD_ATTACH) & 0x04)
{
bUSBId = SV_DEVID_USB_SLOT_3;
}
else if(bSharedInfo(SI_EMD_ATTACH) & 0x08)
{
bUSBId = SV_DEVID_USB_SLOT_4;
}
else if(bSharedInfo(SI_EMD_ATTACH) & 0x10)
{
bUSBId = SV_DEVID_USB_SLOT_5;
}
else if(bSharedInfo(SI_EMD_ATTACH) & 0x20)
{
bUSBId = SV_DEVID_USB_SLOT_6;
}
#ifndef SUPPORT_MCR
else if(bSharedInfo(SI_EMD_ATTACH) & 0x40)
{
bUSBId = SV_DEVID_USB_SLOT_7;
}
else if(bSharedInfo(SI_EMD_ATTACH) & 0x80)
{
bUSBId = SV_DEVID_USB_SLOT_8;
}
#endif
else
{
bUSBId = SV_DEVID_USB_SLOT_1;
}
vSendUopCmd(UOP_CHG_DEV, SV_ASSIGN_DEV, bUSBId, 0);
#else
vSendUopCmd(UOP_CHG_DEV, SV_ASSIGN_DEV, SV_DEVID_USB_SLOT_1, 0);
#endif
_fgInitMsgKeep = FALSE;
}
break;
#ifdef SUPPORT_MCR
case DEVICE_CARD:
if(_bDCTimer == 150)
{
bMCRId = bSharedInfo(SI_MCR_ATTACH);
switch(bMCRId)
{
case 0x01:
case 0x09:
vSendUopCmd(UOP_CHG_DEV, SV_ASSIGN_DEV, SV_DEVID_MS_CARD, 0); //MS
break;
case 0x02:
case 0x0a:
vSendUopCmd(UOP_CHG_DEV, SV_ASSIGN_DEV, SV_DEVID_SD_CARD, 0); //SD&MMC
break;
case 8:
vSendUopCmd(UOP_CHG_DEV, SV_ASSIGN_DEV, SV_DEVID_CF_CARD, 0); //CF
break;
case 0x04:
case 0x0c:
vSendUopCmd(UOP_CHG_DEV, SV_ASSIGN_DEV, SV_DEVID_SM_CARD, 0); //SM
break;
default:
vSendUopCmd(UOP_CHG_DEV, SV_ASSIGN_DEV, SV_DEVID_SM_CARD, 0); //SM
if(bSharedInfo(SI_MCR_ATTACH) == 0)
{
vOsdShowInitState(SV_NO_DISC);
#ifdef VFD_SUPPORT
vVfdShowInitStatus(SV_NO_DISC);
#endif
}
break; //linshangbo 051005 end
}
_fgInitMsgKeep = FALSE;
break;
}
#endif
default:
break;
}
if((DEVICE_USB == _bDevType) || (DEVICE_CARD == _bDevType))
{
if(198 == _bDCTimer)
{
vClearWB(WB_NORMAL_INITMSG);
vOsdPosClear(OSD_POS_PLAY_STATUS);
}
else if(190 == _bDCTimer)
{
#ifdef USB_CARD_READER
_bSlotTimer = 150;
_fgClear = FALSE;
#endif
if(bKeyState() == KEY_SCRSAV)
{
_bPlayPostKey = IR_ESCAPE_SCRSAV;
}
if(fgIsInSetupMenu())
{
vSetupMenuClose();
}
vPlayerShowLogo(DVD_STOP_LOGO, LOGO_STAND);
vSetSharedInfo(SI_INIT_STATE,SV_EMD_LOADING);
vEnableWB(WB_NORMAL_INITMSG);
vOsdShowInitState(SV_EMD_LOADING);
#ifdef VFD_SUPPORT
vVfdMessage(VFD_MESSAGE_LOADING);
#endif
}
#ifdef USB_CARD_READER
if((bSharedInfo(SI_INIT_STATE) == SV_DISC_IDENTIFIED) && (_bSlotTimer == 0) && (!fgIsScrSaverOn()))
{
_fgClear = FALSE;
_bSlotTimer = 40;
}
if((bSharedInfo(SI_INIT_STATE) == SV_NO_DISC) && (_bSlotTimer == 0) && (!fgIsScrSaverOn()))
{
if((!_fgClear) && (!fgIsInSetupMenu()) && 0 == bSharedInfo(SI_EMD_ATTACH))
{
_fgClear = TRUE;
vISOExit();
_bPlayType = PLAY_TYPE_NONE;
vSetKeyState(KEY_INIT);
vOsdPosClear(OSD_POS_PLAY_STATUS);
vEnableWB(WB_NORMAL_INITMSG);
#ifdef VFD_SUPPORT
if(DEVICE_CARD == _bDevType)
{
vVfdMessage(VFD_MESSAGE_NO_CARD);
}
else
{
vVfdMessage(VFD_MESSAGE_NO_USB);
}
#endif
vPlayerShowLogo(DVD_STOP_LOGO, LOGO_STAND);
}
if(bSharedInfo(SI_EMD_ATTACH))
{
vPlayerReset();
vSetSharedInfo(SI_INIT_STATE,SV_EMD_LOADING);
vEnableWB(WB_NORMAL_INITMSG);
vOsdShowInitState(SV_EMD_LOADING);
#ifdef VFD_SUPPORT
vVfdMessage(VFD_MESSAGE_LOADING);
#endif
_bDCTimer = 170;
_fgClear = FALSE;
}
}
#endif
}
if((DEVICE_USB == _bDevType) || (DEVICE_CARD == _bDevType))
{
if(_bDCEmpty & 0x80)
{
if(_bDCEmpty & 0x3f)
{
_bDCEmpty--;
}
else
{
_bDCEmpty = 0;
_fgInitMsgKeep = TRUE;
vEnableWB(WB_NORMAL_INITMSG);
_wStartX = 0;
_wStartY = 0;
vOsdMsgShowCenter(WB_NORMAL_INITMSG, OSD_MSG_ERR_DISC_NOT_SUPPORT, OSD_NO_DISAPPEAR, NOMAL_INITMSG_WIDTH);
#ifdef VFD_SUPPORT
vVfdMessage(VFD_MESSAGE_ERROR);
#endif
}
}
else if(_bDCEmpty & 0x40)
{
if(_bDCEmpty & 0x3f)
{
_bDCEmpty--;
}
else
{
_bDCEmpty = 0;
_fgInitMsgKeep = TRUE;
vEnableWB(WB_NORMAL_INITMSG);
_wStartX = 0;
_wStartY = 0;
vOsdMsgShowCenter(WB_NORMAL_INITMSG, OSD_MSG_EMPTY_CARD, OSD_NO_DISAPPEAR, NOMAL_INITMSG_WIDTH);
#ifdef VFD_SUPPORT
vVfdMessage(VFD_MESSAGE_ERROR);
#endif
}
}
if ((_bUSBDsct == FALSE) && (bSharedInfo(SI_EMD_ATTACH) == 0) && (_bDCStChged == DEVICE_NONE))
{
if(fgIsInSetupMenu())
{
vSetupMenuClose();
}
if(_bFlMnState == FL_ST_IN_INFO) //add by linshangbo 06.03.24
{
vSetExitInputState();
}
vSendUopCmd(UOP_STOP,0,0,SV_STOP_ALL_TARGET);
vPlayerShowLogo(DVD_STOP_LOGO, LOGO_STAND);
_bUSBDsct = TRUE;
}
#ifdef SUPPORT_MCR
else if((_bMCRDsct == FALSE) && (bSharedInfo(SI_MCR_ATTACH) == 0) && (_bDCStChged == DEVICE_NONE))
{
if(fgIsInSetupMenu())
{
vSetupMenuClose();
}
if(_bFlMnState == FL_ST_IN_INFO) //add by linshangbo 06.03.24
{
vSetExitInputState();
}
vSendUopCmd(UOP_STOP,0,0,SV_STOP_ALL_TARGET);
vPlayerShowLogo(DVD_STOP_LOGO, LOGO_STAND);
_bMCRDsct = TRUE;
}
#endif
}
if ((_bUSBDsct == TRUE) && (bSharedInfo(SI_EMD_ATTACH) != 0) && (DEVICE_USB == _bDevType)) //在选择USB的状态下,检测是否有USB设备连接
{
if(bSharedInfo(SI_DEVICE_ID) >= SV_DEVID_USB_SLOT_1 &&
#ifndef SUPPORT_MCR
bSharedInfo(SI_DEVICE_ID) <= SV_DEVID_USB_SLOT_8)
#else
bSharedInfo(SI_DEVICE_ID) <= SV_DEVID_USB_SLOT_6)
#endif
{
_bUSBDsct = FALSE;
if(_bDCTimer == 0)
{
_bDCTimer = USB_SEL_TIME;
}
}
}
#ifdef SUPPORT_MCR
else
{
if((_bMCRDsct == TRUE )&&(bSharedInfo(SI_MCR_ATTACH) != 0) && (DEVICE_CARD== _bDevType))
{
if(bSharedInfo(SI_DEVICE_ID) >= SV_DEVID_MS_CARD && bSharedInfo(SI_DEVICE_ID) <= SV_DEVID_CF_CARD)
{
_bMCRDsct = FALSE;
if(_bDCTimer == 0)
{
_bDCTimer = CARD_SEL_TIME;
}
vPlayerShowLogo(DVD_STOP_LOGO, LOGO_STAND);
}
}
}
#endif
}
#endif
// *********************************************************************
// Function : void vIrTimer(void)
// Description :
// Parameter : None
// Return : None
// *********************************************************************
static void vIrTimer(void) large
{
BOOL fgRet = UOP_OK;
/* error check */
if (_bIRKey >= IR_KEY_MAX)
{
_bIRKey = IR_NONE;
return;
}
/* screen saver */
if (!fgIsScrSaverOn())
{
vScrSaverSetTimeOut(SCR_SAVER_TIMEOUT);
}
vPlayerKeyProc();
}
#ifdef RUSSIAN_BUYER_REQUEST2 //songchen 061210
#ifdef SUPPORT_DUBLE_FUNCTION_KEY
#define IR_TIMER_OVERFLOW 7
#define IR_CNT_NUM 10
BYTE xdata _bIRKeyStore = IR_NONE;
BYTE xdata _bHoldKeyCnt = 0;
BYTE xdata _bKeyCnt = 0;
extern BYTE xdata _bIRStatus;
static void vHoldPressKey(void) large
{
switch(_bIRKey0)
{
case IR_PLAY_PAUSE:
{
if(EXIST_IR_KEY())
{
_bHoldKeyCnt = 0;
if(0 == _bKeyCnt)
{
_bIRKeyStore = _bIRKey0;
}
if((++_bKeyCnt) > IR_CNT_NUM)
{
_bKeyCnt = 0;
_bIRKeyStore = IR_NONE;
_bIRKey0 = IR_DEFAULT;
_bIRStatus = 2; //_bIRStatus = IR_WAIT_NEW_CODE;
}
else
{
_fgIRKeyValid = FALSE;
}
}
else
{
if((IR_NONE != _bIRKeyStore) && (_bIRKey0 == _bIRKeyStore))
{
_bHoldKeyCnt ++;
if(_bHoldKeyCnt > IR_TIMER_OVERFLOW)
{
_fgIRKeyValid = TRUE;
_bIRKeyStore = IR_NONE;
_bHoldKeyCnt = 0;
_bKeyCnt = 0;
}
}
}
break;
}
default:
_bIRKeyStore = IR_NONE;
_bKeyCnt = 0;
break;
}
}
#endif
#endif
/***************************************************************************
Function : void vGetCurrKey(void)
Dsecription :
Parameter : None
Return : None
***************************************************************************/
static void vGetCurrKey(void) large
{
/* TODO: the emergency key should abort ther current key operation */
#ifdef SUPPORT_DUBLE_FUNCTION_KEY //songchen 061210
vHoldPressKey();
#endif
#ifdef IR_CHECK_KEY_LOCK
if (fgIsIrKeyLock())
{
vIrKeyPressTimeoutCheck();
}
#endif
if (_bIRKey == IR_NONE) /* check this to prevent command conflict */
{
/* note the internal state transition priority is higher than user operation */
if (_bPlayPostKey != IR_NONE)
{
if ((_bPWRMode == SV_PWR_ACTIVE) || (_bPlayPostKey == IR_ESCAPE_SCRSAV))
{
_bIRKey = _bPlayPostKey;
_bPlayPostKey = IR_NONE;
}
else if (_bPlayPostKey == IR_MANUAL_EJECT)
/* && ((_bPWRMode == SV_PWR_IDLE_PAUSE) || (_bPWRMode == SV_PWR_IDLE_STOP)) */
{
_bIRKey = IR_EJECT;
_bPlayPostKey = IR_NONE;
}
else if (_bPlayPostKey == IR_POWER)
/* && ((_bPWRMode == SV_PWR_IDLE_PAUSE) || (_bPWRMode == SV_PWR_IDLE_STOP)) */
{
_bIRKey = IR_POWER;
_bPlayPostKey = IR_NONE;
}
}
/* for UI timer */
else if (_bIrTimer == IR_TIMER_TIMEOUT)
{
_bIRKey = IR_TIME_OUT;
_bIrTimer = IR_TIMER_VOID;
}
/* note here must be the only one entry point for user operation input */
/* VFD key's priority is higher than IR key */
//bywhy 04/06/24
#ifdef VFD_SUPPORT
else if (_bVfdKeyScan != IR_NONE)
{
_bIRKey = _bVfdKeyScan;
_bVfdKeyScan = IR_NONE;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -