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

📄 pgc_play.h

📁 这是DVD中伺服部分的核心代码
💻 H
字号:
/*****************************************************************************
******************************************************************************
**                                                                          **
**  Copyright (c) 2002 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 pgc_play.h
 *
 * $Id: pgc_play.h,v 1.21 2007/01/05 02:30:48 rbehe Exp $
 */

#ifndef _PGC_PLAY_H
#define _PGC_PLAY_H

#ifdef __cplusplus
extern "C" {
#endif

#include "pe_app.h"

enum playback_modes
{
    PG_SEQUENTIAL,      /* sequential playback of programs */
    PG_RANDOM,  /* random playback */
    PG_SHUFFLE  /* shuffle playback */
};

enum pgc_modes
{
    PGC_STOP,   /* PGC not executing */
    PGC_BUTTON_CMD,     /* button_command phase */
    PGC_PRE_CMD,        /* pre-command phase */
    PGC_PT_INIT,        /* presentation initialization phase */
    PGC_PG_PLAY,        /* program presentation phase */
    PGC_LOOP_COUNT,     /* loop count phase */
    PGC_STILL,  /* PGC still phase */
    PGC_POST_CMD,       /* post-command phase */
    PGC_NXT_LNK /* next link phase */
};

enum pg_search_modes
{
    PREV_PG_SEARCH,
    TOP_PG_SEARCH,
    NEXT_PG_SEARCH
};

#define PARENTAL_OFF  0x0f
#define ADULT         8
#define NC17          7
#define PG13          4
#define PG            3
#define KIDS_SAFE     1

#define BUTTON_CMD    0
#define CELL_CMD      1
#define PRE_CMD       2
#define POST_CMD      3

#define compare_code(s1, s2, s3)  ((s1 == ((s3 & 0xff00) >> 8)) && (s2 == (s3 & 0xff)))

USHORT button_cell_cmd(UBYTE);

void pgc_play(void);
void cell_still_expired(void);
void vobu_still_off(void);
void vob_init(void);
BOOLEAN title_play(UBYTE);
void first_play(void);
void pgc_end_repeat(void);
void ptt_play(UBYTE, USHORT);
UBYTE pg_search(UBYTE, UBYTE);
void time_search(ULONG);
void ptt_search(USHORT);
void audio_stream_change(USHORT);
void spu_stream_change(void);
void spu_on_off(void);
UBYTE get_spu_on_off_state(void);
UBYTE get_current_subtitle_stream(void);
void spu_on_set_lang(UBYTE, UBYTE);
void nv_tmr_expired(void);
void repeat_A_B(void);
UBYTE get_available_spst_62(void);
UBYTE get_available_spst_63(UBYTE);
UBYTE get_available_ast(void);
void update_playback_mode(void);
USHORT get_language_code(USHORT);
void update_audio_stream(USHORT, UBYTE);
void check_spu_changed(void);
void check_audio_changed(void);
void get_audio_attributes(PE_ISTREAMCTRL_AUDIO_ATTRIBUTES *pAttributes);
void cell_play(UBYTE av_start);
void send_cell_address(UBYTE av_start);

USHORT menu_play(UBYTE, UBYTE);
void pgc_still_expired(void);

#ifdef __cplusplus
}
#endif

#endif  /* _PGC_PLAY_H */

⌨️ 快捷键说明

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