⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 playctrl.h

📁 这是DVD中伺服部分的核心代码
💻 H
📖 第 1 页 / 共 2 页
字号:
uint16          PlayCtrlGetNumberOfPlayItems(void);
uint16          PlayCtrlGetNumberOfPlayItemsInPL(uint32 uiPlaylist);
uint16          PlayCtrlGetNumberOfMarks(uint8 mark_type);
uint16          PlayCtrlGetCurrentMark(uint8 mark_type);
uint32          PlayCtrlGetNumberOfAngles(void);
uint32          PlayCtrlGetNumberOfAudio(void);
uint32          PlayCtrlGetNumberOfPGTextST(void);
uint16          PlayCtrlGetNumberOfTextSubtitleStyles(void);
BOOLEAN         PlayCtrlIsPlaylistAcessRestricted(void);
BOOLEAN         PlayCtrlIsPlayitemAcessRestricted(uint16 uiPlayitem);
uint8           PlayCtrlGetCurrentApplicationType(void); 
PLAYCTRL_STATUS PlayCtrlGetMarkInfo(uint16 uiMarkNum, uint8 mark_type, PLAYLISTMARK *pMark);
PLAYCTRL_STATUS PlayCtrlGetPrimaryVideoAttributes(uint16 uiStreamNum, STREAM_ATTRIBUTES *pAttributes);
PLAYCTRL_STATUS PlayCtrlGetSecondaryVideoAttributes(uint16 uiStreamNum, STREAM_ATTRIBUTES *pAttributes);
PLAYCTRL_STATUS PlayCtrlGetPrimaryAudioAttributes(uint16 uiStreamNum, STREAM_ATTRIBUTES *pAttributes);
PLAYCTRL_STATUS PlayCtrlGetSecondaryAudioAttributes(uint16 uiStreamNum, STREAM_ATTRIBUTES *pAttributes);
PLAYCTRL_STATUS PlayCtrlGetPGTextSTAttributes(uint16 uiStreamNum, STREAM_ATTRIBUTES *pAttributes);
PLAYCTRL_STATUS PlayCtrlGetIGAttributes(uint16 uiStreamNum, STREAM_ATTRIBUTES *pAttributes);
PLAYCTRL_STATUS PlayCtrlGetPrefillIGFlag(BOOLEAN *PrefillFlag);
PLAYCTRL_STATUS PlayCtrlSetTitleType(BOOLEAN fInteractiveTitle);

/**
 * Playback Control Engine Functions for synchronization
 */
PLAYCTRL_STATUS  PlayCtrlTakeSemaphore(void);
PLAYCTRL_STATUS  PlayCtrlGiveSemaphore(void);

/**
 * Playback Control Engine Functions for Playback Scenario
 */
PLAYCTRL_STATUS PlayCtrlPlayPLPlayItem(uint32 playlist_number, uint32 playitem_number);
PLAYCTRL_STATUS PlayCtrlLinkPlayItem(uint32 playitem_number);
PLAYCTRL_STATUS PlayCtrlPlayPLMark(uint32 playlist_number, uint32 playlist_mark, BOOLEAN fIsUserOP);
PLAYCTRL_STATUS PlayCtrlLinkMark(uint32 playlist_mark, BOOLEAN fIsUserOP);
PLAYCTRL_STATUS PlayCtrlPlayPLTime(uint32 playlist_number, uint32 time, BOOLEAN fIsUserOP);
PLAYCTRL_STATUS PlayCtrlTimeSearch(uint32 time, BOOLEAN fIsUserOP);
PLAYCTRL_STATUS PlayCtrlStop(void);
PLAYCTRL_STATUS PlayCtrlSuspend(void);
PLAYCTRL_STATUS PlayCtrlResume(void);
PLAYCTRL_STATUS PlayCtrlSkipToNextPoint(uint32 *pOutChapterNumber, uint8 mark_type = ENTRY_MARK);
PLAYCTRL_STATUS PlayCtrlSkipToPrevPoint(uint32 *pOutChapterNumber, uint8 mark_type = ENTRY_MARK);
PLAYCTRL_STATUS PlayCtrlRestartPoint(uint32 *pOutChapterNumber, uint8 mark_type = ENTRY_MARK);
PLAYCTRL_STATUS PlayCtrlSetRepeat(uint8 repeat_mode);

/**
 * Playback Control Engine Functions for AV Presentation
 */
PLAYCTRL_STATUS PlayCtrlPauseOn(void);
PLAYCTRL_STATUS PlayCtrlPauseOff(void);
PLAYCTRL_STATUS PlayCtrlStillOn(void);
PLAYCTRL_STATUS PlayCtrlStillOff(void);
PLAYCTRL_STATUS PlayCtrlForwardPlay(int32 speed);
PLAYCTRL_STATUS PlayCtrlBackwardPlay(int32 speed);
PLAYCTRL_STATUS PlayCtrlAudioChange(uint32 audio_stream_number);
PLAYCTRL_STATUS PlayCtrlSecondaryAudioChange(uint32 audio_stream_number);
PLAYCTRL_STATUS PlayCtrlSubtitleChange(uint32 stream_number);
PLAYCTRL_STATUS PlayCtrlSubtitleDisplayOn(void);
PLAYCTRL_STATUS PlayCtrlSubtitleDisplayOff(void);
PLAYCTRL_STATUS PlayCtrlAngleChange(uint32 angle_number);
PLAYCTRL_STATUS PlayCtrlIGChange(uint32 stream_number);
PLAYCTRL_STATUS PlayCtrlTextSubtitleStyleChange(uint32 style_id);

/**
 * Playback Control Engine Functions for Interactive Graphics
 */
PLAYCTRL_STATUS PlayCtrlSelectButtonPage(uint32 button_id, uint32 page_id, uint8 flags);
PLAYCTRL_STATUS PlayCtrlPopUpOn(void);
PLAYCTRL_STATUS PlayCtrlPopUpOff(void);
PLAYCTRL_STATUS PlayCtrlEnableButton(uint32 button_id);
PLAYCTRL_STATUS PlayCtrlDisableButton(uint32 button_id);
PLAYCTRL_STATUS PlayCtrlMoveUpSelectedButton(void);
PLAYCTRL_STATUS PlayCtrlMoveDownSelectedButton(void);
PLAYCTRL_STATUS PlayCtrlMoveLeftSelectedButton(void);
PLAYCTRL_STATUS PlayCtrlMoveRightSelectedButton(void);
PLAYCTRL_STATUS PlayCtrlSelectButtonNumber(uint32 button_number);
PLAYCTRL_STATUS PlayCtrlActivateButton(void);
PLAYCTRL_STATUS PlayCtrlSelectAndActivateButtonNumber(uint32 button_id);
PLAYCTRL_STATUS PlayCtrlActivateButtonComplete(PVOID pContext);
PLAYCTRL_STATUS PlayCtrlResetUserTimeout(void);

/* define used for iaudio id when a sound could not be opened */
#define PLAYCTRL_INVALID_IAUDIO_ID    0xffffffff

/**
 * Playback Control Engine Functions for Audio Mixing
 */
PLAYCTRL_STATUS PlayCtrlAMIsMetaDataProcessingOn(BOOLEAN *pisOn);
PLAYCTRL_STATUS PlayCtrlAMSetMetaDataProcessingOn(BOOLEAN setOn);
PLAYCTRL_STATUS PlayCtrlAMGetNumberOfInputChannels(PLAYCTRL_AUDIO_STREAM stream, PLAYCTRL_AUDIO_INTERACTIVE_ID iaudio_id, uint8 *pnumchannels);
PLAYCTRL_STATUS PlayCtrlAMGetLevel(PLAYCTRL_AUDIO_STREAM stream, PLAYCTRL_AUDIO_INTERACTIVE_ID iaudio_id, int32 *pLevel);
PLAYCTRL_STATUS PlayCtrlAMSetLevel(PLAYCTRL_AUDIO_STREAM stream, PLAYCTRL_AUDIO_INTERACTIVE_ID iaudio_id, int32 level);
PLAYCTRL_STATUS PlayCtrlAMGetMute(PLAYCTRL_AUDIO_STREAM stream, PLAYCTRL_AUDIO_INTERACTIVE_ID iaudio_id, BOOLEAN *pisMuted);
PLAYCTRL_STATUS PlayCtrlAMSetMute(PLAYCTRL_AUDIO_STREAM stream, PLAYCTRL_AUDIO_INTERACTIVE_ID iaudio_id, BOOLEAN mute);
PLAYCTRL_STATUS PlayCtrlAMGetBalance(PLAYCTRL_AUDIO_STREAM stream, PLAYCTRL_AUDIO_INTERACTIVE_ID iaudio_id, int32 *pbalance);
PLAYCTRL_STATUS PlayCtrlAMSetBalance(PLAYCTRL_AUDIO_STREAM stream, PLAYCTRL_AUDIO_INTERACTIVE_ID iaudio_id, int32 balance);
PLAYCTRL_STATUS PlayCtrlAMGetPan(PLAYCTRL_AUDIO_STREAM stream, PLAYCTRL_AUDIO_INTERACTIVE_ID iaudio_id, int32 *ppan);
PLAYCTRL_STATUS PlayCtrlAMSetPan(PLAYCTRL_AUDIO_STREAM stream, PLAYCTRL_AUDIO_INTERACTIVE_ID iaudio_id, int32 pan);
PLAYCTRL_STATUS PlayCtrlAMOpenSound(PLAYCTRL_AUDIO_STREAM stream, BOOLEAN fIsStereo, uint8 *pcm, uint32 length, PLAYCTRL_AUDIO_INTERACTIVE_ID *iaudio_id);
PLAYCTRL_STATUS PlayCtrlAMPlaySound(PLAYCTRL_AUDIO_INTERACTIVE_ID iaudio_id);
PLAYCTRL_STATUS PlayCtrlAMStopSound(PLAYCTRL_AUDIO_INTERACTIVE_ID iaudio_id);
PLAYCTRL_STATUS PlayCtrlAMGetSoundState(PLAYCTRL_AUDIO_INTERACTIVE_ID iaudio_id, BOOLEAN *isRunning);
PLAYCTRL_STATUS PlayCtrlAMCloseSound(PLAYCTRL_AUDIO_INTERACTIVE_ID iaudio_id);

/**
 * Video Positioning Capability (used for video presentation control)
 */
typedef enum tagPLAYCTRL_VPOS_CAP
{
    PLAYCTRL_VPOS_CAP_FULL = 0,
    PLAYCTRL_VPOS_CAP_FULL_IF_ENTIRE_VIDEO_ON_SCREEN,
    PLAYCTRL_VPOS_CAP_FULL_EVEN_LINES,
    PLAYCTRL_VPOS_CAP_FULL_EVEN_LINES_IF_ENTIRE_VIDEO_ON_SCREEN,
    PLAYCTRL_VPOS_CAP_OTHER
} PLAYCTRL_VPOS_CAP;

/**
 * Playback Control Engine Functions for Video Presentation Control
 */
PLAYCTRL_STATUS PlayCtrlVPCSetAspectRatio(VDVD_ASPECT_RATIO aspect_ratio);
PLAYCTRL_STATUS PlayCtrlVPCSetVideoFormat(VDVD_VIDEO_FORMAT video_format);
PLAYCTRL_STATUS PlayCtrlVPCGetPositioningCapability(BOOLEAN fIsPrimary, PLAYCTRL_VPOS_CAP *pVPosCap);
PLAYCTRL_STATUS PlayCtrlVPCGetArbitraryHorizontalScalingCapability(BOOLEAN fIsPrimary, BOOLEAN *pfIsSupported, float *pMinScale, float *pMaxScale);
PLAYCTRL_STATUS PlayCtrlVPCGetArbitraryVerticalScalingCapability(BOOLEAN fIsPrimary, BOOLEAN *pfIsSupported, float *pMinScale, float *pMaxScale);
PLAYCTRL_STATUS PlayCtrlVPCGetHorizontalScalingFactorsArray(BOOLEAN fIsPrimary, float *pScaleFactorArray, uint32 arraySize);
PLAYCTRL_STATUS PlayCtrlVPCGetVerticalScalingFactorsArray(BOOLEAN fIsPrimary, float *pScaleFactorArray, uint32 arraySize);
PLAYCTRL_STATUS PlayCtrlVPCGetActiveVideoArea(BOOLEAN fIsPrimary, uint32 *pLeft, uint32 *pTop, uint32 *pRight, uint32 *pBottom);
PLAYCTRL_STATUS PlayCtrlVPCGetActiveVideoAreaOnScreen(BOOLEAN fIsPrimary, uint32 *pLeft, uint32 *pTop, uint32 *pRight, uint32 *pBottom);
PLAYCTRL_STATUS PlayCtrlVPCGetInputVideoSize(BOOLEAN fIsPrimary, uint32 *pHeight, uint32 *pWidth);
PLAYCTRL_STATUS PlayCtrlVPCGetTotalVideoArea(BOOLEAN fIsPrimary, uint32 *pLeft, uint32 *pTop, uint32 *pRight, uint32 *pBottom);
PLAYCTRL_STATUS PlayCtrlVPCGetTotalVideoAreaOnScreen(BOOLEAN fIsPrimary, uint32 *pLeft, uint32 *pTop, uint32 *pRight, uint32 *pBottom);
PLAYCTRL_STATUS PlayCtrlVPCGetVideoSize(BOOLEAN fIsPrimary, uint32 *pHeight, uint32 *pWidth);
PLAYCTRL_STATUS PlayCtrlVPCGetIsPanAndScan(BOOLEAN fIsPrimary, BOOLEAN *pfIsPanScan);
PLAYCTRL_STATUS PlayCtrlVPCCanScaleSourceWindowToDestinationWindow(BOOLEAN fIsPrimary, uint32 sX, uint32 sY, uint32 sW, uint32 sH, 
                                                                                       uint32 dX, uint32 dY, uint32 dW, uint32 dH,
                                                                                       uint32 *sXOut, uint32 *sYOut, uint32 *sWOut, uint32 *sHOut,
                                                                                       uint32 *dXOut, uint32 *dYOut, uint32 *dWOut, uint32 *dHOut);
PLAYCTRL_STATUS PlayCtrlVPCScaleSourceWindowToDestinationWindow(BOOLEAN fIsPrimary, uint32 sX, uint32 sY, uint32 sW, uint32 sH, uint32 dX, uint32 dY, uint32 dW, uint32 dH);
PLAYCTRL_STATUS PlayCtrlVPCSetClipRegion(BOOLEAN fIsPrimary, uint32 left, uint32 top, uint32 right, uint32 bottom);
PLAYCTRL_STATUS PlayCtrlVPCGetClipRegion(BOOLEAN fIsPrimary, uint32 *pLeft, uint32 *pTop, uint32 *pRight, uint32 *pBottom);
PLAYCTRL_STATUS PlayCtrlVPCSetScalingFactors(BOOLEAN fIsPrimary, float horizontalScalingFactor, float verticalScalingFactor);
PLAYCTRL_STATUS PlayCtrlVPCGetScalingFactors(BOOLEAN fIsPrimary, float *pHorizontalScalingFactor, float *pVerticalScalingFactor);
PLAYCTRL_STATUS PlayCtrlVPCSetVideoPosition(BOOLEAN fIsPrimary, uint32 x, uint32 y);
PLAYCTRL_STATUS PlayCtrlVPCGetVideoPosition(BOOLEAN fIsPrimary, uint32 *pX, uint32 *pY);

/**
 * Playback Control Engine Functions for Player Registers
 */
PLAYCTRL_STATUS PlayCtrlSetMenuLanguage(uint32 language);
PLAYCTRL_STATUS PlayCtrlSetAudioLanguage(uint32 language);
PLAYCTRL_STATUS PlayCtrlSetSubtitleLanguage(uint32 language);
PLAYCTRL_STATUS PlayCtrlSetPSR(uint32 register_number, uint32 uiValue);
PLAYCTRL_STATUS PlayCtrlGetPSR(uint32 register_number, uint32 *puiData);
PLAYCTRL_STATUS PlayCtrlSetBDPlusPSR(uint32 register_number, uint32 value);
PLAYCTRL_STATUS PlayCtrlGetBDPlusPSR(uint32 register_number, uint32 *pData);
PLAYCTRL_STATUS PlayCtrlSetGPR(uint32 register_number, uint32 uiValue);
PLAYCTRL_STATUS PlayCtrlGetGPR(uint32 register_number, uint32 *puiData);
PLAYCTRL_STATUS PlayCtrlStoreBackupPSR(void);
PLAYCTRL_STATUS PlayCtrlLoadBackupPSR(void);
PLAYCTRL_STATUS PlayCtrlClearBackupPSR(void);
PLAYCTRL_STATUS PlayCtrlCopyAllGPR(uint32 *pBuffer, uint32 size);
PLAYCTRL_STATUS PlayCtrlCopyAllPSR(uint32 *pBuffer, uint32 size);
PLAYCTRL_STATUS PlayCtrlLoadAllGPR(uint32 *pBuffer, uint32 size);
PLAYCTRL_STATUS PlayCtrlLoadAllPSR(uint32 *pBuffer, uint32 size);

/**
 * Playback Control Engine Functions for getting user prohibited flags
 */
PLAYCTRL_STATUS PlayCtrlGetUOPMaskTable(uint64 *pUO_mask_table);

#ifdef __cplusplus
}
#endif

#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -