亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? psl_external_interface.cpp

?? 這是DVD中伺服部分的核心代碼
?? CPP
?? 第 1 頁 / 共 3 頁
字號:
   
/**
 * 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)

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产一区二区在线影院| 国产精品久久久久婷婷二区次 | 日本欧美加勒比视频| 欧美肥妇free| 日韩二区在线观看| 欧美电影免费提供在线观看| 国产激情91久久精品导航| 国产精品亲子乱子伦xxxx裸| 99久久精品费精品国产一区二区| 亚洲视频每日更新| 欧美欧美欧美欧美| 国产伦理精品不卡| 亚洲图片你懂的| 欧美日韩电影一区| 韩国一区二区在线观看| 国产精品家庭影院| 欧美日韩视频不卡| 韩国av一区二区三区在线观看| 亚洲国产精品成人久久综合一区| 99久久伊人网影院| 免费观看成人av| 国产精品入口麻豆九色| 欧美色大人视频| 国产一区二区福利| 亚洲国产日韩在线一区模特| 精品国产一二三区| 色婷婷久久久久swag精品| 欧美另类z0zxhd电影| 激情av综合网| 一区二区三区四区激情 | 久久99久久精品| 国产精品你懂的在线| 欧美日韩国产一级二级| 国产精品亚洲一区二区三区在线 | 欧美色图在线观看| 国产一区二区三区av电影| 一区二区三区在线播| 欧美tickling网站挠脚心| 91蜜桃免费观看视频| 久久99精品久久只有精品| 亚洲自拍与偷拍| 国产精品欧美久久久久无广告| 91精品久久久久久久91蜜桃| 99国产精品一区| 国产主播一区二区三区| 亚洲第四色夜色| 亚洲精品免费电影| 国产精品污www在线观看| 日韩一级片网站| 欧美怡红院视频| 99久久久国产精品免费蜜臀| 国产毛片精品视频| 青青草视频一区| 亚洲成人动漫在线免费观看| 一区精品在线播放| 国产日韩精品视频一区| 欧美www视频| 日韩一区二区在线看片| 欧美丝袜自拍制服另类| 97久久精品人人爽人人爽蜜臀| 国内不卡的二区三区中文字幕 | 国产亚洲人成网站| 日韩精品资源二区在线| 91精品在线免费| 欧美日韩精品福利| 欧美视频三区在线播放| 在线看不卡av| 日本精品视频一区二区三区| 9i在线看片成人免费| 成人福利视频网站| 成av人片一区二区| 成人av先锋影音| voyeur盗摄精品| 97超碰欧美中文字幕| 成人丝袜视频网| 成人av影视在线观看| av网站一区二区三区| 99在线视频精品| 色综合视频一区二区三区高清| 99久久99久久精品免费观看| 99视频精品全部免费在线| 99久久99久久免费精品蜜臀| 91网站在线播放| 在线看日韩精品电影| 欧美日韩国产片| 欧美三级视频在线播放| 欧美精品777| 在线观看日韩精品| 亚洲成人免费视| 视频一区中文字幕国产| 热久久免费视频| 国模套图日韩精品一区二区| 国产1区2区3区精品美女| av亚洲精华国产精华精| 欧美性猛交xxxx乱大交退制版| 91传媒视频在线播放| 欧美精品久久久久久久久老牛影院| 8x8x8国产精品| 欧美变态口味重另类| 国产精品视频线看| 亚洲一区二区三区三| 免费观看日韩av| 不卡的av中国片| 7777精品伊人久久久大香线蕉最新版| 日韩西西人体444www| 久久久777精品电影网影网| 国产精品高潮呻吟| 午夜精品久久久久久| 国产伦理精品不卡| 91国产视频在线观看| 欧美大片一区二区| 中文字幕在线不卡一区| 亚洲h动漫在线| 国产成人精品免费网站| 欧美在线你懂得| 久久香蕉国产线看观看99| 亚洲精品免费看| 国产一区二区精品久久99| 一本大道久久精品懂色aⅴ| 日韩一区二区不卡| 亚洲欧美一区二区三区极速播放| 日本视频在线一区| 91蝌蚪porny成人天涯| 日韩免费福利电影在线观看| 中文字幕在线免费不卡| 视频一区二区欧美| 成人综合在线观看| 日韩欧美中文字幕一区| 综合久久给合久久狠狠狠97色| 另类小说综合欧美亚洲| 在线观看日韩精品| 国产精品高潮久久久久无| 青青草伊人久久| 精品视频1区2区| 亚洲精品视频在线| 国产成人免费视频精品含羞草妖精 | 国产成人超碰人人澡人人澡| 欧美日韩国产在线观看| 亚洲另类在线视频| 国产激情精品久久久第一区二区 | 亚洲午夜精品一区二区三区他趣| 国产尤物一区二区在线| 欧美一三区三区四区免费在线看 | 国产美女在线精品| 在线不卡免费欧美| 亚洲蜜桃精久久久久久久| 国产成a人无v码亚洲福利| 日韩欧美国产综合一区| 视频一区欧美日韩| 欧美三级欧美一级| 亚洲精品中文在线影院| 99久久精品国产毛片| 国产欧美日韩视频一区二区 | 丰满少妇在线播放bd日韩电影| 欧美一区二区三区免费| 亚洲成人av在线电影| 在线看一区二区| 亚洲午夜电影在线观看| 在线日韩av片| 亚洲一区在线观看免费| 91久久人澡人人添人人爽欧美 | 亚洲国产精品久久久久婷婷884 | 麻豆视频一区二区| 欧美一级高清片| 青青草成人在线观看| 日韩精品一区二区三区在线播放| 亚洲成av人在线观看| 在线播放日韩导航| 日韩电影在线观看一区| 678五月天丁香亚洲综合网| 天天色天天爱天天射综合| 欧美精品粉嫩高潮一区二区| 免费看欧美女人艹b| 日韩欧美国产精品| 国产麻豆日韩欧美久久| 欧美激情综合在线| 99国产精品久久久久久久久久| 亚洲欧美日韩一区二区| 欧美影片第一页| 免费高清在线视频一区·| xnxx国产精品| k8久久久一区二区三区 | 久久99国产精品尤物| 久久综合视频网| av一区二区三区| 亚洲成人动漫在线观看| 日韩美女主播在线视频一区二区三区| 久久精品免费看| 国产精品美女久久福利网站| 色呦呦一区二区三区| 视频一区欧美精品| 久久欧美一区二区| 91色婷婷久久久久合中文| 日一区二区三区| 久久久久97国产精华液好用吗| 成人污视频在线观看| 香蕉乱码成人久久天堂爱免费| 久久无码av三级| 色综合天天综合狠狠| 蜜桃久久av一区|