📄 common.h.svn-base
字号:
/***************************************** Copyright (c) 2001-2003 Sigma Designs, Inc. All Rights Reserved Proprietary and Confidential *****************************************//** @file common.h @brief @author Laurent Crinon @date 2004-01-07*/#ifndef __RMCOMMON_H__#define __RMCOMMON_H__#include "rmdef/rmdef.h"//#include "rmdiscapi/include/rmdiscapi.h"#include "rmremoteapi/include/rmremoteapi.h"// #ifdef CURACAO_EM86XX_BOARD#include "rua/include/rua.h"// #endif#include "fip.h"#include "rmdvdtypes/dvdtypes.h"class RMmediaPlayerIface;class RMdecoderIface;class RMcuracaoGui;#ifdef GUI_REFID_2#ifdef KML_SUPPORTclass CuracaoGraphics;#endif#endiftypedef struct{ RMbool isDiscDetected;// RMTDisc *disc;// RMdiscType discType; RMbool needToExit; RMbool needToStop; RMbool needToRestart; RMremoteKey bufferedKey; RMmediaPlayerIface *player; RMdecoderIface *decoder; RMcuracaoGui *gui; RMnonAscii *device; RMremoteHandle rh; RMuint32 remoteTimeout; RMint32 fipHandler; RMuint32 boardNumber; RMbool modeChange; RMbool changeChannel;#ifdef GUI_REFID_2#ifdef KML_SUPPORT CuracaoGraphics *kmlgfx;#endif#endif}typeCuracaoContext;typedef struct{ RMcuracaoGui *gui; struct RUA *pRua;}typeGuiContext;typedef enum{ STATE_CLOSE = 548, STATE_PLAY, STATE_STOP, STATE_PAUSE, STATE_STEP, STATE_FAST_FORWARD, STATE_FAST_REWIND, STATE_SLOW_FORWARD,} typeMediaPlayerSate;typedef enum{ BUTTON_FORWARD, BUTTON_PLAY, BUTTON_PAUSE, BUTTON_REWIND} typeMediaPlayerButtons;typedef enum{ AUDIO_SAMPLE = 852, VIDEO_SAMPLE, SPU_SAMPLE, MUXED_SAMPLE, ASV_SAMPLE}RMSampleType;typedef enum{ CURACAO_MESSAGE_EOS = 584, CURACAO_MESSAGE_ENTRY_NUM, CURACAO_MESSAGE_ENTRY_TIME, CURACAO_MESSAGE_ENTRY_TOTAL_TIME, CURACAO_MESSAGE_TOTAL_ENTRY, CURACAO_MESSAGE_PLAY_MODE, CURACAO_MESSAGE_TRACK_NUM, CURACAO_MESSAGE_TRACK_TIME, CURACAO_MESSAGE_TRACK_DURATION, CURACAO_MESSAGE_CHANGE_DISC, CURACAO_MESSAGE_DISC_TYPE, CURACAO_MESSAGE_TOTAL_NB_TRACK, CURACAO_MESSAGE_TOTAL_DURATION, CURACAO_MESSAGE_UNSUPPORTED_MEDIA, CURACAO_MESSAGE_INVALID_OP, CURACAO_MESSAGE_DVD_WRONG_REGION, CURACAO_MESSAGE_MEDIA_INFO, CURACAO_MESSAGE_DVD_SUBTITLE_CHANGE, CURACAO_MESSAGE_DVD_AUDIOSTREAM_CHANGE, CURACAO_MESSAGE_DVD_ANGLE_CHANGE, CURACAO_MESSAGE_REPEAT_RANDOM, CURACAO_MESSAGE_REPEAT_TRACK, CURACAO_MESSAGE_REPEAT_DISC, CURACAO_MESSAGE_REPEAT_CHAPTER, CURACAO_MESSAGE_REPEAT_TITLE, CURACAO_MESSAGE_REPEAT_OFF, CURACAO_MESSAGE_REPEAT_A_SET, CURACAO_MESSAGE_REPEAT_B_SET, CURACAO_MESSAGE_REPEAT_AB_CLEARED, CURACAO_MESSAGE_FILE_DURATION, CURACAO_MESSAGE_DVD_STOPPED, CURACAO_MESSAGE_PLAYBACK_STARTED, CURACAO_MESSAGE_DVD_MENU_STATE, CURACAO_MESSAGE_DRM_ERROR, CURACAO_MESSAGE_DRM_OPL, CURACAO_MESSAGE_CREATED_MEDIA_PLAYER, CURACAO_MESSAGE_AUDIOSTREAM_CHANGE, CURACAO_MESSAGE_CSS_PROTECTION, CURACAO_MESSAGE_FILE_SEEK_WHERE, CURACAO_MESSAGE_DECODER_INITIALIZED, CURACAO_MESSAGE_ISO_READ, CURACAO_MESSAGE_POPUP_DISMISSED, CURACAO_MESSAGE_VIDEOOUT_AUTO_CHANGE, CURACAO_MESSAGE_FILE_HAS_CHAPTERS, CURACAO_MESSAGE_NERO_MPEG4, CURACAO_MESSAGE_DISPLAY_INFO, CURACAO_MESSAGE_SUBTITLESTREAM_CHANGE, CURACAO_MESSAGE_FILE_ERROR, CURACAO_MESSAGE_DRIVE_REGION, CURACAO_MESSAGE_DISC_BLANK, CURACAO_MESSAGE_UNKNOWN_MEDIA, CURACAO_MESSAGE_FATAL_RESET}typeCuracaoMessage;typedef struct{ typeMediaPlayerSate state; void *val;} typePlayMode;typedef enum{ FILE_PLAYER = 555, VCD_PLAYER, CDDA_PLAYER, DVDAUDIO_PLAYER, DVDVIDEO_PLAYER,}typeMediaPlayer;typedef enum{ CURACAO_AUDIO_MPEG = 598, CURACAO_AUDIO_AC3, CURACAO_AUDIO_PCM, CURACAO_AUDIO_PCM_VOB, CURACAO_AUDIO_PCM_AOB, CURACAO_AUDIO_RPCM, CURACAO_AUDIO_DTS, CURACAO_AUDIO_SDDS, CURACAO_AUDIO_MLP, CURACAO_AUDIO_MULTIGROUP_MLP, CURACAO_AUDIO_AAC, CURACAO_AUDIO_MPEG1_LAYER3, CURACAO_AUDIO_UNKNOWN,}curacaoAudioType;#ifdef CURACAO_EM84XX_BOARDtypedef enum{ AUDIO_MPEG1 = 856, AUDIO_MPEG2, AUDIO_AC3, AUDIO_PCM, AUDIO_DTS, AUDIO_DVD_AUDIO, AUDIO_REVERSE_PCM, AUDIO_AAC, AUDIO_MPEG1_LAYER3, AUDIO_MPEG2_LAYER1, AUDIO_MPEG2_LAYER2, AUDIO_MPEG2_LAYER3, AUDIO_UNKNOWN,}RMdvdAudio_AudioType;#endif // CURACAO_EM84XX_BOARDtypedef struct{ curacaoAudioType audioType; RMuint32 outputSampleRate; // usually equals to sampleRate except in the case of pcm downsampling RMuint32 numberOfChannel; RMuint32 sampleRate; RMuint32 bitsPerSample; RMuint32 sampleRate_gr2; RMuint32 bitsPerSample_gr2; RMuint32 audioChannelAssign; RMuint16 coef[8]; RMuint16 ph; RMuint16 group2Shift;}typeCuracaoAudioParameters;typedef struct{ RMuint8 regionCode; RMuint8 parentalLevel; RMbool macrovisionEnabled; RMuint32 tvType; RMdvdCountryCode countryCodeForParentalLevel; RMdvdLanguageCode preferredLanguage;}typeCuracaoDvdParameters;typedef struct{ RMuint8 audioStreamNumber; RMdvdAudioStream audioStreamAttr;}typeCuracaoDvdAudioStreamAttr;typedef struct{ RMuint8 subpicStreamNumber; RMdvdSubPictureStream subpicStreamAttr;}typeCuracaoDvdSubpicStreamAttr;typedef struct{ RMbool pbcOn;}typeCuracaoVcdParameters;// info structures used in conjunction with CURACAO_MESSAGE_MEDIA_INFOtypedef struct{ RMuint32 time; RMuint32 length;}typeCuracaoFileInfo;typedef struct{ RMint8 nTitles; RMint8 nCurrentTitle; RMint8 nChapters; RMint8 nCurrentChapter; // changed above 4 from uint to int to allow special negative values RMuint32 chapterTime; RMuint8 nAudioStreams; typeCuracaoDvdAudioStreamAttr audioAttr; RMuint8 nAngles; RMuint8 nCurrentAngle; RMuint8 nSubtitles; typeCuracaoDvdSubpicStreamAttr subtitleAttr;}typeCuracaoDvdInfo;typedef struct{ RMuint8 nVolumes; RMuint8 nCurrentVolume; RMuint8 nTracks; RMuint8 nCurrentTrack; RMuint32 trackTime;}typeCuracaoVcdInfo;typedef struct{ RMuint8 nTracks; RMuint8 nCurrentTrack; RMuint32 trackTime; RMuint32 currentTrackDuration; RMuint32 totalDuration;}typeCuracaoCddaInfo;#include "mediaplayeriface.h"#include "decoderiface.h"// TO BE REMOVED IN FINAL RELEASE//RMremoteKey readFromKeyboard(RMint32 timeoutMicroSeconds);//void printKeyBoardLayout();/*#if (EM86XX_MODE==EM86XX_MODEID_STANDALONE)#define MOUNT_POINT "/mnt/"#else#define MOUNT_POINT "/mnt/cdrom/"#endif*/#define _MAX_PATH 1024extern RMascii MOUNT_POINT[_MAX_PATH];#define MIN_SLOW_SPEED 2#define MAX_SLOW_SPEED 8#define MIN_SCAN_SPEED 2#define MAX_SCAN_SPEED 32#define MAX_ALLFRAMES_SPEED 4#define MS_REMOTE_TIMEOUT 200000#endif // __RMCOMMON_H__
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -