📄 psl_external_interface.cpp
字号:
/**
* PslExternalGetPlayRate - query navigator for the play rate
*
* @param
* none.
*
* @retval
* playrate
*/
ULONG PslExternalGetPlayRate(void)
{
/* Check that metanav is created */
if (m_pMetaNav == NULL)
{
DBGPRINT(DBG_ON(DBG_ERROR), ("PslExternalGetPlayRate: Metanav not created!\n"));
return (0);
}
return (m_pMetaNav->GetPlayRate() );
}
/**
* PslExternalGetNumberOfTitles - query navigator for number of titles
*
* @param
* none.
*
* @retval
* number of titles
*/
ULONG PslExternalGetNumberOfTitles(void)
{
/* Check that metanav is created */
if (m_pMetaNav == NULL)
{
DBGPRINT(DBG_ON(DBG_ERROR), ("PslExternalGetNumberOfTitles: Metanav not created!\n"));
return (0);
}
return (m_pMetaNav->GetNumberOfTitles() );
}
/**
* PslExternalGetNumberOfChapters - query navigator for number of chapters
*
* @param
* none.
*
* @retval
* number of chapters
*/
ULONG PslExternalGetNumberOfChapters(void)
{
/* Check that metanav is created */
if (m_pMetaNav == NULL)
{
DBGPRINT(DBG_ON(DBG_ERROR), ("PslExternalGetNumberOfChapters: Metanav not created!\n"));
return (0);
}
return (m_pMetaNav->GetNumberOfChapters() );
}
/**
* PslExternalGetCurrentTitle - query navigator for current title number
*
* @param
* none.
*
* @retval
* current title number
*/
ULONG PslExternalGetCurrentTitle(void)
{
/* Check that metanav is created */
if (m_pMetaNav == NULL)
{
DBGPRINT(DBG_ON(DBG_ERROR), ("PslExternalGetCurrentTitle: Metanav not created!\n"));
return (0);
}
return (m_pMetaNav->GetCurrentTitle() );
}
/**
* PslExternalGetCurrentChapter - query navigator for current chapter number
*
* @param
* none.
*
* @retval
* current chapter number
*/
ULONG PslExternalGetCurrentChapter(void)
{
/* Check that metanav is created */
if (m_pMetaNav == NULL)
{
DBGPRINT(DBG_ON(DBG_ERROR), ("PslExternalGetCurrentChapter: Metanav not created!\n"));
return (0);
}
return (m_pMetaNav->GetCurrentChapter() );
}
/**
* PslExternalGetNumberOfAngles - query navigator for number of available angles
*
* @param
* none.
*
* @retval
* number of available angles
*/
ULONG PslExternalGetNumberOfAngles(void)
{
/* Check that metanav is created */
if (m_pMetaNav == NULL)
{
DBGPRINT(DBG_ON(DBG_ERROR), ("PslExternalGetNumberOfAngles: Metanav not created!\n"));
return (0);
}
return (m_pMetaNav->GetNumberOfAngles() );
}
/**
* PslExternalGetNumberOfAudio - query navigator for number of available audio streams
*
* @param
* none.
*
* @retval
* number of available audio streams
*/
ULONG PslExternalGetNumberOfAudio(void)
{
/* Check that metanav is created */
if (m_pMetaNav == NULL)
{
DBGPRINT(DBG_ON(DBG_ERROR), ("PslExternalGetNumberOfAudio: Metanav not created!\n"));
return (0);
}
return (m_pMetaNav->GetNumberOfAudioStreams() );
}
/**
* PslExternalGetCurrentAngle - query navigator for current angle number
*
* @param
* none.
*
* @retval
* current angle number
*/
ULONG PslExternalGetCurrentAngle(void)
{
/* Check that metanav is created */
if (m_pMetaNav == NULL)
{
DBGPRINT(DBG_ON(DBG_ERROR), ("PslExternalGetCurrentAngle: Metanav not created!\n"));
return (0);
}
return (m_pMetaNav->GetCurrentAngle() );
}
/**
* PslExternalGetCurrentAudio - query navigator for current audio stream number
*
* @param
* none.
*
* @retval
* current audio stream number
*/
ULONG PslExternalGetCurrentAudio(void)
{
/* Check that metanav is created */
if (m_pMetaNav == NULL)
{
DBGPRINT(DBG_ON(DBG_ERROR), ("PslExternalGetCurrentAudio: Metanav not created!\n"));
return (0);
}
return (m_pMetaNav->GetSelectedAudioStream() );
}
/**
* PslExternalGetAudioLanguage - query navigator for language of audio stream
*
* @param
* ulAudioStream - audio stream number to get language of.
*
* @retval
* language code of audio stream
*/
ULONG PslExternalGetAudioLanguage(ULONG ulAudioStream)
{
/* Check that metanav is created */
if (m_pMetaNav == NULL)
{
DBGPRINT(DBG_ON(DBG_ERROR), ("PslExternalGetAudioLanguage: Metanav not created!\n"));
return (0);
}
return (m_pMetaNav->GetAudioLangCode(ulAudioStream) );
}
/**
* PslExternalGetTime - query navigator for play time
*
* @param
* ulTimeMode - time mode
*
* @retval
* current play time
*/
ULONG PslExternalGetTime(ULONG ulTimeMode)
{
/* Check that metanav is created */
if (m_pMetaNav == NULL)
{
DBGPRINT(DBG_ON(DBG_ERROR), ("PslExternalGetTime: Metanav not created!\n"));
return (0);
}
return (m_pMetaNav->GetPlayTime(ulTimeMode) );
}
/**
* PslExternalGetRepeatMode - query navigator for repeat mode
*
* @param
* none.
*
* @retval
* repeat mode
*/
ULONG PslExternalGetRepeatMode(void)
{
DBGPRINT(DBG_ON(DBG_ERROR), ("PslExternalGetRepeatMode: stubbed\n"));
return (0);
}
/**
* PslExternalGetNumberOfSubtitles - query navigator for number of subtitles
*
* @param
* none.
*
* @retval
* number of subtitles
*/
ULONG PslExternalGetNumberOfSubtitles(void)
{
/* Check that metanav is created */
if (m_pMetaNav == NULL)
{
DBGPRINT(DBG_ON(DBG_ERROR), ("PslExternalGetNumberOfSubtitles: Metanav not created!\n"));
return (0);
}
return (m_pMetaNav->GetNumberOfSubtitleStreams() );
}
/**
* PslExternalIsSubtitleStreamOn - query navigator for state of subtitles
*
* @param
* none.
*
* @retval
* If subtitle stream is on, TRUE
* Otherwise, FALSE
*/
BOOLEAN PslExternalIsSubtitleStreamOn(void)
{
/* Check that metanav is created */
if (m_pMetaNav == NULL)
{
DBGPRINT(DBG_ON(DBG_ERROR), ("PslExternalIsSubtitleStreamOn: Metanav not created!\n"));
return (0);
}
return (m_pMetaNav->IsSubtitleStreamOn() );
}
/**
* PslExternalGetCurrentSubtitle - query navigator for selected subtitle stream
*
* @param
* none.
*
* @retval
* current subtitle stream number
*/
ULONG PslExternalGetCurrentSubtitle(void)
{
/* Check that metanav is created */
if (m_pMetaNav == NULL)
{
DBGPRINT(DBG_ON(DBG_ERROR), ("PslExternalGetCurrentSubtitle: Metanav not created!\n"));
return (0);
}
return (m_pMetaNav->GetSelectedSubtitleStream() );
}
/**
* PslExternalGetSubtitleLanguage - query navigator for language of subtitle stream
*
* @param
* ulSubtitleStream - subtitle stream number to get language of.
*
* @retval
* language code of subtitle
*/
ULONG PslExternalGetSubtitleLanguage(ULONG ulSubtitleStream)
{
/* Check that metanav is created */
if (m_pMetaNav == NULL)
{
DBGPRINT(DBG_ON(DBG_ERROR), ("PslExternalGetSubtitleLanguage: Metanav not created!\n"));
return (0);
}
return (m_pMetaNav->GetSubtitleLangCode(ulSubtitleStream) );
}
/**
* PslExternalGetSubtitleState - query navigator for subtitle state
*
* @param
* none
*
* @retval
* TRUE if we are in ok state to display subtitles
*/
BOOLEAN PslExternalGetSubtitleState(void)
{
/* Check that metanav is created */
if (m_pMetaNav == NULL)
{
DBGPRINT(DBG_ON(DBG_ERROR), ("PslExternalGetSubtitleLanguage: Metanav not created!\n"));
return (0);
}
return (m_pMetaNav->GetSubtitleState() );
}
/**
* PslExternalUpdateLanguageSubtitle -- update subtitle language configuration setting
*
* @param
* pPSL - handle to internal psl data
*
* @retval
* none
*/
void PslExternalUpdateLanguageSubtitle(PSL_HANDLE *pPSL)
{
if (pPSL != NULL)
{
/* update navigator configuration setting through metanav */
m_pMetaNav->UpdateSubtitleLanguage();
}
else
{
DBGPRINT(DBG_ON(DBG_ERROR), ("PslExternalUpdateLanguageSubtitle: NULL handle!\n"));
}
}
/**
* PslExternalUpdateLanguageAudio -- update audio language configuration setting
*
* @param
* pPSL - handle to internal psl data
*
* @retval
* none
*/
void PslExternalUpdateLanguageAudio(PSL_HANDLE *pPSL)
{
if (pPSL != NULL)
{
/* update navigator configuration setting through metanav */
m_pMetaNav->UpdateAudioLanguage();
}
else
{
DBGPRINT(DBG_ON(DBG_ERROR), ("PslExternalUpdateLanguageAudio: NULL handle!\n"));
}
}
/**
* PslExternalUpdateLanguageMenu -- update dvd menu language configuration setting
*
* @param
* pPSL - handle to internal psl data
*
* @retval
* none
*/
void PslExternalUpdateLanguageMenu(PSL_HANDLE *pPSL)
{
if (pPSL != NULL)
{
/* update navigator configuration setting through metanav */
m_pMetaNav->UpdateMenuLanguage();
}
else
{
DBGPRINT(DBG_ON(DBG_ERROR), ("PslExternalUpdateLanguageMenu: NULL handle!\n"));
}
}
/**
* PslExternalUpdateParentalLevel -- update parental level configuration setting
*
* @param
* pPSL - handle to internal psl data
*
* @retval
* none
*/
void PslExternalUpdateParentalLevel(PSL_HANDLE *pPSL)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -