📄 play_ain.c
字号:
/**********************************************************************/
/*************** MTK CONFIDENTIAL & COPYRIGHTED ****************/
/*************** ****************/
/*************** $Modtime:: 04/08/27 9:40a $ ****************/
/*************** $Revision:: 1 $ ****************/
/*************** ****************/
/*************** Description : Play module for ****************/
/*************** audio in ****************/
/*************** ****************/
/*************** Company : MediaTek Inc. ****************/
/*************** Programmer : ****************/
/**********************************************************************/
#define _PLAY_AIN_C_
#pragma NOAREGS
#include "general.h"
#ifdef MTK_MENU
#include "setupmn\stpadsp.h" /* for bSetAudioInSource() */
#else
#include "setup\adspr.h" /* for bSetAudioInSource() */
#endif
#ifdef AUDIO_IN_EN
#define AIN_TYPE_MAX 4
static code BYTE pbAinSrc[AIN_TYPE_MAX] = {
EV_AI_OFF,
EV_AI_LINE_1,
EV_AI_SPDIF_1,
EV_AI_SPDIF_2
};
// *********************************************************************
// Function : void vAINInit(BYTE bType) large
// Description : Audio in play module initial
// Parameter : None
// Return : None
// *********************************************************************
void vAINInit(BYTE bType) large
{
BYTE bMode = bEepromReadByte(AUDIO_IN_POS);
if ((bMode == EV_AI_OFF) || (bMode >= EV_AIN_MAX))
{
// force switch to first mode
fgEepromWriteByte(AUDIO_IN_POS, pbAinSrc[1]);
bMode = pbAinSrc[1];
}
vAINSwitchSource(bMode);
}
// *********************************************************************
// Function : void vAINExit(void) large
// Description : Audio in play module exit
// Parameter : None
// Return : None
// *********************************************************************
void vAINExit(void) large
{
if (bEepromReadByte(AUDIO_IN_POS) != EV_AI_OFF)
{
// force switch to first audio in off mode
fgEepromWriteByte(AUDIO_IN_POS, EV_AI_OFF);
vAINSwitchSource(EV_AI_OFF);
}
}
// *********************************************************************
// Function : BYTE bAINDisplayKey(void) large
// Description :
// Parameter : None
// Return : None
// *********************************************************************
BOOL fgAINDisplayKey(void) large
{
BYTE bType = _rOsdStateCtx.bPlayInfoType + 1;
BYTE bSrc = bEepromReadByte(AUDIO_IN_POS);
// switch to next display type
if (bType > AIN_DISP_MODE_MAX)
{
bType = AIN_DISP_MODE_DISABLE;
}
vAINShowDispMode(bType);
vAINShowInputSource(bSrc);
return (UOP_OK);
}
// *********************************************************************
// Function : void bAINFunctionKey(void) large
// Description : Audio in play module exit
// Parameter : None
// Return : None
// *********************************************************************
BOOL fgAINFunctionKey(void) large
{
BYTE bIdx, bType;
if ((fgIsFuncAin() == FALSE) || fgIsPeriCmdBusy())
{
return (UOP_OK);
}
bType = bEepromReadByte(AUDIO_IN_POS);
for (bIdx = 0; bIdx < AIN_TYPE_MAX; bIdx++)
{
if (pbAinSrc[bIdx] == bType)
{
break;
}
}
if (bIdx >= (AIN_TYPE_MAX -1))
{
// switch back to DVD mode
bType = EV_AI_OFF;
}
else
{
bType = pbAinSrc[bIdx + 1];
}
fgEepromWriteByte(AUDIO_IN_POS, bType);
vAINSwitchSource(bType);
if (bType == EV_AI_OFF)
{
vPlayerFuncSwitch(PLAYER_FUNC_DVD);
}
return (UOP_OK);
}
/************************************************************************
Function : void vOsdUpdate(void)
Description : Update OSD/VFD
Parameter : None
Return : None
************************************************************************/
BYTE bAInHandleUopRet(BYTE bUopId, BYTE bUopRet) large
{
BYTE bRet = UOP_UPDATE;
BYTE bTmp1, bTmp2;
if (bUopRet != SV_NO_ERROR)
{
bRet = UOP_FAIL; /* show error */
}
else
{
bRet = UOP_UPDATE;
}
switch (bUopId)
{
/* case UOP_DIGITAL_BTN: */
/* case UOP_ARROW_BTN: */
/* normal playback */
/* case UOP_RESUME: */
/* case UOP_RESUME_PLAY: */
/* case UOP_PLAY: */
/* case UOP_PAUSE: */
/* case UOP_STOP: */
/* case UOP_NEXT: */
/* case UOP_PREVIOUS: */
/* case UOP_REPEAT: */
/* trick mode control */
/* case UOP_FORWARD: */
/* case UOP_REVERSE: */
/* case UOP_STEP: */
/* case UOP_STEP_BACK: */
/* case UOP_A_TO_B: */
/* case UOP_FREEZE: */
/* PBC control */
/* case UOP_MENU_CALL: */
/* case UOP_RETURN: */
/* case UOP_CHANGE_ASTN: */
/* case UOP_NEXT_ASTN: */
/* case UOP_CHANGE_SPSTN: */
/* case UOP_NEXT_SPSTN: */
/* case UOP_SP_SWITCH: */
/* case UOP_NEXT_SPSTN_NOSP: */
/* case UOP_CHANGE_AGL: */
/* case UOP_DEFAULT: */
/* case UOP_TOP: */
/* case UOP_GOUP: */
/* case UOP_STILL_OFF: */
/* case UOP_MEMORY_PLAY: */
/* non-PBC control */
/* case UOP_PBC_SWITCH: */
/* case UOP_DIGEST: */
/* case UOP_PROGRAM: */
/* case UOP_RANDOM: */
/* case UOP_SHUFFLE: */
/* case UOP_MEMORY: */
/* case UOP_BOOKMARK: */
/* case UOP_BOOKMARK: */
/* item play */
/* case UOP_TIME_PLAY: */
/* case UOP_TITLE_PLAY: */
/* case UOP_PTT_PLAY: */
/* case UOP_TRACK_PLAY: */
/* case UOP_MP3_PLAY: */
/* case UOP_JPEG_PLAY: */
default:
break;
}
return (bRet);
}
#endif /* AUDIO_IN_EN */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -