📄 player.~c
字号:
else
{
/* no more info to update */
vClearShmUpdCnt();
}
#else
if (_bSMUpdate)
{
vHandleSM();
_bSMUpdate = FALSE;
ClrSmBusy();
}
#endif
}
// *********************************************************************
// Function : void vPlayerInit(void) large
// Description :
// Parameter : None
// Return : None
// *********************************************************************
static void vPlayerInit(void) large
{
/* note: player function is loaded in vUserInit() */
_rOsdStateCtx.fgUopUpdate = FALSE;
_rOsdStateCtx.bUopRetId = UOP_NONE;
_rOsdStateCtx.bUopRetVal = SV_NO_ERROR;
_rOsdStateCtx.fgSetupShow = FALSE;
_rOsdStateCtx.fgSetupSttTrans = FALSE;
#ifdef PLAYER_GOTO
_rOsdStateCtx.fgGotoShow = FALSE; //megaa Goto
_rOsdStateCtx.fgVRemoteShow = FALSE; //megaa Goto
#endif
_rOsdStateCtx.fgZoomBrShow = FALSE;
_rEqState.bDispType = OSD_EQ_TYPE_DISABLE;
// for player timer
#if defined(DVD_RECEIVER)
_bPlayerTimerBeepCnt = 24;
#else
_bPlayerTimerBeepCnt = 0;
#endif
#ifdef SHOW_CD_TEXT //Vincent @02-02-04
_bShow_CDTextCounter = 0;
#endif
// reset input state
/* vResetInputState(); */
_bInputState = INPUT_STATE_NONE;
_fgInputResend = FALSE;
_fgInputEscape = FALSE;
_bIrTimer = IR_TIMER_VOID;
_bIrTimerBeepCnt = 0;
// for RISC communication states
_bLastSyncUop = UOP_NONE;
_bLastPbcState = SV_PBC_INIT;
// reset osd state
/* vResetOsdState(); */
_rOsdStateCtx.fgTimeShow = FALSE;
_rOsdStateCtx.bTimeType = OSD_SHOW_DISABLE;
_rOsdStateCtx.fgRemainMsgShow = FALSE;
_rOsdStateCtx.fgPlayInfoShow = FALSE;
_rOsdStateCtx.bPlayInfoType = OSD_INFO_DISABLE;
_rOsdStateCtx.fgPlayShow = FALSE;
_rOsdStateCtx.bPlayType = OSD_SHOW_PLAY;
_rOsdStateCtx.fgRepeatShow = FALSE;
_rOsdStateCtx.fgABShow = FALSE;
_rOsdStateCtx.fgUsrCtrlShow = FALSE;
_rOsdStateCtx.fgZoomShow = FALSE;
_rOsdStateCtx.fgTimePos = OSD_SHOW_TIME_LEFT;
#if defined(DVD_RECEIVER) //xiao 03-04-15
_bVolCtrlTimer = IR_VOL_CTRL_EFFECT;
_fgVolCtrl = FALSE;
_bChCount = 0;
_bChTimer = CH_OSD_TIMER;
_bChMode = CH_MODE_NONE;//INIT VOL MODE
#endif
#ifdef SLEEP_FUNCTION //xiao 03-04-14
_bSleepOSDTimer = SLEEP_OSD_TIMER;
_wSleepCounter = 0;
_bSetSleepState = SLEEP_OFF;
_fgPowerDown = FALSE;
#endif
#ifdef EN_DISC_ID_CHK
//vResetDiscInitFlag()
_rOsdStateCtx.bDiscIDFound = 0;
_rOsdStateCtx.bDiscInitFlag = 0;
#endif
// this state is not affected by tray-in/out
_rOsdStateCtx.bAudioStatus = OSD_AUDIO_SHOW_NORMAL;
_rOsdStateCtx.fgAudioStatusRecall = FALSE;
// reset search state
_rSearchStateCtx.bType = SEARCH_NONE;
#ifdef SETUP_NO_AGL_MARK
_rOsdStateCtx.fgAngleShow = TRUE;
#endif
// reset program state
/* vSelMenuReset(); */
vSetSharedInfo(SI_USR_PROGRAM_TYPE, SV_PROGRAM_NONE_ITEM);
/* vSetSharedInfo(SI_USR_PROGRAM_NO, 0); */
vSetSharedInfo(SI_USR_PROGRAM_NS, 0);
/* vClearPlayType(); */
_bPlayType = PLAY_TYPE_NONE;
vSetKeyState(KEY_INIT);
if ( fgIsInSetupMenu() )
{
vSetKeyState(KEY_SETUP);
}
/* reset screen saver timer */
_bScrSaverBeepCnt = SCR_SAVER_OFF_BEEP_COUNT;
_bScrSaverTimer = SCR_SAVER_TIMEOUT;
vSetScrSaverOff();
vSetSharedInfo(SH_IR_TIMER_AUTO_PWR_DOWN, 0);
#if (defined(PLAYER_STOP_SRV_STOP) || defined(AUDIO_IN_EN) || defined(SUPPORT_CAPTURE_LOGO))
/* reset player state */
_bUISrvStatus = PLAYER_SRV_NORMAL;
#endif
// for vocal assist
#ifdef PLAYER_KARAOKE
_fgVocalOn = FALSE;
#endif
#ifdef AUDIO_STREAM_CHANGE_MUTE
_fgAstChg = FALSE;
#endif
#ifdef SRV_SHOW_ERROR_COUNTER
_bSrvErrorTimer = 0;
_bSrvShowErrIdx = 0;
_pbSrvErrTrace[0] = 0;
_pbSrvErrTrace[1] = 0;
_pbSrvErrTrace[2] = 0;
_pbSrvErrTrace[3] = 0;
_pbSrvErrTrace[4] = 0;
#endif
#ifdef RISC_SP81
vSetSharedInfo(SI_ZOOM_SWITCH, SV_ZOOM_OFF);
#endif
return;
}
#define PLAYER_TIEMR_ST_NONE 0
#define PLAYER_TIMER_ST_OSD_REFRESH 1
#define PLAYER_TIMER_ST_OSD_CHECK 2
#define PLAYER_TIMER_ST_MIC_DETECT 3
#define PLAYER_TIMER_ST_CHK_DISC_INIT 4
// *********************************************************************
// Function : void vPlayerTimerState(BYTE bState)
// Description :
// Parameter : None
// Return : None
// *********************************************************************
static void vPlayerTimerState(BYTE bState) large
{
BYTE bTmp;
#ifdef AUDIO_STREAM_CHANGE_MUTE
if (_fgAstChg == TRUE)
{
bTmp = bSharedInfo(SH_CHG_AST_CNT);
if (bTmp > 0)
{
bTmp--;
vSetSharedInfo(SH_CHG_AST_CNT, bTmp);
}
if (bTmp == 0)
{
vSendUopCmd(UOP_CHANGE_ASTN, bSharedInfo(SH_CHG_AST_OPT1),
bSharedInfo(SH_CHG_AST_OPT2), bSharedInfo(SH_CHG_AST_OPT3));
_fgAstChg = FALSE;
}
}
#endif /* AUDIO_STREAM_CHANGE_MUTE */
switch (bState)
{
case PLAYER_TIMER_ST_OSD_REFRESH:
/* force refresh */
vOsdCoreRefresh(TRUE);
vSetLayer2Change(FALSE);
#ifdef PLAYER_FLMENU
vFlMnOnTimer();
#endif
break;
case PLAYER_TIMER_ST_OSD_CHECK:
/* only when OSD changed */
if (fgIsLayer2Changed())
{
vOsdCoreRefresh(FALSE); /* no timer count */
vSetLayer2Change(FALSE);
}
#ifdef PLAYER_FLMENU
vFlMnOnTimer();
#endif
break;
case PLAYER_TIMER_ST_MIC_DETECT:
#ifdef PLAYER_KARAOKE
vPlayerMicLevelDetect();
#endif
break;
#ifdef EN_DISC_ID_CHK
case PLAYER_TIMER_ST_CHK_DISC_INIT:
if (fgIsNonPlay())
{
if (bSharedInfo(SI_INIT_STATE) == SV_DISC_IDENTIFIED)
{
if (fgIsDiscInitAskPwd())
{
vSetDiscInitFlag(DISC_INIT_WAIT_PWD_IN);
fgSetPlayPostKey(IR_PASSWORD);
}
if (fgIsDiscInitChecked())
{
vSetPlayType(bSharedInfo(SI_DISC_TYPE));
}
}
}
break;
#endif /* EN_DISC_ID_CHK */
case PLAYER_TIEMR_ST_NONE:
default:
break;
}
}
static code BYTE bPlayerTimerStateList[PLAYER_TIMER_BEEP_PERIOD] =
{
/* 00 */ PLAYER_TIMER_ST_OSD_REFRESH,
/* 01 */ PLAYER_TIMER_ST_CHK_DISC_INIT,
/* 02 */ PLAYER_TIEMR_ST_NONE,
/* 03 */ PLAYER_TIEMR_ST_NONE,
/* 04 */ PLAYER_TIEMR_ST_NONE,
/* 05 */ PLAYER_TIEMR_ST_NONE,
/* 06 */ PLAYER_TIMER_ST_OSD_CHECK,
/* 07 */ PLAYER_TIMER_ST_MIC_DETECT,
/* 08 */ PLAYER_TIEMR_ST_NONE,
/* 09 */ PLAYER_TIEMR_ST_NONE,
/* 10 */ PLAYER_TIEMR_ST_NONE,
/* 11 */ PLAYER_TIEMR_ST_NONE,
/* 12 */ PLAYER_TIMER_ST_OSD_CHECK,
/* 13 */ PLAYER_TIEMR_ST_NONE,
/* 14 */ PLAYER_TIEMR_ST_NONE,
/* 15 */ PLAYER_TIEMR_ST_NONE,
/* 16 */ PLAYER_TIEMR_ST_NONE,
/* 17 */ PLAYER_TIEMR_ST_NONE,
/* 18 */ PLAYER_TIMER_ST_OSD_CHECK,
/* 19 */ PLAYER_TIMER_ST_MIC_DETECT,
/* 20 */ PLAYER_TIEMR_ST_NONE,
/* 21 */ PLAYER_TIEMR_ST_NONE,
/* 22 */ PLAYER_TIEMR_ST_NONE,
/* 23 */ PLAYER_TIEMR_ST_NONE
};
// *********************************************************************
// Function : void vPlayerTimer(void)
// Description : Trigger non-key dependant event for play module
// Parameter : None
// Return : None
// *********************************************************************
static void vPlayerTimer(void) large
{
#if defined(DVD_RECEIVER)//DVD_AMP
BYTE bTmp,bTmp1;
#if defined(DAV935)
BYTE _bPL2_Sw;
#endif
#endif
BYTE bPbcState = bSharedInfo(SI_PBC_STATE);
#ifdef DVD_MENU_UPDATE_VFD_CIRCLE
BYTE bDom = bSharedInfo(SI_DVD_DOM);
#endif
#ifdef YXT_CTL //BillDen
BYTE bCh = bSharedInfo(SI_DSP_CH_CFG);
BYTE bDownmix = bEepromReadByte(SPEAKER_POSITION);
BYTE bSub = bEepromReadByte(SUB_SPK_POSITION);
BYTE bCnt = bEepromReadByte(CNTR_SPK_POSITION);
BYTE bRear = bEepromReadByte(REAR_SPK_POSITION);
BYTE bPL2 = bEepromReadByte(PROLOG_SW_POS);
#endif
#if defined(DVD_RECEIVER) && !defined(DVD_TUNER) //xiao 03-04-15
BYTE bDiscType = bSharedInfo(SI_DISC_TYPE);
#endif
/* for UI timer */
if ((_bIrTimer != IR_TIMER_VOID) && (_bIrTimer != IR_TIMER_TIMEOUT))
{
_bIrTimerBeepCnt--;
if(_bIrTimerBeepCnt == 0)
{
_bIrTimerBeepCnt = IR_TIMER_BEEP_PERIOD;
_bIrTimer--;
if (_bIrTimer == 0)
{
_bIrTimer = IR_TIMER_TIMEOUT;
}
}
} /* _bIrTimer */
#if defined(DVD_RECEIVER) //xiao 03-04-15
#if !defined(DVD_TUNER)
_bVolCtrlTimer--;
if (_bVolCtrlTimer == 0)
{
if (_fgVolCtrl)
{
#if defined(DAV935)
if(bDiscType != SV_DVD_VIDEO && bDiscType != SV_DVD_AUDIO && bDiscType != SV_MINI_DVD)
{
bTmp = bEepromReadByte(AMP_FL_VOL_POSITION);
vSendFlFrSwVolume(CHANNELFL_VOLUME_REGISTER,bTmp,COMMON_VOLUME);
bTmp = bEepromReadByte(AMP_FR_VOL_POSITION);
vSendFlFrSwVolume(CHANNELFR_VOLUME_REGISTER,bTmp,COMMON_VOLUME);
if(bEepromReadByte(SUB_SPK_POSITION)==0)//EV_ON
{
bTmp = bEepromReadByte(AMP_SUBW_VOL_POSITION);
vSendFlFrSwVolume(CHANNELSW_VOLUME_REGISTER,bTmp,COMMON_VOLUME);
}
}
else
{
bTmp = bEepromReadByte(AMP_FL_VOL_POSITION);
vSendFlFrSwVolume(CHANNELFL_VOLUME_REGISTER,bTmp,DVD_VOLUME);
bTmp = bEepromReadByte(AMP_FR_VOL_POSITION);
vSendFlFrSwVolume(CHANNELFR_VOLUME_REGISTER,bTmp,DVD_VOLUME);
if(bEepromReadByte(SUB_SPK_POSITION)==0)//EV_ON
{
bTmp = bEepromReadByte(AMP_SUBW_VOL_POSITION);
vSendFlFrSwVolume(CHANNELSW_VOLUME_REGISTER,bTmp,DVD_VOLUME);
}
}
bTmp = bEepromReadByte(AMP_SL_VOL_POSITION);
vSendCtSlSrVolume(CHANNELSL_VOLUME_REGISTER,bTmp,COMMON_VOLUME);
bTmp = bEepromReadByte(AMP_SR_VOL_POSITION);
vSendCtSlSrVolume(CHANNELSR_VOLUME_REGISTER,bTmp,COMMON_VOLUME);
bTmp = bEepromReadByte(AMP_CT_VOL_POSITION);
vSendCtSlSrVolume(CHANNELCT_VOLUME_REGISTER,bTmp,COMMON_VOLUME);
//bTmp1 = bEepromReadByte(AMP_BASS_VOL_POSITION);
//vSendToneVol(BASS_FILTER_INDEX_ADDRESS,bTmp1,bTmp);
#else
bTmp = bEepromReadByte(AMP_FL_VOL_POSITION);
vSendChVolume(CHANNELFL_VOLUME_REGISTER,bTmp);
bTmp = bEepromReadByte(AMP_FR_VOL_POSITION);
vSendChVolume(CHANNELFR_VOLUME_REGISTER,bTmp);
bTmp = bEepromReadByte(AMP_SL_VOL_POSITION);
vSendChVolume(CHANNELSL_VOLUME_REGISTER,bTmp);
bTmp = bEepromReadByte(AMP_SR_VOL_POSITION);
vSendChVolume(CHANNELSR_VOLUME_REGISTER,bTmp);
bTmp = bEepromReadByte(AMP_CT_VOL_POSITION);
vSendChVolume(CHANNELCT_VOLUME_REGISTER,bTmp);
bTmp = bEepromReadByte(AMP_SUBW_VOL_POSITION);
vSendChVolume(CHANNELSW_VOLUME_REGISTER,bTmp);
bTmp1 = bEepromReadByte(AMP_BASS_VOL_POSITION);
vSendToneVol(BASS_FILTER_INDEX_ADDRESS,bTmp1,bTmp);
#endif
if (!fgIsInSetupMenu())
vOsdShowVol(_bVolNum, OSD_TIMEOUT);
vVfdShowVOL(9,_bVolNum); //Don't deal xiao 03-04-26
_bChCount = CH_OSD_COUNT;
_fgVolCtrl = FALSE;
}
_bVolCtrlTimer = IR_VOL_CTRL_EFFECT;
}
#endif
//for changhong volume show timer state
if (_bChCount != 0) //xiao_del
{
if (_bChTimer != 0)
{
_bChTimer--;
if (_bChTimer == 0)
{
_bChTimer = CH_OSD_TIMER;
_bChCount--;
if (_bChCount == 0)
{
vOsdPosClear(OSD_POS_AUD_CTRL);
_bChMode = CH_MODE_NONE;
}
}
}
}
#endif
#if defined(DV969_RDS) ||defined(DV967_RDS)
if (bSharedInfo(SI_DISC_TYPE) == SV_DVD_AUDIO)
{
vSetSharedInfo(SI_DISC_TYPE,0xff);
vSetSharedInfo(SI_INIT_STATE,SV_UNKNOWN_DISC);
vSendUopCmd(UOP_STOP, 0, 0, 0);
vSendUopCmd(UOP_STOP, 0, 0, 0);
}
#endif
#if 0
#ifdef VFD_LED //BillDen bg
if ( bSharedInfo(SI_INIT_STATE) > 5 )
{
if (_fgLedOnOff)
{
if ( fgIsDiscPlay(bPbcState) )
{
vVfdLed(0, TRUE);
}
else if ( bPbcState == SV_STOP || bPbcState == SV_STOP_RESUME )
{
vVfdLed(0, FALSE);
}
}
}
#endif //BillDen end
#endif
#if defined(SETUP_HEADPHONE)
if(_fgHeadphone & 0x7F)
{
_fgHeadphone--;
}
if(_fgHeadphone & 0x80)
{
#if defined(DVR938)
#if defined(USE_CD4094)
if(!(bReadBIM(0xB9)&READ_HEADPHONE_DET))
#else
if(!(bReadBIM(BIM_DIO_IN2)&READ_HEADPHONE_DET))
#endif
#elif defined(DVR979)
if(!READ_HEADPHONE_CPUIO)
#endif
{
#if defined(USE_CD4094)
CLR_4094_PIN(SET_TAS5508_MUTE);
#else
ClrBitBIM(BIM_DIO_OUT1,SET_TAS5508_MUTE);
SetBitBIM(BIM_RIODRM, SET_TAS5508_MUTE);
#endif
#if defined(DVR938)
#ifdef USE_CD4094
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -