📄 play_iso.c
字号:
/* case UOP_STEP: */
/* case UOP_STEP_BACK: */
/* case UOP_A_TO_B: */
/* case UOP_FREEZE: */
/* PBC control */
/* case UOP_MENU_CALL: */
/* case UOP_RETURN: */
#if 0 //MTK_guosong @04-16-04
case UOP_CHANGE_ASTN:
case UOP_CHANGE_SPSTN:
{
#ifndef BBK
bTmp1 = bSharedInfo(SI_AST_NO);
bTmp2 = bSharedInfo(SI_AST_NS);
if ((bUopRet == SV_NO_ERROR) && (bTmp1 < bTmp2) && (bTmp2 > 0))
{
vDVDShowAudio(bTmp1, bTmp2);
}
#endif
break;
}
#else
case UOP_CHANGE_SPSTN:
bTmp1 = bSharedInfo(SI_SPST_NO);
bTmp2 = bSharedInfo(SI_SPST_NS);
#ifdef DEBUGE_LIKE
DRS232LogS("-y2\n");
DRS232LogB(bSharedInfo(SI_SPST_NO),bTmp1,bTmp2,bSharedInfo(SI_SPST_NS));
#endif
#if 0//def MPEG4_TXT_SP
if ((bUopRet == SV_NO_ERROR) && (bTmp2 > 0) && ((bTmp1 & 0x1f) < bTmp2) && (_bSetupResumeSub == 0))
#else
if ((bUopRet == SV_NO_ERROR) && (bTmp2 > 0) && ((bTmp1 & 0x1f) < bTmp2))
#endif
{
#ifdef DEBUGE_LIKE
DRS232LogS("-y3\n");
DRS232LogB(bSharedInfo(SI_SPST_NO),bTmp1,bTmp2,bSharedInfo(SI_SPST_NS));
#endif
vDVDShowSubtitle(bTmp1, bTmp2);
}
else
{
#ifdef DEBUGE_LIKE
DRS232LogS("-y4\n");
DRS232LogB(bSharedInfo(SI_SPST_NO),bTmp1,bTmp2,bSharedInfo(SI_SPST_NS));
#endif
#if 0//def MPEG4_TXT_SP
if((bUopRet == SV_NO_ERROR) && (bTmp2 > 0) && ((bTmp1 & 0x1f) < bTmp2) &&(_bSetupResumeSub == 1))
{
_bSetupResumeSub = 0;
break;
}
#endif
#if (DVD_USER_STREAM_CHANGE == DVD_STREAM_CHANGE_DIRECT)
vOsdShowSubtitle(OSD_SUBTITLE_CLEAR, 0, 0, 0, 0, 0);
#else
if (fgIsInputStateValid(INPUT_STATE_SUBTITLE_CHANGE))
{
fgSetPlayPostKey(IR_TIME_OUT);
}
#endif
}
break;
case UOP_CHANGE_ASTN:
{
bTmp1 = bSharedInfo(SI_AST_NO);
bTmp2 = bSharedInfo(SI_AST_NS);
if ((bUopRet == SV_NO_ERROR) && (bTmp1 < bTmp2) && (bTmp2 > 0))
{
vDVDShowAudio(bTmp1, bTmp2);
}
break;
}
#endif
/* case UOP_CHANGE_AGL: */
/* case UOP_RESUME_PLAY: */
/* case UOP_RESUME: */
/* case UOP_DEFAULT: */
/* case UOP_TOP: */
/* case UOP_GOUP: */
/* case UOP_STILL_OFF: */
/* case UOP_MEMORY_PLAY: */
/* non-PBC control */
/* case UOP_PBC_SWITCH: */
#ifdef BBK_MENU
#define FLDGTMN_HILIT HL_2
#define FLDGTMN_HILIT_COL 0x7844
case UOP_DIGEST:
vSetHLCol(FLDGTMN_HILIT, FLDGTMN_HILIT_COL);
break;
#endif
/* case UOP_PROGRAM: */
case UOP_RANDOM:
case UOP_SHUFFLE:
{
bTmp1 = bSharedInfo(SI_USR_PBC_CTRL);
bTmp2 = bSharedInfo(SI_ISO_ITEM_TYPE);
if (fgFlCheckStatus(FL_STATUS_IN_MENU))
{
vFlIpShowInfo(IP_INFO_RPT_TYPE, bTmp1, 0);
}
else if ((fgIsIsoItemStill(bTmp2) || fgIsIsoItemAV(bTmp2)) && (bUopRet == SV_NO_ERROR))
{
switch (bTmp1)
{
#if 0 //bywhy 10/09
case SV_SHUFFLE:
vOsdPosShow(OSD_POS_NORMAL, OSD_MSG_MP3_SHUFFLE, OSD_TIMEOUT_SHORT);
break;
case SV_RANDOM:
vOsdPosShow(OSD_POS_NORMAL, OSD_MSG_MP3_RANDOM, OSD_TIMEOUT_SHORT);
break;
#endif
case SV_REPEAT_NONE:
case SV_REPEAT_ABNONE:
vOsdPosShow(OSD_POS_NORMAL, OSD_MSG_NORMAL_MODE, OSD_TIMEOUT_SHORT);
break;
default:
break;
}
bRet = UOP_OK;
}
break;
} /* UOP_SHUFFLE */
/* case UOP_MEMORY: */
case UOP_BOOKMARK:
vBookmarkUpdate();
break;
/* 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: */
case UOP_FILE_DONE:
break;
default:
break;
}
return (bRet);
}
BYTE fgISORemainKey(void) large
{
BYTE bDiscType = bSharedInfo(SI_DISC_TYPE);
BYTE bPbcState = bSharedInfo(SI_PBC_STATE);
BYTE bISOType = bSharedInfo(SI_ISO_ITEM_TYPE); //BillDen
BYTE bType = bCurrRemainType();
#ifdef SUPPORT_DRM
#ifndef DRMVOD
if (fgFlCheckStatus(FL_STATUS_IN_MENU)
#ifdef MP3_AUTO_PLAY
&& IsoFileCmdTimer == 0
#endif
)
{
vDRMRegCodeKey();
_bIRKey = IR_NONE;
return (UOP_OK);
}
else
#endif
#endif
{
if (bISOType < SV_ISO_MPG) //BillDen
return (UOP_OK);
if (!fgIsDiscPlay(bPbcState))
{
vOsdShowError(SV_ERR_PLAYBACK_ONLY, OSD_TIMEOUT_SHORT);
return (UOP_OK);
}
bType++;
if (bType > OSD_SHOW_SINGLE_REMAIN)
{
bType = OSD_SHOW_DISABLE;
}
vOsdDisplayChange(DISP_REMAIN_CHG, bType);
}
return (UOP_OK);
}
BYTE fgISOSearchKey(void) large
{
BYTE bPbcState = bSharedInfo(SI_PBC_STATE);
BYTE bItemType = bSharedInfo(SI_ISO_ITEM_TYPE);
/*10/17am if (_rSearchStateCtx.bType == SEARCH_NONE)
{
vChangeInputState(INPUT_STATE_FILE_SELECT, FALSE);
}
else if (fgIsDiscPlay(bPbcState) &&
(fgIsIsoItemAV(bItemType) || fgIsIsoItemAOnly(bItemType)) &&
(bItemType != SV_ISO_WMA))*/
//10/18am bg
//10/18am bg //Vincent OGG -> MPG @05-29-04
#ifdef SUPPORT_OGG
if((bSharedInfo(SI_ISO_ITEM_TYPE) == SV_ISO_AVI || bSharedInfo(SI_ISO_ITEM_TYPE) == SV_ISO_OGG) && _rSearchStateCtx.bType == SEARCH_NONE)
#else
if(bSharedInfo(SI_ISO_ITEM_TYPE) == SV_ISO_AVI && _rSearchStateCtx.bType == SEARCH_NONE)
#endif
{
vChangeInputState(INPUT_STATE_FILE_SELECT, FALSE);
}else
//10/18am end
if (fgIsDiscPlay(bPbcState) && fgIsIsoItemAV(bItemType))
{
vChangeInputState(INPUT_STATE_ISO_TIME_SEARCH, FALSE);
}
//10/17am
else
{
vOsdShowError(SV_ERR_INPUT_INVALID, OSD_TIMEOUT_SHORT);
}
//10/17am
return (UOP_OK);
}
#if 0
static BYTE bISOGetRepeatType(BYTE bType)
{
switch (bType)
{
case SV_REPEAT_TRACK:
return (SV_REPEAT_ALL);
case SV_REPEAT_ALL:
return (SV_REPEAT_NONE);
case SV_REPEAT_NONE:
return (SV_REPEAT_TRACK);
default:
return (0xff);
}
}
static BYTE fgISORepeatKey(void) large
{
BYTE bRepeatType;
bRepeatType = bISOGetRepeatType(bSharedInfo(SI_REPEAT_MODE));
if (bRepeatType == 0xff)
{
bRepeatType = bISOGetRepeatType(bSharedInfo(SI_USR_PBC_CTRL));
}
if (bRepeatType == 0xff)
{
bRepeatType = SV_REPEAT_TRACK;
}
vSendUopCmd(UOP_REPEAT, bRepeatType, 0, 0);
return (UOP_OK);
}
#elif defined(PLAYER_FLMENU)
BYTE fgISORepeatKey(void) large
{
BYTE bType = bFlNextRepeatType();
if (bType == SV_SHUFFLE) {
vSendUopCmd(UOP_SHUFFLE, SV_ON, 0x0, 0x0);
}
else if (bType == SV_RANDOM) {
vSendUopCmd(UOP_RANDOM, SV_ON, 0x0, 0x0);
}
else {
vSendUopCmd(UOP_REPEAT, bType, 0x0, 0x0);
}
return (UOP_OK);
}
#else
static BYTE fgISORepeatKey(void) large
{
return (UOP_OK);
}
#endif
BYTE fgISOProgramKey(void) large
{
return (UOP_OK);
}
BYTE fgISOFFKey(void) large
{
/* Todo: check play item type */
#ifdef PLAYER_FLMENU
BYTE bPbcState = bFlGetFgPbcState();
#else
BYTE bPbcState = bSharedInfo(SI_PBC_STATE);
#endif
BYTE bPbcSpeed = bSharedInfo(SI_PBC_SPEED);
if (!fgIsDiscPlay(bPbcState))
{
vOsdShowError(SV_ERR_PLAYBACK_ONLY, OSD_TIMEOUT_SHORT);
return (UOP_OK);
}
#ifdef PAUSE_NO_TRICK
else if (bPbcState == SV_PAUSE)
{
vOsdShowError(SV_ERR_NORMAL_PLAY_ONLY, OSD_TIMEOUT_SHORT);
return (UOP_OK);
}
#endif
if(bPbcState == SV_FF)
{
if(bPbcSpeed < ISO_FAST_MAX - 1)
{
bPbcSpeed++;
}
else
{
#ifdef TRICK_MODE_USE_PLAY
vSendUopCmd(UOP_PLAY, 0, 0, 0);
return (UOP_OK);
#else
bPbcSpeed = 0;
#endif
}
}
else
{
bPbcSpeed = SV_TWO;
}
vSendUopCmd(UOP_FORWARD, SV_FAST, bPbcSpeed, pbISOFastSpeedTbl[bPbcSpeed]);
return (UOP_OK);
}
BYTE fgISOFRKey(void) large
{
/* Todo: check play item type */
#ifdef PLAYER_FLMENU
BYTE bPbcState = bFlGetFgPbcState();
#else
BYTE bPbcState = bSharedInfo(SI_PBC_STATE);
#endif
BYTE bPbcSpeed = bSharedInfo(SI_PBC_SPEED);
if (!fgIsDiscPlay(bPbcState))
{
vOsdShowError(SV_ERR_PLAYBACK_ONLY, OSD_TIMEOUT_SHORT);
return (UOP_OK);
}
#ifdef PAUSE_NO_TRICK
else if (bPbcState == SV_PAUSE)
{
vOsdShowError(SV_ERR_NORMAL_PLAY_ONLY, OSD_TIMEOUT_SHORT);
return (UOP_OK);
}
#endif
if(bPbcState == SV_FR)
{
if(bPbcSpeed < ISO_FAST_MAX - 1)
{
bPbcSpeed++;
}
else
{
#ifdef TRICK_MODE_USE_PLAY
vSendUopCmd(UOP_PLAY, 0, 0, 0);
return (UOP_OK);
#else
bPbcSpeed = 0;
#endif
}
}
else
{
bPbcSpeed = SV_TWO;
}
vSendUopCmd(UOP_REVERSE, SV_FAST, bPbcSpeed, pbISOFastSpeedTbl[bPbcSpeed]);
return (UOP_OK);
}
BYTE fgISOSFKey(void) large
{
/* Todo: check play item type */
BYTE bPbcState = bSharedInfo(SI_PBC_STATE);
BYTE bPbcSpeed = bSharedInfo(SI_PBC_SPEED);
BYTE bItemType = bSharedInfo(SI_ISO_ITEM_TYPE);
if (!fgIsDiscPlay(bPbcState))
{
vOsdShowError(SV_ERR_PLAYBACK_ONLY, OSD_TIMEOUT_SHORT);
return (UOP_OK);
}
#ifdef PAUSE_NO_TRICK
else if (bPbcState == SV_PAUSE)
{
vOsdShowError(SV_ERR_NORMAL_PLAY_ONLY, OSD_TIMEOUT_SHORT);
return (UOP_OK);
}
#endif
#ifdef ZOOM_NO_SLOW_STEP
if (fgIsIsoItemAV(bItemType) && (bSharedInfo(SI_ZOOM_SWITCH) != SV_ZOOM_1))
{
vOsdShowError(SV_ERR_NORMAL_PLAY_ONLY, OSD_TIMEOUT_SHORT);
return (UOP_OK);
}
#endif
if(bPbcState == SV_SF)
{
if(bPbcSpeed < ISO_SLOW_MAX - 1)
{
bPbcSpeed++;
}
else
{
#ifdef TRICK_MODE_USE_PLAY
vSendUopCmd(UOP_PLAY, 0, 0, 0);
return (UOP_OK);
#else
bPbcSpeed = 0;
#endif
}
}
else
{
bPbcSpeed = SV_TWO;
}
vSendUopCmd(UOP_FORWARD, SV_SLOW, bPbcSpeed, 0);
return (UOP_OK);
}
BYTE fgISOStepFKey(void) large
{
BYTE bItemType = bSharedInfo(SI_ISO_ITEM_TYPE);
if (fgIsIsoItemAV(bItemType))
{
#ifdef ZOOM_NO_SLOW_STEP
if (bSharedInfo(SI_ZOOM_SWITCH) != SV_ZOOM_1)
{
vOsdShowError(SV_ERR_NORMAL_PLAY_ONLY, OSD_TIMEOUT_SHORT);
return (UOP_OK);
}
#endif
vSendUopCmd(UOP_STEP, 0, 0, 0);
}
else
{
vOsdShowError(SV_ERR_DISC_NOT_SUPPORT, OSD_TIMEOUT_SHORT);
}
return UOP_OK;
}
BYTE fgISOStepRKey(void) large
{
BYTE bItemType = bSharedInfo(SI_ISO_ITEM_TYPE);
if (fgIsIsoItemAV(bItemType))
{
#ifdef ZOOM_NO_SLOW_STEP
if (bSharedInfo(SI_ZOOM_SWITCH) != SV_ZOOM_1)
{
vOsdShowError(SV_ERR_NORMAL_PLAY_ONLY, OSD_TIMEOUT_SHORT);
return (UOP_OK);
}
#endif
vSendUopCmd(UOP_STEP_BACK, 0, 0, 0);
}
else
{
vOsdShowError(SV_ERR_DISC_NOT_SUPPORT, OSD_TIMEOUT_SHORT);
}
return UOP_OK;
}
BYTE fgISOAudioKey(void) large
{
BYTE bTmp1 = bSharedInfo(SI_AST_NO);
BYTE bTmp2 = bSharedInfo(SI_AST_NS);
BYTE bMode = bAdspCurrVocal();
if (bSharedInfo(SI_MPIC_STT) != MPICSTT_PB_STRT) //BillDen
return UOP_FAIL;
if (bTmp2 <= 1)
{
switch (bMode)
{
case AUDIO_STEREO:
bMode = AUDIO_MONO_LEFT;
break;
case AUDIO_MONO_LEFT:
bMode = AUDIO_MONO_RIGHT;
break;
case AUDIO_MONO_RIGHT:
#ifdef AUD_EN_MIXED_MONO
bMode = AUDIO_MONO_MIXED;
#else
bMode = AUDIO_STEREO;
#endif
break;
case AUDIO_MONO_MIXED:
default:
bMode = AUDIO_STEREO;
break;
} /* switch() */
vAdspLR(bMode);
}
else
{
if ((bSharedInfo(SI_PBC_STATE) != SV_PLAY) ||
(bTmp2 <= 1) || (bTmp1 >= bTmp2))
{
return (UOP_FAIL);
}
bTmp1++;
if (bTmp1 >= bTmp2)
{
bTmp1 = 0;
}
vSendUopCmd(UOP_CHANGE_ASTN, bTmp1, 0, 0);
}
vOsdPosShow(OSD_POS_NORMAL, OSD_MSG_MP4_AUDIO, OSD_TIMEOUT_SHORT);
return (UOP_OK);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -