📄 modmgr.h
字号:
/*****************************************************************************
******************************************************************************
** **
** Copyright (c) 2005-2006 Videon Central, Inc. **
** All rights reserved. **
** **
** The computer program contained herein contains proprietary information **
** which is the property of Videon Central, Inc. The program may be used **
** and/or copied only with the written permission of Videon Central, Inc. **
** or in accordance with the terms and conditions stipulated in the **
** agreement/contract under which the programs have been supplied. **
** **
******************************************************************************
*****************************************************************************/
/**
* @file modmgr.h
*
* Defines the public API to the BD-ROM Navigator's Module Manager.
* The Module Manager is responsible for managing Title playback
* in the BD-ROM Navigator.
*
* $Id: modmgr.h,v 1.36 2007/01/26 22:41:08 rbehe Exp $
*/
#ifndef MODMGR_H
#define MODMGR_H
#ifdef __cplusplus
extern "C" {
#endif
#include "vdvd_types.h"
#include "dr_app.h"
#include "pe_app.h"
/* Globals for BD-J module */
#ifdef VDVD_ENABLE_BDJ
#include "BDJModuleAPI.h"
extern BDJ_Module_Handle bdj_handle;
extern int disc_unbound_app;
extern UInt32 key_interest_table;
extern bool menu_call_mask;
extern bool title_search_mask;
#endif
/**
* Module Manager Status types
*/
typedef ERR_CODE MODMGR_STATUS;
#define MODMGR_SUCCESS (MODMGR_STATUS)(0)
#define MODMGR_FAILURE (MODMGR_STATUS)(-1)
#define MODMGR_NULL_POINTER (MODMGR_STATUS)(-2)
#define MODMGR_NOT_IMPLEMENTED (MODMGR_STATUS)(-3)
#define MODMGR_UOP_PROHIBITED (MODMGR_STATUS)(1)
/**
* Module Manager State
*/
typedef enum tagMODMGR_STATE
{
MODMGR_STATE_TERMINATED_FIRSTPLAY = 0,
MODMGR_STATE_TERMINATED,
MODMGR_STATE_RUNNING,
MODMGR_STATE_HOLD
} MODMGR_STATE;
/**
* Module Manager Commands
*/
typedef enum tagMODMGR_COMMAND
{
MODMGR_EXIT = 0,
MODMGR_MENUCALL,
MODMGR_TITLESEARCH,
MODMGR_CHAPTERSEARCH,
MODMGR_TIMESEARCH,
MODMGR_SKIPTONEXTPOINT,
MODMGR_SKIPTOPREVPOINT,
MODMGR_RESTARTPOINT,
MODMGR_PLAY,
MODMGR_PLAYLOCATION,
MODMGR_STOP,
MODMGR_PAUSEON,
MODMGR_PAUSEOFF,
MODMGR_STILLOFF,
MODMGR_FORWARDPLAY,
MODMGR_BACKWARDPLAY,
MODMGR_RESUME,
MODMGR_MOVEUPSELECTEDBUTTON,
MODMGR_MOVEDOWNSELECTEDBUTTON,
MODMGR_MOVELEFTSELECTEDBUTTON,
MODMGR_MOVERIGHTSELECTEDBUTTON,
MODMGR_MOVEUPSELECTEDBUTTON_RELEASE,
MODMGR_MOVEDOWNSELECTEDBUTTON_RELEASE,
MODMGR_MOVELEFTSELECTEDBUTTON_RELEASE,
MODMGR_MOVERIGHTSELECTEDBUTTON_RELEASE,
MODMGR_SELECTBUTTON,
MODMGR_ACTIVATEBUTTON,
MODMGR_SELECTANDACTIVATEBUTTON,
MODMGR_AUDIOCHANGE,
MODMGR_PGANDSTCHANGE,
MODMGR_PGANDSTENABLE,
MODMGR_TEXTSUBTITLESTYLECHANGE,
MODMGR_ANGLECHANGE,
MODMGR_POPUPON,
MODMGR_POPUPOFF,
MODMGR_REPEAT,
MODMGR_COLOR_KEY,
MODMGR_JUMPOBJ,
MODMGR_CALLOBJ,
MODMGR_JUMPTITLE,
MODMGR_CALLTITLE,
MODMGR_BDJ_TITLECHANGE,
MODMGR_HDMV_TERMINATED,
MODMGR_BDJ_TERMINATED,
MODMGR_TITLE_STARTED,
MODMGR_INVALID_COMMAND
} MODMGR_COMMAND;
/**
* Play states of BD-ROM navigator
*/
typedef enum tagMODMGR_PLAYSTATE
{
MODMGR_PLAYSTATE_STOP = 0,
MODMGR_PLAYSTATE_FULLSTOP,
MODMGR_PLAYSTATE_PLAY,
MODMGR_PLAYSTATE_PAUSE,
MODMGR_PLAYSTATE_STILL,
MODMGR_PLAYSTATE_FAST_F,
MODMGR_PLAYSTATE_FAST_R,
MODMGR_PLAYSTATE_SLOW_F,
MODMGR_PLAYSTATE_SLOW_R,
MODMGR_PLAYSTATE_INVALID
} MODMGR_PLAYSTATE;
/**
* Module Manager Procedures
*/
MODMGR_STATUS ModMgrCreate(DR_HANDLE hDR, PE_HANDLE hPE);
MODMGR_STATUS ModMgrDelete(void);
MODMGR_STATE ModMgrGetState(void);
MODMGR_STATUS ModMgrAddUserEvent(MODMGR_COMMAND cmd, int data);
MODMGR_STATUS ModMgrAddHDMVEvent(MODMGR_COMMAND cmd, int data);
MODMGR_STATUS ModMgrAddBDJEvent(MODMGR_COMMAND cmd, int data);
/**
* Procedures for configuring the BD-ROM navigator with player settings.
*/
MODMGR_STATUS ModMgrConfigParentalLevel(int parental);
MODMGR_STATUS ModMgrConfigAudioLanguage(int language);
MODMGR_STATUS ModMgrConfigPGandSTLanguage(int language);
MODMGR_STATUS ModMgrConfigMenuLanguage(int language);
MODMGR_STATUS ModMgrConfigCountryCode(int country_code);
MODMGR_STATUS ModMgrSetAspectRatio(VDVD_ASPECT_RATIO aspect_ratio);
MODMGR_STATUS ModMgrSetVideoFormat(VDVD_VIDEO_FORMAT video_format);
MODMGR_STATUS ModMgrConfigAudioCapability(int capability);
MODMGR_STATUS ModMgrConfigTextSTCapability(int capability);
MODMGR_STATUS ModMgrConfigPlayerVersion(int player_version);
MODMGR_STATUS ModMgrConfigPSRValue(int reg_number, int value);
/**
* Procedures for getting BD-ROM navigator state information.
*/
ULONG ModMgrGetLocationHandleSize(void);
MODMGR_STATUS ModMgrGetLocation(PVOID pvLocation, uint32 uiSize);
int32 MogMgrGetPlayRate(void);
MODMGR_PLAYSTATE MogMgrGetPlayState(void);
ULONG ModMgrGetTitle(void);
ULONG ModMgrGetTitleInfo(void);
ULONG ModMgrGetChapter(void);
USHORT ModMgrGetNumberOfChapters(void);
ULONG ModMgrGetTitleDuration(void);
ULONG ModMgrGetPlayTime(void);
ULONG ModMgrGetRawPTS(void);
ULONG ModMgrGetPlayItem(void);
UBYTE ModMgrGetNumberOfAudio(void);
UBYTE ModMgrGetCurrentAudio(void);
ULONG ModMgrGetPrimaryAudioLanguageCode(USHORT usStreamNum);
ULONG ModMgrGetSecondaryAudioLanguageCode(USHORT usStreamNum);
UBYTE ModMgrGetNumberOfAngles(void);
UBYTE ModMgrGetCurrentAngle(void);
USHORT ModMgrGetNumberOfPGTextST(void);
USHORT ModMgrGetCurrentPGTextST(void);
USHORT ModMgrGetNumberOfTextSubtitleStyles(void);
USHORT ModMgrGetCurrentTextSTUserStyle(void);
ULONG ModMgrGetPGTextSTLanguageCode(USHORT usStreamNum);
BOOLEAN ModMgrGetPGTextSTDisplayState(void);
BOOLEAN ModMgrIsPGTextSTDisplayProhibited(void);
BOOLEAN ModMgrIsTimeDisplayProhibited(void);
BOOLEAN ModMgrIsPopupOn(void);
BOOLEAN ModMgrIsButtonSelected(void);
UBYTE ModMgrGetRepeatMode(void);
MODMGR_STATUS ModMgrDiscEject(BOOLEAN *pfIsDiscUnbound);
MODMGR_STATUS ModMgrDiscInsert(void);
#ifdef __cplusplus
}
#endif
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -