GlobsDef.h
上传用户:super_houu
上传日期:2008-09-21
资源大小:4099k
文件大小:5k
源码类别:

DVD

开发平台:

Others

  1. /****************************************************************************************
  2.  *  Copyright (c) 2002 ZORAN Corporation, All Rights Reserved
  3.  *  THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE OF ZORAN CORPORATION
  4.  *
  5.  *  File: $Workfile: GlobsDef.h $             
  6.  *
  7.  * Description: 
  8.  * ============
  9.  * 
  10.  * 
  11.  * Log:
  12.  * ====
  13.  * $Revision: 13 $
  14.  * Last Modified by $Author: Glenl $ at $Modtime: 2/20/04 4:09p $ 
  15.  ****************************************************************************************
  16.  * Updates:
  17.  ****************************************************************************************
  18.  * $Log: /I76/I76_Common/I76_Reference/Playcore/Nav_CDDA/GlobsDef.h $
  19.  * 
  20.  * 13    2/20/04 6:11p Glenl
  21.  * Merged S1 code
  22.  * 
  23.  * 12    11/01/03 9:08a Nmaurer
  24.  * Add S_CDTOC_BLOBALS
  25.  * 
  26.  * 11    7/04/03 5:00a Stephaneh
  27.  * Removed fixed from Frank regarding CDDTS. There is no need to add such
  28.  * a variable. There is already a function called CDDA_IsCDDTS() that
  29.  * return the right information.
  30.  * 
  31.  * 10    03-07-03 12:01 Frankm
  32.  * Leslie suggest to add this member.
  33.  * 
  34.  * 9     03-06-27 11:12 Janeg
  35.  * Move bIsCDDAIntroMode to global.
  36.  * 
  37.  * 8     03-02-11 11:38 Leslie
  38.  * Add wTotalElapsedTime
  39.  * 
  40.  * 7     03-01-17 19:33 Leslie
  41.  * AIN Supported
  42.  * 
  43.  * 12    2/06/02 17:11 Nirm
  44.  * - Moved CDDA_MAX_BOOKMARKS to Config.h
  45.  * 
  46.  * 11    5/05/02 17:56 Ettim
  47.  * Added support in CDEXTRA.
  48.  * 
  49.  * 10    23/04/02 9:31 Nirm
  50.  * - Added dependency in "Config.h".
  51.  * 
  52.  * 9     31/03/02 8:46 Nirm
  53.  * - Removed unnecessary dependency.
  54.  * 
  55.  * 8     3/14/02 11:11 Ettim
  56.  * Removing from Globsdef.h variables that are used only by the CDDA
  57.  * navigator, and declaring them locally in Nav_CDDA.c 
  58.  * 
  59.  * 7     2/18/02 11:01 Ettim
  60.  * Updated Audio SID setting for the channels C0 & C1
  61.  * 
  62.  * 5     9/01/02 15:43 Nirm
  63.  * Corrected Include-Paths.
  64.  * 
  65.  * 4     8/01/02 16:26 Nirm
  66.  * Corrected Include-Paths.
  67.  * 
  68.  * 3     1/06/02 19:28 Ettim
  69.  * A fully working version of nav_cdda
  70.  ****************************************************************************************/
  71. #include "Config.h" // Global Configuration - do not remove!
  72. #include "PlaycoreNav_CDDApe_cd.h"
  73. #include "Kernelker_API.h"
  74. #ifndef CDDA_GLOBS_H_
  75. #define CDDA_GLOBS_H_
  76. typedef struct CDDA_Marker_TAG {
  77. int iPlaylistItem;
  78. DWORD dwAddress;
  79. } CDDA_Marker;
  80. typedef struct
  81. {
  82. UINT16 MARKABReachGap:3;
  83. } CDDA_MESSAGE_GAP_STATE;
  84. typedef struct CDDA_Navigator_TAG 
  85. {
  86. // Audio stream information ( CDDA/CDTS )
  87. AudioSID m_eCurrAudSID;
  88. // Current-Location Information
  89. BOOL m_bLocationChanging;
  90. DWORD m_dwTargetLocation;
  91. CDDA_Marker m_CurrPosition;
  92. // Repeat-Mode and Random-Access Information
  93. CDDA_Marker m_PositionA;
  94. CDDA_Marker m_PositionB;
  95. CDDA_Marker m_ResumePlayback;
  96. CDDA_Marker m_Bookmarks[CDDA_MAX_BOOKMARKS];
  97. UINT8 m_uRendezvousPoint;
  98. BOOL m_bPendingModeChange;
  99. EVENT m_evPendingEvent;
  100. BYTE m_uCurrPlaybackMode;
  101. UINT8 m_uFirstCDDA_Track;
  102. UINT8 m_uLastCDDA_Track;
  103. // Scanning-related Information
  104. int m_iScanSpeed; // The current Scanning-speed (direction is determined by polarity)
  105. DWORD m_aCurrSegment[2]; // An array holding the Starting and Ending points of the current segment
  106. DWORD m_aCurrTrack[2];
  107. // Error-Handling and Recovery
  108. struct CDDA_ErrorRecoveryInfo_TAG {
  109. UINT16 uTimeout; // Holds the Timeout (in Ticks) to activation
  110. DWORD  dwParam; // Holds a Parameter for the Error-Recovery Mechanism
  111. DWORD  dwSavedAddress; // Holds a Parameter for the Error-Recovery Mechanism
  112. #ifdef CDDA_ERROR_RECOVERY
  113. BYTE ucRetryCount; //Leslie_0118_2004_A: Task Force III, implement CDDA Navigator Watchdog
  114. #endif
  115. } m_ErrorRecoveryInfo;
  116. BOOL g_bIsCDDTS_BAK;
  117. BYTE  ucCDDATrackChangeDetectionCounter;
  118. //BYTE bIsCDDAIntroMode:1;
  119. } CDDA_Nav_Info;
  120. typedef struct cdda_globals_TAG 
  121. {
  122. // Public-Access Information
  123. WORD uCurrentTrackNumber; // Holds the Number of the Current Track
  124. BYTE ucCurrentTrackInfo; // Holds the Control-field for the Current Track
  125. int iCurrentTime; // Holds the Current Time inside the Current Track
  126. WORD wTotalPlaybackTime; // Holds the Total Playback time of the Volume
  127. UINT8 uTotalCDDATracksCnt; // Holds the total number of CDDA tracks on disc
  128. WORD wRemainingPlaybackTime; // Holds the remaining playback time
  129. WORD wTotalElapsedTime; // Total Elapsed time
  130. UINT32 pTrackCDText; // Holds the pointer to current track's CDTEXT name
  131. UINT32 pDiscCDText; // Holds the pointer to disc's CDTEXT name
  132. BOOL bDrivePaused;
  133. BYTE bArtificialSoundMode; //HOLDS artificial mode DM090902
  134. #ifdef AUX_IN_ENABLE
  135. BYTE aux_in_audiostream;
  136. #endif
  137. #ifdef S1_GUI // For FLT Display.
  138. int iPlaylistItemForFLT;
  139. #endif // S1_GUI
  140. BYTE bIsCDDAIntroMode; //Is in Intro mode play
  141. CDDA_MESSAGE_GAP_STATE CDDAMessageGap;
  142. CDDA_Nav_Info *g_pCDDANav;
  143. BOOL g_bIsCDDTS;
  144. UINT32 g_hTrackInfoCache;
  145. WORD uPrevTrackNumber;
  146. } S_CDDA_GLOBALS;
  147. #endif //CDDA_GLOBS_H_