📄 metanav.cpp
字号:
default:
break;
}
}
return (ulNavState);
}
ULONG cMetaNav::GetActiveMediaFormat(void)
{
return (m_MediaFormat);
}
int32 cMetaNav::GetPlayRate(void)
{
PE_ISTREAMCTRL_PLAYRATE playrate;
int32 lRate = 0;
/* Get play time from active nav */
switch (m_MediaFormat)
{
#ifdef CDDA_ENABLE
case MEDIA_FORMAT_CDDA:
lRate = CddaAppGetPlayRate();
break;
#endif
#ifdef BDROM_ENABLE
case MEDIA_FORMAT_BDROM:
lRate = BDROMAppGetPlayRate();
break;
#endif
case MEDIA_FORMAT_DVD_V:
lRate = DvdAppGetPlayRate();
break;
default:
/* Get playrate from PE */
if (PEiStreamCtrlGetRate(m_PE, &playrate) != PE_SUCCESS)
{
DBGPRINT(DBG_ON(DBG_ERROR), ("cMetaNav::GetPlayRate -- PEiStreamCtrlGetRate() failed!\n"));
return (0);
}
lRate = ((int32)playrate.rate * ((playrate.direction == PE_ISTREAMCTRL_DIRECTION_BACKWARD) ? -1 : 1));
break;
}
return (lRate);
}
ULONG cMetaNav::GetChapterTime(ULONG ulChapterNumber)
{
ULONG ulTime = 0;
/* Get play time from active nav */
switch (m_MediaFormat)
{
case MEDIA_FORMAT_CDDA:
ulTime = (ULONG)CddaAppGetChapterTotalTime(ulChapterNumber);
break;
default:
break;
}
return (ulTime);
}
ULONG cMetaNav::GetPlayTime(ULONG ulTimeMode)
{
ULONG ulTime = 0;
/* Get play time from active nav */
switch (m_MediaFormat)
{
case MEDIA_FORMAT_DVD_A:
case MEDIA_FORMAT_DVD_V:
ulTime = DvdAppGetPlayTime( (BYTE)(ulTimeMode) );
break;
#ifdef VR_ENABLE
case MEDIA_FORMAT_VR:
break;
#endif
#ifdef VCD_ENABLE
case MEDIA_FORMAT_VCD:
case MEDIA_FORMAT_SVCD:
ulTime = (ULONG)VcdAppGetPlayTime( (BYTE)(ulTimeMode) );
break;
#endif
#ifdef CDDA_ENABLE
case MEDIA_FORMAT_CDDA:
ulTime = (ULONG)CddaAppGetPlayTime(ulTimeMode);
break;
#endif
#ifdef BDROM_ENABLE
case MEDIA_FORMAT_BDROM:
ulTime = (ULONG)BDROMAppGetPlayTime( (BYTE)(ulTimeMode) );
break;
#endif
default:
break;
}
return (ulTime);
}
ULONG cMetaNav::GetCurrentTitle(void)
{
ULONG ulTitle = 0;
/* Get current title number from active nav */
switch (m_MediaFormat)
{
case MEDIA_FORMAT_DVD_A:
case MEDIA_FORMAT_DVD_V:
ulTitle = (ULONG)DvdAppGetCurrentTitle();
break;
#ifdef VR_ENABLE
case MEDIA_FORMAT_VR:
break;
#endif
#ifdef VCD_ENABLE
case MEDIA_FORMAT_VCD:
case MEDIA_FORMAT_SVCD:
break;
#endif
#ifdef CDDA_ENABLE
case MEDIA_FORMAT_CDDA:
break;
#endif
#ifdef BDROM_ENABLE
case MEDIA_FORMAT_BDROM:
ulTitle = (ULONG)BDROMAppGetCurrentTitle();
break;
#endif
default:
break;
}
return (ulTitle);
}
ULONG cMetaNav::GetTitleInfo(void)
{
ULONG ulTitleInfo = VDVD_TITLE_UNKNOWN;
/* Get title info from active nav */
switch (m_MediaFormat)
{
case MEDIA_FORMAT_DVD_A:
case MEDIA_FORMAT_DVD_V:
break;
#ifdef VR_ENABLE
case MEDIA_FORMAT_VR:
break;
#endif
#ifdef VCD_ENABLE
case MEDIA_FORMAT_VCD:
case MEDIA_FORMAT_SVCD:
break;
#endif
#ifdef CDDA_ENABLE
case MEDIA_FORMAT_CDDA:
break;
#endif
#ifdef BDROM_ENABLE
case MEDIA_FORMAT_BDROM:
ulTitleInfo = BDROMAppGetTitleInfo();
break;
#endif
default:
break;
}
return (ulTitleInfo);
}
ULONG cMetaNav::GetNumberOfTitles(void)
{
ULONG ulTitle = 0;
/* Get number of titles from active nav */
switch (m_MediaFormat)
{
case MEDIA_FORMAT_DVD_A:
case MEDIA_FORMAT_DVD_V:
ulTitle = (ULONG)DvdAppGetNumberOfTitles();
break;
#ifdef VR_ENABLE
case MEDIA_FORMAT_VR:
break;
#endif
#ifdef VCD_ENABLE
case MEDIA_FORMAT_VCD:
case MEDIA_FORMAT_SVCD:
break;
#endif
#ifdef CDDA_ENABLE
case MEDIA_FORMAT_CDDA:
break;
#endif
#ifdef BDROM_ENABLE
case MEDIA_FORMAT_BDROM:
ulTitle = (ULONG)BDROMAppGetNumberOfTitles();
break;
#endif
default:
break;
}
return (ulTitle);
}
ULONG cMetaNav::GetCurrentChapter(void)
{
ULONG ulChapter = 0;
/* Get current chapter number from active nav */
switch (m_MediaFormat)
{
case MEDIA_FORMAT_DVD_A:
case MEDIA_FORMAT_DVD_V:
ulChapter = (ULONG)DvdAppGetCurrentChapter();
break;
#ifdef VCD_ENABLE
case MEDIA_FORMAT_VCD:
case MEDIA_FORMAT_SVCD:
break;
#endif
#ifdef CDDA_ENABLE
case MEDIA_FORMAT_CDDA:
ulChapter = CddaAppGetCurrentTrack();
break;
#endif
#ifdef BDROM_ENABLE
case MEDIA_FORMAT_BDROM:
ulChapter = (ULONG)BDROMAppGetCurrentChapter();
break;
#endif
default:
break;
}
return (ulChapter);
}
ULONG cMetaNav::GetNumberOfChapters(void)
{
ULONG ulChapter = 0;
/* Get number of chapters from active nav */
switch (m_MediaFormat)
{
case MEDIA_FORMAT_DVD_A:
case MEDIA_FORMAT_DVD_V:
ulChapter = (ULONG)DvdAppGetNumberOfChapters();
break;
#ifdef VR_ENABLE
case MEDIA_FORMAT_VR:
break;
#endif
#ifdef VCD_ENABLE
case MEDIA_FORMAT_VCD:
case MEDIA_FORMAT_SVCD:
break;
#endif
#ifdef CDDA_ENABLE
case MEDIA_FORMAT_CDDA:
ulChapter = (ULONG)CddaAppGetNumberOfTracks();
break;
#endif
#ifdef BDROM_ENABLE
case MEDIA_FORMAT_BDROM:
ulChapter = (ULONG)BDROMAppGetNumberOfChapters();
break;
#endif
default:
break;
}
return (ulChapter);
}
ULONG cMetaNav::GetNumberOfSubtitleStreams(void)
{
ULONG ulNumberOfSubtitles = 0;
/* Get number of subtitles available from active nav */
switch (m_MediaFormat)
{
case MEDIA_FORMAT_DVD_A:
case MEDIA_FORMAT_DVD_V:
ulNumberOfSubtitles = (ULONG)DvdAppGetNumberOfSubtitles();
break;
#ifdef VR_ENABLE
case MEDIA_FORMAT_VR:
break;
#endif
#ifdef VCD_ENABLE
case MEDIA_FORMAT_VCD:
case MEDIA_FORMAT_SVCD:
break;
#endif
#ifdef CDDA_ENABLE
case MEDIA_FORMAT_CDDA:
break;
#endif
#ifdef BDROM_ENABLE
case MEDIA_FORMAT_BDROM:
ulNumberOfSubtitles = BDROMAppGetNumberOfSubtitles();
break;
#endif
default:
break;
}
return (ulNumberOfSubtitles);
}
/**
* IsPopupOn -- Return the Popup Menu On/Off State.
*
* @param
* None
*
* @retval
* FALSE - Pop up is OFF
* TRUE - Pop up is ON
*/
BOOLEAN cMetaNav::IsPopupOn(void)
{
#ifdef BDROM_ENABLE
if (m_MediaFormat == MEDIA_FORMAT_BDROM)
{
return (BDROMAppIsPopupOn());
}
#endif
return (FALSE);
}
BOOLEAN cMetaNav::IsSubtitleStreamOn(void)
{
BOOLEAN fSubtitleOn = FALSE;
/* Get currently selected subtitle stream number from active nav */
switch (m_MediaFormat)
{
case MEDIA_FORMAT_DVD_A:
case MEDIA_FORMAT_DVD_V:
fSubtitleOn = DvdAppIsSubtitleOn();
break;
#ifdef VR_ENABLE
case MEDIA_FORMAT_VR:
break;
#endif
#ifdef VCD_ENABLE
case MEDIA_FORMAT_VCD:
case MEDIA_FORMAT_SVCD:
break;
#endif
#ifdef CDDA_ENABLE
case MEDIA_FORMAT_CDDA:
break;
#endif
#ifdef BDROM_ENABLE
case MEDIA_FORMAT_BDROM:
fSubtitleOn = BDROMAppIsSubtitleOn();
break;
#endif
default:
break;
}
return (fSubtitleOn);
}
ULONG cMetaNav::GetSelectedSubtitleStream(void)
{
ULONG ulSubtitleStream = 0;
/* Get currently selected subtitle stream number from active nav */
switch (m_MediaFormat)
{
case MEDIA_FORMAT_DVD_A:
case MEDIA_FORMAT_DVD_V:
ulSubtitleStream = (ULONG)DvdAppGetCurrentSubtitleStream();
break;
#ifdef VR_ENABLE
case MEDIA_FORMAT_VR:
break;
#endif
#ifdef VCD_ENABLE
case MEDIA_FORMAT_VCD:
case MEDIA_FORMAT_SVCD:
break;
#endif
#ifdef CDDA_ENABLE
case MEDIA_FORMAT_CDDA:
break;
#endif
#ifdef BDROM_ENABLE
case MEDIA_FORMAT_BDROM:
ulSubtitleStream = BDROMAppGetCurrentSubtitleStream();
break;
#endif
default:
break;
}
return (ulSubtitleStream);
}
/**
* GetNumberOfSubtitleUserStyles -- Get the number of available text subtitle user styles.
* This is a blu-ray specific api.
*
* @param
* NONE
*
* @retval
* Number of available user styles
*/
ULONG cMetaNav::GetNumberOfSubtitleUserStyles(void)
{
ULONG ulNumberOfUserStyles;
/* Get number of text subtitle user styles available from pe */
switch (m_MediaFormat)
{
#ifdef BDROM_ENABLE
case MEDIA_FORMAT_BDROM:
ulNumberOfUserStyles = BDROMAppGetNumberOfTextSubtitleStyles();
break;
#endif
default:
ulNumberOfUserStyles = 0;
break;
}
return (ulNumberOfUserStyles);
}
/**
* GetSelect
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -