cri_atom.h

説明を見る。
00001 /****************************************************************************
00002  *
00003  * CRI Middleware SDK
00004  *
00005  * Copyright (c) 2009-2018 CRI Middleware Co., Ltd.
00006  *
00007  * Library  : CRI Atom
00008  * Module   : Library User's Header
00009  * File     : cri_atom.h
00010  *
00011  ****************************************************************************/
00016 /* 多重定義防止                 */
00017 /* Prevention of redefinition   */
00018 #ifndef CRI_INCL_CRI_ATOM_H
00019 #define CRI_INCL_CRI_ATOM_H
00020 
00021 /***************************************************************************
00022  *      インクルードファイル
00023  *      Include files
00024  ***************************************************************************/
00025 #include "cri_xpt.h"
00026 #include <cri_file_system.h>
00027 
00028 /***************************************************************************
00029  *      定数マクロ
00030  *      Macro Constants
00031  ***************************************************************************/
00032 /* バージョン情報 */
00033 /* Version Number */
00034 #define CRI_ATOM_VERSION                (0x02208600)
00035 #define CRI_ATOM_VER_NUM                "2.20.86"
00036 #define CRI_ATOM_VER_NAME               "CRI Atom"
00037 
00038 /*==========================================================================
00039  *      CRI Atom API
00040  *=========================================================================*/
00041 #if defined(XPT_TGT_PSP)
00042 #define CRIATOM_DEFAULT_OUTPUT_CHANNELS             (2)
00043 #define CRIATOM_DEFAULT_OUTPUT_SAMPLING_RATE        (44100)
00044 #define CRIATOM_DEFAULT_INPUT_MAX_CHANNELS          (2)
00045 #define CRIATOM_DEFAULT_INPUT_MAX_SAMPLING_RATE     (44100)
00046 #define CRIATOM_DEFAULT_DECODE_LATENCY              (1)
00047 #define CRIATOM_DEFAULT_DBAS_MAX_STREAMS            (2)
00048 #define CRIATOM_SOUND_RENDERER_DEFAULT              (CRIATOM_SOUND_RENDERER_NATIVE)
00049 #elif defined(XPT_TGT_VITA)
00050 #define CRIATOM_DEFAULT_OUTPUT_CHANNELS             (2)
00051 #define CRIATOM_DEFAULT_OUTPUT_SAMPLING_RATE        (48000)
00052 #define CRIATOM_DEFAULT_INPUT_MAX_CHANNELS          (2)
00053 #define CRIATOM_DEFAULT_INPUT_MAX_SAMPLING_RATE     (48000)
00054 #define CRIATOM_DEFAULT_DECODE_LATENCY              (0)
00055 #define CRIATOM_DEFAULT_DBAS_MAX_STREAMS            (8)
00056 #define CRIATOM_SOUND_RENDERER_DEFAULT              (CRIATOM_SOUND_RENDERER_NATIVE)
00057 #elif defined(XPT_TGT_3DS)
00058 #define CRIATOM_DEFAULT_OUTPUT_CHANNELS             (2)
00059 #define CRIATOM_DEFAULT_OUTPUT_SAMPLING_RATE        (32728)
00060 #define CRIATOM_DEFAULT_INPUT_MAX_CHANNELS          (2)
00061 #define CRIATOM_DEFAULT_INPUT_MAX_SAMPLING_RATE     (32728)
00062 #define CRIATOM_DEFAULT_DECODE_LATENCY              (0)
00063 #define CRIATOM_DEFAULT_DBAS_MAX_STREAMS            (2)
00064 #define CRIATOM_SOUND_RENDERER_DEFAULT              (CRIATOM_SOUND_RENDERER_NATIVE)
00065 #elif defined(XPT_TGT_WII)
00066 #define CRIATOM_DEFAULT_OUTPUT_CHANNELS             (2)
00067 #define CRIATOM_DEFAULT_OUTPUT_SAMPLING_RATE        (32000)
00068 #define CRIATOM_DEFAULT_INPUT_MAX_CHANNELS          (2)
00069 #define CRIATOM_DEFAULT_INPUT_MAX_SAMPLING_RATE     (32000)
00070 #define CRIATOM_DEFAULT_DECODE_LATENCY              (0)
00071 #define CRIATOM_DEFAULT_DBAS_MAX_STREAMS            (4)
00072 #define CRIATOM_SOUND_RENDERER_DEFAULT              (CRIATOM_SOUND_RENDERER_NATIVE)
00073 #elif defined(XPT_TGT_WIIU)
00074 #define CRIATOM_DEFAULT_OUTPUT_CHANNELS             (6)
00075 #define CRIATOM_DEFAULT_OUTPUT_SAMPLING_RATE        (48000)
00076 #define CRIATOM_DEFAULT_INPUT_MAX_CHANNELS          (2)
00077 #define CRIATOM_DEFAULT_INPUT_MAX_SAMPLING_RATE     (48000)
00078 #define CRIATOM_DEFAULT_DECODE_LATENCY              (0)
00079 #define CRIATOM_DEFAULT_DBAS_MAX_STREAMS            (8)
00080 #define CRIATOM_SOUND_RENDERER_DEFAULT              (CRIATOM_SOUND_RENDERER_NATIVE)
00081 #elif defined(XPT_TGT_ANDROID) || defined(XPT_TGT_IOS) || defined(XPT_TGT_IPHONE)
00082 #define CRIATOM_DEFAULT_OUTPUT_CHANNELS             (2)
00083 #define CRIATOM_DEFAULT_OUTPUT_SAMPLING_RATE        (48000)
00084 #define CRIATOM_DEFAULT_INPUT_MAX_CHANNELS          (2)
00085 #define CRIATOM_DEFAULT_INPUT_MAX_SAMPLING_RATE     (48000)
00086 #define CRIATOM_DEFAULT_DECODE_LATENCY              (0)
00087 #define CRIATOM_DEFAULT_DBAS_MAX_STREAMS            (8)
00088 #define CRIATOM_SOUND_RENDERER_DEFAULT              (CRIATOM_SOUND_RENDERER_ASR)
00089 #elif defined(XPT_TGT_NACL)
00090 #define CRIATOM_DEFAULT_OUTPUT_CHANNELS             (2)
00091 #define CRIATOM_DEFAULT_OUTPUT_SAMPLING_RATE        (48000)
00092 #define CRIATOM_DEFAULT_INPUT_MAX_CHANNELS          (2)
00093 #define CRIATOM_DEFAULT_INPUT_MAX_SAMPLING_RATE     (48000)
00094 #define CRIATOM_DEFAULT_DECODE_LATENCY              (0)
00095 #define CRIATOM_DEFAULT_DBAS_MAX_STREAMS            (8)
00096 #define CRIATOM_SOUND_RENDERER_DEFAULT              (CRIATOM_SOUND_RENDERER_ASR)
00097 #elif defined(XPT_TGT_ACRODEA)
00098 #define CRIATOM_DEFAULT_OUTPUT_CHANNELS             (2)
00099 #define CRIATOM_DEFAULT_OUTPUT_SAMPLING_RATE        (22050)
00100 #define CRIATOM_DEFAULT_INPUT_MAX_CHANNELS          (2)
00101 #define CRIATOM_DEFAULT_INPUT_MAX_SAMPLING_RATE     (22050)
00102 #define CRIATOM_DEFAULT_DECODE_LATENCY              (0)
00103 #define CRIATOM_DEFAULT_DBAS_MAX_STREAMS            (2)
00104 #define CRIATOM_SOUND_RENDERER_DEFAULT              (CRIATOM_SOUND_RENDERER_ASR)
00105 #elif defined(XPT_TGT_JS)
00106 #define CRIATOM_DEFAULT_OUTPUT_CHANNELS             (2)
00107 #define CRIATOM_DEFAULT_OUTPUT_SAMPLING_RATE        (44100)
00108 #define CRIATOM_DEFAULT_INPUT_MAX_CHANNELS          (2)
00109 #define CRIATOM_DEFAULT_INPUT_MAX_SAMPLING_RATE     (44100)
00110 #define CRIATOM_DEFAULT_DECODE_LATENCY              (0)
00111 #define CRIATOM_DEFAULT_DBAS_MAX_STREAMS            (8)
00112 #define CRIATOM_SOUND_RENDERER_DEFAULT              (CRIATOM_SOUND_RENDERER_ASR)
00113 #elif defined(XPT_TGT_XBOXONE) || defined(XPT_TGT_PS4) || defined(XPT_TGT_PS5) || defined(XPT_TGT_SCARLETT)
00114 #define CRIATOM_DEFAULT_OUTPUT_CHANNELS             (8)
00115 #define CRIATOM_DEFAULT_OUTPUT_SAMPLING_RATE        (48000)
00116 #define CRIATOM_DEFAULT_INPUT_MAX_CHANNELS          (2)
00117 #define CRIATOM_DEFAULT_INPUT_MAX_SAMPLING_RATE     (48000)
00118 #define CRIATOM_DEFAULT_DECODE_LATENCY              (0)
00119 #define CRIATOM_DEFAULT_DBAS_MAX_STREAMS            (8)
00120 #define CRIATOM_SOUND_RENDERER_DEFAULT              (CRIATOM_SOUND_RENDERER_ASR)
00121 #elif defined(XPT_TGT_SWITCH)
00122 #define CRIATOM_DEFAULT_OUTPUT_CHANNELS             (6)
00123 #define CRIATOM_DEFAULT_OUTPUT_SAMPLING_RATE        (48000)
00124 #define CRIATOM_DEFAULT_INPUT_MAX_CHANNELS          (2)
00125 #define CRIATOM_DEFAULT_INPUT_MAX_SAMPLING_RATE     (48000)
00126 #define CRIATOM_DEFAULT_DECODE_LATENCY              (0)
00127 #define CRIATOM_DEFAULT_DBAS_MAX_STREAMS            (8)
00128 #define CRIATOM_SOUND_RENDERER_DEFAULT              (CRIATOM_SOUND_RENDERER_ASR)
00129 #else
00130 #define CRIATOM_DEFAULT_OUTPUT_CHANNELS             (6)
00131 #define CRIATOM_DEFAULT_OUTPUT_SAMPLING_RATE        (48000)
00132 #define CRIATOM_DEFAULT_INPUT_MAX_CHANNELS          (2)
00133 #define CRIATOM_DEFAULT_INPUT_MAX_SAMPLING_RATE     (48000)
00134 #define CRIATOM_DEFAULT_DECODE_LATENCY              (0)
00135 #define CRIATOM_DEFAULT_DBAS_MAX_STREAMS            (8)
00136 #define CRIATOM_SOUND_RENDERER_DEFAULT              (CRIATOM_SOUND_RENDERER_ASR)
00137 #endif
00138 
00139 /*==========================================================================
00140  *      CRI Atom Player API
00141  *=========================================================================*/
00147 #define CRIATOMPLAYER_NO_LOOP_LIMITATION    (-1)        
00148 #define CRIATOMPLAYER_IGNORE_LOOP           (-2)        
00149 #define CRIATOMPLAYER_FORCE_LOOP            (-3)        
00151 /*==========================================================================
00152  *      CRI Atom AWB API
00153  *=========================================================================*/
00154 
00161 #define CRIATOMAWB_WORKSIZE_FOR_LOADFROMMEMORY  (64)
00162 
00163 /*==========================================================================
00164  *      CRI Atom D-BAS API
00165  *=========================================================================*/
00173 #define CRIATOMDBAS_ILLEGAL_ID  (-1)
00174 
00184 #define CRIATOM_DEFAULT_DBAS_MAX_BPS \
00185     (criAtom_CalculateAdxBitrate(CRIATOM_DEFAULT_INPUT_MAX_CHANNELS,\
00186                                  CRIATOM_DEFAULT_INPUT_MAX_SAMPLING_RATE)\
00187                                  * CRIATOM_DEFAULT_DBAS_MAX_STREAMS)
00188 
00198 #define CRIATOMDBAS_DEFAULT_NUM_SECUREMENT_BUFFERS  (4)
00199 
00210 #define CRIATOMDBAS_MINIMUM_NUM_SECUREMENT_BUFFERS  (2)
00211 
00212 
00213 /* ========================================================================*/
00214 /*       CRI Atom Streaming Cache API                                      */
00215 /* ========================================================================*/
00223 #define CRIATOM_STREAMING_CACHE_ILLEGAL_ID  (0)
00224 
00234 #define CRIATOM_STREAMING_CACHE_DEFAULT_NUM_FILES   (10)
00235 
00245 #define CRIATOM_STREAMING_CACHE_DEFAULT_CACHE_SIZE  (1 * 1024 * 1024)
00246 
00247 /***************************************************************************
00248  *      処理マクロ
00249  *      Macro Functions
00250  ***************************************************************************/
00251 /*==========================================================================
00252  *      CRI Atom API
00253  *=========================================================================*/
00264 #define criAtom_SetDefaultConfig(p_config)  \
00265 {\
00266     (p_config)->thread_model = CRIATOM_THREAD_MODEL_MULTI;\
00267     (p_config)->server_frequency = 60.0f;\
00268     (p_config)->fs_config = NULL;\
00269     (p_config)->context = NULL;\
00270     (p_config)->version = CRI_ATOM_VERSION;\
00271     (p_config)->max_players = 16;\
00272 }
00273 
00304 #define criAtom_SetUserAllocator(p_malloc_func, p_free_func, p_obj) \
00305 {\
00306     criAtom_SetUserMallocFunction(p_malloc_func, p_obj);\
00307     criAtom_SetUserFreeFunction(p_free_func, p_obj);\
00308 }
00309 
00310 /*==========================================================================
00311  *      CRI Atom HCA-MX API
00312  *=========================================================================*/
00321 #define criAtomHcaMx_SetDefaultConfig(p_config) \
00322 {\
00323     (p_config)->server_frequency = 60.0f;\
00324     (p_config)->num_mixers = 1;\
00325     (p_config)->max_players = 16;\
00326     (p_config)->max_input_channels = CRIATOM_DEFAULT_INPUT_MAX_CHANNELS;\
00327     (p_config)->max_sampling_rate = CRIATOM_DEFAULT_OUTPUT_SAMPLING_RATE;\
00328     (p_config)->output_channels = CRIATOM_DEFAULT_OUTPUT_CHANNELS;\
00329     (p_config)->output_sampling_rate = CRIATOM_DEFAULT_OUTPUT_SAMPLING_RATE;\
00330     (p_config)->sound_renderer_type = CRIATOM_SOUND_RENDERER_DEFAULT;\
00331 }
00332 
00333 /*==========================================================================
00334  *      CRI Atom Player API
00335  *=========================================================================*/
00345 #define criAtomPlayer_SetDefaultConfigForStandardPlayer(p_config)   \
00346 {\
00347     (p_config)->max_channels        = CRIATOM_DEFAULT_INPUT_MAX_CHANNELS;\
00348     (p_config)->max_sampling_rate   = CRIATOM_DEFAULT_INPUT_MAX_SAMPLING_RATE;\
00349     (p_config)->streaming_flag      = CRI_FALSE;\
00350     (p_config)->sound_renderer_type = CRIATOM_SOUND_RENDERER_DEFAULT;\
00351     (p_config)->decode_latency      = CRIATOM_DEFAULT_DECODE_LATENCY;\
00352     (p_config)->context             = NULL;\
00353 }
00354 
00364 #define criAtomPlayer_SetDefaultConfigForAdxPlayer(p_config)    \
00365 {\
00366     (p_config)->max_channels        = CRIATOM_DEFAULT_INPUT_MAX_CHANNELS;\
00367     (p_config)->max_sampling_rate   = CRIATOM_DEFAULT_INPUT_MAX_SAMPLING_RATE;\
00368     (p_config)->streaming_flag      = CRI_FALSE;\
00369     (p_config)->sound_renderer_type = CRIATOM_SOUND_RENDERER_DEFAULT;\
00370     (p_config)->decode_latency      = CRIATOM_DEFAULT_DECODE_LATENCY;\
00371     (p_config)->context             = NULL;\
00372 }
00373 
00383 #define criAtomPlayer_SetDefaultConfigForHcaPlayer(p_config)    \
00384 {\
00385     (p_config)->max_channels        = CRIATOM_DEFAULT_INPUT_MAX_CHANNELS;\
00386     (p_config)->max_sampling_rate   = CRIATOM_DEFAULT_INPUT_MAX_SAMPLING_RATE;\
00387     (p_config)->streaming_flag      = CRI_FALSE;\
00388     (p_config)->sound_renderer_type = CRIATOM_SOUND_RENDERER_DEFAULT;\
00389     (p_config)->decode_latency      = CRIATOM_DEFAULT_DECODE_LATENCY;\
00390     (p_config)->context             = NULL;\
00391 }
00392 
00402 #define criAtomPlayer_SetDefaultConfigForHcaMxPlayer(p_config)  \
00403 {\
00404     (p_config)->max_channels        = CRIATOM_DEFAULT_INPUT_MAX_CHANNELS;\
00405     (p_config)->max_sampling_rate   = CRIATOM_DEFAULT_INPUT_MAX_SAMPLING_RATE;\
00406     (p_config)->streaming_flag      = CRI_FALSE;\
00407 }
00408 
00418 #define criAtomPlayer_SetDefaultConfigForWavePlayer(p_config)   \
00419 {\
00420     (p_config)->max_channels        = CRIATOM_DEFAULT_INPUT_MAX_CHANNELS;\
00421     (p_config)->max_sampling_rate   = CRIATOM_DEFAULT_INPUT_MAX_SAMPLING_RATE;\
00422     (p_config)->streaming_flag      = CRI_FALSE;\
00423     (p_config)->sound_renderer_type = CRIATOM_SOUND_RENDERER_DEFAULT;\
00424     (p_config)->decode_latency      = CRIATOM_DEFAULT_DECODE_LATENCY;\
00425     (p_config)->context             = NULL;\
00426 }
00427 
00437 #define criAtomPlayer_SetDefaultConfigForAiffPlayer(p_config)   \
00438 {\
00439     (p_config)->max_channels        = CRIATOM_DEFAULT_INPUT_MAX_CHANNELS;\
00440     (p_config)->max_sampling_rate   = CRIATOM_DEFAULT_INPUT_MAX_SAMPLING_RATE;\
00441     (p_config)->streaming_flag      = CRI_FALSE;\
00442     (p_config)->sound_renderer_type = CRIATOM_SOUND_RENDERER_DEFAULT;\
00443     (p_config)->decode_latency      = CRIATOM_DEFAULT_DECODE_LATENCY;\
00444     (p_config)->context             = NULL;\
00445 }
00446 
00456 #define criAtomPlayer_SetDefaultConfigForRawPcmPlayer(p_config) \
00457 {\
00458     (p_config)->pcm_format          = CRIATOM_PCM_FORMAT_SINT16;\
00459     (p_config)->max_channels        = CRIATOM_DEFAULT_INPUT_MAX_CHANNELS;\
00460     (p_config)->max_sampling_rate   = CRIATOM_DEFAULT_INPUT_MAX_SAMPLING_RATE;\
00461     (p_config)->sound_renderer_type = CRIATOM_SOUND_RENDERER_DEFAULT;\
00462     (p_config)->decode_latency      = CRIATOM_DEFAULT_DECODE_LATENCY;\
00463     (p_config)->context             = NULL;\
00464 }
00465 
00475 #define criAtomPlayer_SetDefaultConfigForInstrumentPlayer(p_config) \
00476 {\
00477     (p_config)->interface_name      = "";\
00478     (p_config)->instrument_name     = "";\
00479     (p_config)->max_channels        = CRIATOM_DEFAULT_INPUT_MAX_CHANNELS;\
00480     (p_config)->max_sampling_rate   = CRIATOM_DEFAULT_INPUT_MAX_SAMPLING_RATE;\
00481     (p_config)->sound_renderer_type = CRIATOM_SOUND_RENDERER_DEFAULT;\
00482 }
00483 
00484 /*==========================================================================
00485  *      CRI Atom D-BAS API
00486  *=========================================================================*/
00496 #define criAtomDbas_SetDefaultConfig(p_config)  \
00497 {\
00498     (p_config)->identifier  = 0;\
00499     (p_config)->max_streams = CRIATOM_DEFAULT_DBAS_MAX_STREAMS;\
00500     (p_config)->max_bps     = CRIATOM_DEFAULT_DBAS_MAX_BPS;\
00501     (p_config)->max_mana_streams    = 0;\
00502     (p_config)->max_mana_bps        = 0;\
00503     (p_config)->num_securement_buffers = CRIATOMDBAS_DEFAULT_NUM_SECUREMENT_BUFFERS;\
00504 }
00505 
00506 /* ========================================================================*/
00507 /*       CRI Atom Streaming Cache API                                      */
00508 /* ========================================================================*/
00519 #define criAtomStreamingCache_SetDefaultConfig(p_config)    \
00520 {\
00521     (p_config)->max_files       = CRIATOM_STREAMING_CACHE_DEFAULT_NUM_FILES;\
00522     (p_config)->max_path        = CRIFS_CONFIG_DEFAULT_MAX_PATH;\
00523     (p_config)->cache_size      = CRIATOM_STREAMING_CACHE_DEFAULT_CACHE_SIZE;\
00524 }
00525 
00526 /* ========================================================================*/
00527 /*       CRI Atom Meter API                                                */
00528 /* ========================================================================*/
00529 
00538 #define criAtomMeter_SetDefaultConfigForLevelMeter(p_config) \
00539 {\
00540     (p_config)->interval = 50;\
00541     (p_config)->hold_time = 1000;\
00542 }
00543 
00552 #define criAtomMeter_SetDefaultConfigForLoudnessMeter(p_config) \
00553 {\
00554     (p_config)->short_term_time = 3;\
00555     (p_config)->integrated_time = 600;\
00556 }
00557 
00566 #define criAtomMeter_SetDefaultConfigForTruePeakMeter(p_config) \
00567 {\
00568     (p_config)->sample_clipping = CRI_TRUE;\
00569     (p_config)->interval = 50;\
00570     (p_config)->hold_time = 1000; \
00571 }
00572 
00573 /***************************************************************************
00574  *      データ型宣言
00575  *      Data Type Declarations
00576  ***************************************************************************/
00577 /*==========================================================================
00578  *      CRI Atom API
00579  *=========================================================================*/
00589 typedef enum CriAtomThreadModelTag {
00597     CRIATOM_THREAD_MODEL_MULTI = 0,
00598     
00609     CRIATOM_THREAD_MODEL_MULTI_USER_DRIVEN = 3,
00610     
00618     CRIATOM_THREAD_MODEL_USER_MULTI = 1,
00619     
00628     CRIATOM_THREAD_MODEL_SINGLE = 2,
00629     
00630     /* enum size is 4bytes */
00631     CRIATOM_THREAD_MODEL_ENUM_SIZE_IS_4BYTES = 0x7FFFFFFF
00632 } CriAtomThreadModel;
00633 
00654 typedef struct CriAtomConfigTag {
00661     CriAtomThreadModel thread_model;
00662 
00708     CriFloat32 server_frequency;
00709 
00717     const CriFsConfig *fs_config;
00718 
00729     void *context;
00730 
00739     CriUint32 version;
00740 
00755     CriSint32 max_players;
00756 } CriAtomConfig;
00757 
00783 typedef void *(CRIAPI *CriAtomMallocFunc)(void *obj, CriUint32 size);
00784 
00806 typedef void (CRIAPI *CriAtomFreeFunc)(void *obj, void *mem);
00807 
00830 typedef void (CRIAPI *CriAtomAudioFrameStartCbFunc)(void *obj);
00831 
00854 typedef void (CRIAPI *CriAtomAudioFrameEndCbFunc)(void *obj);
00855 
00867 typedef enum CriAtomSoundRendererTypeTag {
00868     CRIATOM_SOUND_RENDERER_NATIVE = 1,      
00869     CRIATOM_SOUND_RENDERER_ASR = 2,         
00870     CRIATOM_SOUND_RENDERER_EXTENDED = 3,
00871 
00872     CRIATOM_SOUND_RENDERER_HW1 = (0 << 2) | CRIATOM_SOUND_RENDERER_NATIVE,      
00873     CRIATOM_SOUND_RENDERER_HW2 = (1 << 2) | CRIATOM_SOUND_RENDERER_NATIVE,      
00874     CRIATOM_SOUND_RENDERER_HW3 = (2 << 2) | CRIATOM_SOUND_RENDERER_NATIVE,      
00875     CRIATOM_SOUND_RENDERER_HW4 = (3 << 2) | CRIATOM_SOUND_RENDERER_NATIVE,      
00877     CRIATOM_SOUND_RENDERER_HAPTIC = (0 << 2) | CRIATOM_SOUND_RENDERER_EXTENDED, 
00878     CRIATOM_SOUND_RENDERER_PSEUDO = (1 << 2) | CRIATOM_SOUND_RENDERER_EXTENDED, 
00879     CRIATOM_SOUND_RENDERER_OBJECT = (2 << 2) | CRIATOM_SOUND_RENDERER_EXTENDED, 
00881     CRIATOM_SOUND_RENDERER_ANY = 0,         
00883     /* enum size is 4bytes */
00884     CRIATOM_SOUND_RENDERER_ENUM_SIZE_IS_4BYTES = 0x7FFFFFFF
00885 } CriAtomSoundRendererType;
00886 
00895 typedef enum CriAtomSpeakerIdTag {
00896     CRIATOM_SPEAKER_FRONT_LEFT = 0,             
00897     CRIATOM_SPEAKER_FRONT_RIGHT = 1,            
00898     CRIATOM_SPEAKER_FRONT_CENTER = 2,           
00899     CRIATOM_SPEAKER_LOW_FREQUENCY = 3,          
00900     CRIATOM_SPEAKER_SURROUND_LEFT = 4,          
00901     CRIATOM_SPEAKER_SURROUND_RIGHT = 5,         
00902     CRIATOM_SPEAKER_SURROUND_BACK_LEFT = 6,     
00903     CRIATOM_SPEAKER_SURROUND_BACK_RIGHT = 7,    
00905     /* enum size is 4bytes */
00906     CRIATOM_SPEAKER_ENUM_SIZE_IS_4BYTES = 0x7FFFFFFF
00907 } CriAtomSpeakerId;
00908 
00917 typedef struct CriAtomPerformanceInfoTag {
00918     CriUint32 server_process_count;     
00919     CriUint32 last_server_time;         
00920     CriUint32 max_server_time;          
00921     CriUint32 average_server_time;      
00922     CriUint32 last_server_interval;     
00923     CriUint32 max_server_interval;      
00924     CriUint32 average_server_interval;  
00925 } CriAtomPerformanceInfo;
00926 
00935 typedef enum CriAtomEncodeQualityTag {
00936     CRIATOM_ENCODE_QUALITY_LOWEST = 0,  
00937     CRIATOM_ENCODE_QUALITY_LOW,         
00938     CRIATOM_ENCODE_QUALITY_MIDDLE,      
00939     CRIATOM_ENCODE_QUALITY_HIGH,        
00940     CRIATOM_ENCODE_QUALITY_HIGHEST,     
00942     /* enum size is 4bytes */
00943     CRIATOM_ENCODE_QUALITY_ENUM_SIZE_IS_4BYTES = 0x7FFFFFFF
00944 } CriAtomEncodeQuality;
00945 
00964 typedef CriUint32 CriAtomFormat;
00965 #define CRIATOM_FORMAT_NONE         (0x00000000)        
00966 #define CRIATOM_FORMAT_ADX          (0x00000001)        
00967 #define CRIATOM_FORMAT_HCA          (0x00000003)        
00968 #define CRIATOM_FORMAT_HCA_MX       (0x00000004)        
00969 #define CRIATOM_FORMAT_WAVE         (0x00000005)        
00970 #define CRIATOM_FORMAT_RAW_PCM      (0x00000006)        
00971 #define CRIATOM_FORMAT_AIFF         (0x00000007)        
00972 #define CRIATOM_FORMAT_VIBRATION    (0x00000008)        
00973 #define CRIATOM_FORMAT_AUDIO_BUFFER (0x00000009)        
00974 #define CRIATOM_FORMAT_INSTRUMENT   (0x0000000C)        
00975 #define CRIATOM_FORMAT_HW1          (0x00010001)        
00976 #define CRIATOM_FORMAT_HW2          (0x00010002)        
00986 typedef struct CriAtomFormatInfoTag {
00987     CriAtomFormat format;               
00988     CriSint32 sampling_rate;            
00989     CriSint64 num_samples;              
00990     CriSint64 loop_offset;              
00991     CriSint64 loop_length;              
00992     CriSint32 num_channels;             
00993     CriUint32 reserved[1];              
00994 } CriAtomFormatInfo;
00995 
01003 typedef enum CriAtomPcmFormatTag {
01004     CRIATOM_PCM_FORMAT_SINT16 = 0,
01005     CRIATOM_PCM_FORMAT_FLOAT32,
01006 
01007     /* enum size is 4bytes */
01008     CRIATOM_PCM_FORMAT_ENUM_SIZE_IS_4BYTES = 0x7FFFFFFF
01009 } CriAtomPcmFormat;
01010 
01018 typedef struct CriAtomStreamingInfoTag {
01025     CriSint32   num_streaming;  
01034     CriFloat32  total_bps;
01035 
01048     CriFloat32  worst_latency;
01049 } CriAtomStreamingInfo;
01050 
01057 typedef enum CriAtomParameterIdTag {
01058     CRIATOM_PARAMETER_ID_VOLUME                 =  0,   
01059     CRIATOM_PARAMETER_ID_FREQUENCY_RATIO        =  1,   
01061     /* enum size is 4bytes */
01062     CRIATOM_PARAMETER_ID_ENUM_SIZE_IS_4BYTES = 0x7FFFFFFF
01063 } CriAtomParameterId;
01064 
01071 typedef enum CriAtomVoiceStopReasonTag {
01072     CRIATOM_VOICE_STOP_REASON_EXPLAYER_STOP = 0,                    
01073     CRIATOM_VOICE_STOP_REASON_EXPLAYER_STOPWITHOUTRELEASE,          
01074     CRIATOM_VOICE_STOP_REASON_PLAYBACK_STOP,                        
01075     CRIATOM_VOICE_STOP_REASON_PLAYBACK_STOPWITHOUTRELEASE,          
01076     CRIATOM_VOICE_STOP_REASON_SOUNDPLAYER_DESTROY,                  
01077     CRIATOM_VOICE_STOP_REASON_FADER_STOP,                           
01078     CRIATOM_VOICE_STOP_REASON_PLAYER_STOP,                          
01079     CRIATOM_VOICE_STOP_REASON_AWB_STOP,                             
01080     CRIATOM_VOICE_STOP_REASON_STREAMING_CACHE_STOP,                 
01081     CRIATOM_VOICE_STOP_REASON_PLAYER_FORCE_STOP,                    
01082     CRIATOM_VOICE_STOP_REASON_PLAYER_DESTROY,                       
01083     CRIATOM_VOICE_STOP_REASON_MTPLAYER_STOP,                        
01084     CRIATOM_VOICE_STOP_REASON_VOICE_POOL_DESTROY,                   
01085     CRIATOM_VOICE_STOP_REASON_VOICE_STEAL_CASE1,                    
01086     CRIATOM_VOICE_STOP_REASON_VOICE_STEAL_CASE2,                    
01087     CRIATOM_VOICE_STOP_REASON_VOICE_STEAL_CASE3,                    
01088     CRIATOM_VOICE_STOP_REASON_VOICE_STEAL_CASE4,                    
01089     CRIATOM_VOICE_STOP_REASON_SOUND_SERVER_RESULT_VIRTUAL_VOICE_BEYOND_LIFE_TIME,   
01090     CRIATOM_VOICE_STOP_REASON_SOUND_SERVER_RESULT_CANT_CALC_3DPOS,                  
01091     CRIATOM_VOICE_STOP_REASON_SOUND_SERVER_RESULT_INTERNAL_PLAYBACK_CANCEL,         
01092     CRIATOM_VOICE_STOP_REASON_SOUND_SERVER_RESULT_NO_PLAYER_NO_RETRY,               
01093     CRIATOM_VOICE_STOP_REASON_SOUND_SERVER_RESULT_FAILED_RETRY_BEYOND_LIFE_TIME,    
01094     CRIATOM_VOICE_STOP_REASON_SOUND_SERVER_RESULT_PLAYER_STATUS_PLAYEND,            
01095     CRIATOM_VOICE_STOP_REASON_SOUND_SERVER_RESULT_PLAYER_STATUS_ERROR,              
01096     CRIATOM_VOICE_STOP_REASON_SOUND_SERVER_RESULT_IMPOSSIBLE_RETRY,                 
01097     CRIATOM_VOICE_STOP_REASON_SOUND_SERVER_RESULT_PLAYER_STATUS_STOP,               
01098     CRIATOM_VOICE_STOP_REASON_SOUND_SERVER_RESULT_INVALID_SERVER_REQUEST,           
01099     CRIATOM_VOICE_STOP_REASON_SOUND_SERVER_RESULT_SILENT_MODE_STOP,                 
01100     CRIATOM_VOICE_STOP_REASON_SOUND_SERVER_RESULT_SOUNDCOMPLEX_STATUS_ERROR,        
01101     CRIATOM_VOICE_STOP_REASON_SOUND_SERVER_RESULT_NO_ELEMENT_CASE1,                 
01102     CRIATOM_VOICE_STOP_REASON_SOUND_SERVER_RESULT_NO_ELEMENT_CASE2,                 
01103     CRIATOM_VOICE_STOP_REASON_SOUND_SERVER_RESULT_STOP_NOT_PLAYING_ELEMENT,         
01104     CRIATOM_VOICE_STOP_REASON_SOUND_SERVER_RESULT_NOT_ACTIVE_VOICE,                 
01105     CRIATOM_VOICE_STOP_REASON_ELEMENT_FREE,                         
01106     CRIATOM_VOICE_STOP_REASON_EXPLAYER_STOP_ERROR_HN,               
01107     CRIATOM_VOICE_STOP_REASON_ACB_RELEASE,                          
01108     CRIATOM_VOICE_STOP_REASON_VOICE_ALLOCATE_FAIL,                  
01109     CRIATOM_VOICE_STOP_REASON_VOICE_RESET,                          
01110     CRIATOM_VOICE_STOP_REASON_VOICE_VIRTUALIZE,                     
01111     CRIATOM_VOICE_STOP_REASON_PLAYBACKSOUND_ALLOCATE_FAIL,          
01112     CRIATOM_VOICE_STOP_REASON_STOP_ACTION_WITH_BEATSYNC,            
01113     CRIATOM_VOICE_STOP_REASON_START_CANCEL_WITH_BEATSYNC,           
01114     CRIATOM_VOICE_STOP_REASON_STOP_ACTION,                          
01115     CRIATOM_VOICE_STOP_REASON_BLOCK_TRANSITION_CASE0,               
01116     CRIATOM_VOICE_STOP_REASON_BLOCK_TRANSITION_CASE1,               
01117     CRIATOM_VOICE_STOP_REASON_BLOCK_TRANSITION_CASE2,               
01118     CRIATOM_VOICE_STOP_REASON_BLOCK_TRANSITION_CASE3,               
01119     CRIATOM_VOICE_STOP_REASON_CATEGORY_CUE_LIMIT,                   
01120     CRIATOM_VOICE_STOP_REASON_UNSET_ACB,                            
01121     CRIATOM_VOICE_STOP_REASON_SEQUENCE_END,                         
01122     CRIATOM_VOICE_STOP_REASON_BLODK_END,                            
01123     CRIATOM_VOICE_STOP_REASON_SEQUENCE_EXECUTE,                     
01124     CRIATOM_VOICE_STOP_REASON_TRACK_MONO,                           
01125     CRIATOM_VOICE_STOP_REASON_FADER_STOP_IMMEDIATE,                 
01126     CRIATOM_VOICE_STOP_REASON_CUE_LIMIT,                            
01127     CRIATOM_VOICE_STOP_REASON_STOP_ACB,                             
01128     CRIATOM_VOICE_STOP_REASON_SOUND_OBJECT_ADD_PLAYER,              
01129     CRIATOM_VOICE_STOP_REASON_SOUND_OBJECT_DELETE_PLAYER,           
01130     CRIATOM_VOICE_STOP_REASON_SOUND_OBJECT_DELETE_ALL_PLAYER,       
01131     CRIATOM_VOICE_STOP_REASON_UNREGISTER_ACF,                       
01132     CRIATOM_VOICE_STOP_REASON_EXPLAYER_DESTROY,                     
01133     CRIATOM_VOICE_STOP_REASON_EXPLAYER_ATTACH_FADER,                
01134     CRIATOM_VOICE_STOP_REASON_EXPLAYER_DETACH_FADER,                
01135     CRIATOM_VOICE_STOP_REASON_DETACH_AWB,                           
01136     CRIATOM_VOICE_STOP_MULTIPLE_PLAYBACK_PROHIBITION_TIME,          
01137     CRIATOM_VOICE_STOP_REASON_CATEGORY_STOP,                        
01138     CRIATOM_VOICE_STOP_REASON_CATEGORY_STOPWITHOUTRELEASE,          
01139     CRIATOM_VOICE_STOP_REASON_NOTE_OFF,                             
01140     CRIATOM_VOICE_STOP_REASON_REGISTER_ACF,                         
01141     CRIATOM_VOICE_STOP_REASON_STOP_ACTION_WITH_FADE,                
01142     CRIATOM_VOICE_STOP_REASON_RESET_TRACK_PARAMETER,                
01143     CRIATOM_VOICE_STOP_REASON_BLOCK_TRANSITION_CASE4,               
01144     CRIATOM_VOICE_STOP_REASON_BLOCK_TRANSITION_CASE5,               
01145     CRIATOM_VOICE_STOP_REASON_BLOCK_TRANSITION_CASE6,               
01146     CRIATOM_VOICE_STOP_REASON_NOTE_OFF2,                            
01147     CRIATOM_VOICE_STOP_REASON_ALL_NOTE_OFF,                         
01148     CRIATOM_VOICE_STOP_REASON_ALL_NOTE_OFF_WITHOUTRELEASE,          
01150     /* initial state */
01151     CRIATOM_VOICE_STOP_REASON_NONE = 0x7FFFFFFE,
01152     /* enum size is 4bytes */
01153     CRIATOM_VOICE_STOP_REASON_ENUM_SIZE_IS_4BYTES = 0x7FFFFFFF
01154 } CriAtomVoiceStopReason;
01155 
01165 typedef enum CriAtomAmbisonicsOrderTypeTag {
01166     CRIATOMAMBISONICS_ORDER_TYPE_NONE = 0,  
01167     CRIATOMAMBISONICS_ORDER_TYPE_FIRST,     
01168     CRIATOMAMBISONICS_ORDER_TYPE_1P = CRIATOMAMBISONICS_ORDER_TYPE_FIRST,   
01169     CRIATOMAMBISONICS_ORDER_TYPE_ENUM_SIZE_IS_4BYTES = 0x7FFFFFFF
01170 } CriAtomAmbisonicsOrderType;
01171 
01172 /*==========================================================================
01173  *      CRI Atom HCA-MX API
01174  *=========================================================================*/
01190 typedef struct CriAtomHcaMxConfigTag {
01200     CriFloat32 server_frequency;
01201 
01212     CriSint32 num_mixers;
01213 
01219     CriSint32 max_players;
01220 
01234     CriSint32 max_input_channels;
01235 
01244     CriSint32 max_sampling_rate;
01245 
01259     CriSint32 output_channels;
01260 
01269     CriSint32 output_sampling_rate;
01270 
01283     CriAtomSoundRendererType sound_renderer_type;
01284 } CriAtomHcaMxConfig;
01285 
01286 /*==========================================================================
01287  *      CRI Atom Decrypter API
01288  *=========================================================================*/
01300 typedef struct CriAtomDecrypterConfigTag {
01311     CriUint64 key;
01312 } CriAtomDecrypterConfig;
01313 
01322 typedef void *CriAtomDecrypterHn;
01323 
01324 /*==========================================================================
01325  *      CRI Atom AWB API
01326  *=========================================================================*/
01327 struct CriAtomAwbTag;
01336 typedef struct CriAtomAwbTag *CriAtomAwbHn;
01337 
01346 typedef enum CriAtomAwbStatusTag {
01347     CRIATOMAWB_STATUS_STOP = 0,     
01348     CRIATOMAWB_STATUS_LOADING,      
01349     CRIATOMAWB_STATUS_COMPLETE,     
01350     CRIATOMAWB_STATUS_ERROR,        
01352     /* enum size is 4bytes */
01353     CRIATOMAWB_STATUS_ENUM_SIZE_IS_4BYTES = 0x7FFFFFFF
01354 } CriAtomAwbStatus;
01355 
01364 typedef enum CriAtomAwbTypeTag {
01365     CRIATOMAWB_TYPE_TOC = 0,    
01366     CRIATOMAWB_TYPE_ONMEMORY,   
01367     CRIATOMAWB_TYPE_ERROR,      
01369     /* enum size is 4bytes */
01370     CRIATOMAWB_TYPE_ENUM_SIZE_IS_4BYTES = 0x7FFFFFFF
01371 } CriAtomAwbType;
01372 
01373 /*==========================================================================
01374  *      CRI Atom Player API
01375  *=========================================================================*/
01393 typedef struct CriAtomStandardPlayerConfigTag {
01436     CriSint32 max_channels;
01437 
01454     CriSint32 max_sampling_rate;
01455 
01472     CriBool streaming_flag;
01473 
01486     CriAtomSoundRendererType sound_renderer_type;
01487 
01522     CriSint32 decode_latency;
01523 
01532     void *context;
01533 } CriAtomStandardPlayerConfig;
01534 
01551 typedef struct CriAtomAdxPlayerConfigTag {
01594     CriSint32 max_channels;
01595 
01612     CriSint32 max_sampling_rate;
01613 
01630     CriBool streaming_flag;
01631 
01644     CriAtomSoundRendererType sound_renderer_type;
01645 
01680     CriSint32 decode_latency;
01681 
01690     void *context;
01691 } CriAtomAdxPlayerConfig;
01692 
01709 typedef struct CriAtomHcaPlayerConfigTag {
01717     CriSint32 max_channels;
01718 
01735     CriSint32 max_sampling_rate;
01736 
01753     CriBool streaming_flag;
01754 
01767     CriAtomSoundRendererType sound_renderer_type;
01768 
01803     CriSint32 decode_latency;
01804 
01813     void *context;
01814 } CriAtomHcaPlayerConfig;
01815 
01832 typedef struct CriAtomHcaMxPlayerConfigTag {
01840     CriSint32 max_channels;
01841 
01858     CriSint32 max_sampling_rate;
01859 
01876     CriBool streaming_flag;
01877 } CriAtomHcaMxPlayerConfig;
01878 
01895 typedef struct CriAtomWavePlayerConfigTag {
01903     CriSint32 max_channels;
01904 
01921     CriSint32 max_sampling_rate;
01922 
01939     CriBool streaming_flag;
01940 
01953     CriAtomSoundRendererType sound_renderer_type;
01954 
01989     CriSint32 decode_latency;
01990 
01999     void *context;
02000 } CriAtomWavePlayerConfig;
02001 
02018 typedef struct CriAtomAiffPlayerConfigTag {
02026     CriSint32 max_channels;
02027 
02044     CriSint32 max_sampling_rate;
02045 
02062     CriBool streaming_flag;
02063 
02076     CriAtomSoundRendererType sound_renderer_type;
02077 
02112     CriSint32 decode_latency;
02113 
02122     void *context;
02123 } CriAtomAiffPlayerConfig;
02124 
02141 typedef struct CriAtomRawPcmPlayerConfigTag {
02150     CriAtomPcmFormat pcm_format;
02151 
02162     CriSint32 max_channels;
02163 
02178     CriSint32 max_sampling_rate;
02179 
02192     CriAtomSoundRendererType sound_renderer_type;
02193 
02228     CriSint32 decode_latency;
02229 
02238     void *context;
02239 } CriAtomRawPcmPlayerConfig;
02240 
02255 typedef struct CriAtomInstrumentPlayerConfigTag {
02256     const CriChar8              *interface_name;            
02257     const CriChar8              *instrument_name;           
02258     CriSint32                   max_channels;               
02259     CriSint32                   max_sampling_rate;          
02260     CriAtomSoundRendererType    sound_renderer_type;        
02261 } CriAtomInstrumentPlayerConfig;
02262 
02299 typedef enum CriAtomPlayerStatusTag {
02300     CRIATOMPLAYER_STATUS_STOP = 0,      
02301     CRIATOMPLAYER_STATUS_PREP = 1,      
02302     CRIATOMPLAYER_STATUS_PLAYING = 2,   
02303     CRIATOMPLAYER_STATUS_PLAYEND = 3,   
02304     CRIATOMPLAYER_STATUS_ERROR = 4,     
02306     /* enum size is 4bytes */
02307     CRIATOMPLAYER_STATUS_ENUM_SIZE_IS_4BYTES = 0x7FFFFFFF
02308 } CriAtomPlayerStatus;
02309 
02310 struct CriAtomPlayerTag;
02328 typedef struct CriAtomPlayerTag *CriAtomPlayerHn;
02329 
02367 typedef void (CRIAPI *CriAtomPlayerDataRequestCbFunc)(void *obj, CriAtomPlayerHn player);
02368 
02392 typedef void (CRIAPI *CriAtomPlayerStatusChangeCbFunc)(void *obj, CriAtomPlayerHn player);
02393 
02413 typedef void (CRIAPI *CriAtomPlayerParameterChangeCbFunc)(void *obj,
02414     CriAtomPlayerHn player, CriAtomParameterId id, CriFloat32 value);
02415 
02462 typedef void (CRIAPI *CriAtomPlayerFilterCbFunc)(void *obj, CriAtomPcmFormat format,
02463     CriSint32 num_channels, CriSint32 num_samples, void *data[]);
02464 
02486 typedef void (CRIAPI *CriAtomPlayerLoadRequestCbFunc)(void *obj,
02487     CriFsBinderHn binder, const CriChar8 *path, CriSint64 offset, CriSint64 length);
02488 
02489 /*==========================================================================
02490  *      CRI Atom D-BAS API
02491  *=========================================================================*/
02502 typedef CriSint32 CriAtomDbasId;
02503 
02516 typedef struct CriAtomDbasConfigTag {
02523     CriUint32 identifier;               
02534     CriSint32 max_streams;
02547     CriSint32 max_bps;
02556     CriSint32 max_mana_streams;
02565     CriSint32 max_mana_bps;
02584     CriSint32 num_securement_buffers;
02585 } CriAtomDbasConfig;
02586 
02587 /* ========================================================================*/
02588 /*       CRI Atom Streaming Cache API                                      */
02589 /* ========================================================================*/
02598 typedef CriUintPtr CriAtomStreamingCacheId;
02599 
02614 typedef struct CriAtomStreamingCacheConfigTag {
02620     CriSint32 max_path;
02626     CriSint32 max_files;
02635     CriSint32 cache_size;
02636 } CriAtomStreamingCacheConfig;
02637 
02638 /* ========================================================================*/
02639 /*       CRI Atom DSP API                                                  */
02640 /* ========================================================================*/
02641 
02651 typedef struct CriAtomDspPitchShifterConfigTag {
02663     CriSint32 mode;
02664 
02672     CriSint32 window_size;
02673 
02681     CriSint32 overlap_times;
02682 } CriAtomDspPitchShifterConfig;
02683 
02692 typedef enum CriAtomDspPitchShifterParameterIdTag {
02702     CRIATOMDSP_PITCHSHIFTER_PARAM_PITCH     = 0,
02703 
02716     CRIATOMDSP_PITCHSHIFTER_PARAM_FORMANT   = 1,
02717 
02729     CRIATOMDSP_PITCHSHIFTER_PARAM_MODE      = 2
02730 } CriAtomDspPitchShifterParameterId;
02731 
02741 typedef struct CriAtomDspTimeStretchConfigTag {
02742     CriSint32 reserved;
02743 } CriAtomDspTimeStretchConfig;
02744 
02753 typedef enum CriAtomDspTimeStretchParameterIdTag {
02764     CRIATOMDSP_TIMESTRETCH_PARAM_RATIO      = 0,
02765 
02775     CRIATOMDSP_TIMESTRETCH_PARAM_FRAME_TIME = 1,
02776 
02787     CRIATOMDSP_TIMESTRETCH_PARAM_QUALITY    = 2
02788 } CriAtomDspTimeStretchParameterId;
02789 
02798 typedef struct CriAtomDspSpectraConfigTag {
02806     CriUint32 num_bands;
02807 } CriAtomDspSpectraConfig;
02808 
02809 /* スペクトラムアナライザハンドル */
02810 struct CriAtomDspSpectraObj;
02811 typedef struct CriAtomDspSpectraObj *CriAtomDspSpectraHn;
02812 
02813 /* ========================================================================*/
02814 /*       CRI Atom Meter API                                                */
02815 /* ========================================================================*/
02816 
02833 typedef struct {
02839     CriSint32 interval;
02840 
02846     CriSint32 hold_time;
02847 } CriAtomLevelMeterConfig;
02848 
02859 typedef struct CriAtomLevelInfoTag {
02865     CriSint32 num_channels;
02866     
02873     CriFloat32 rms_levels[8];
02874     
02880     CriFloat32 peak_levels[8];
02881     
02887     CriFloat32 peak_hold_levels[8];
02888 } CriAtomLevelInfo;
02889 
02905 typedef struct {
02912     CriSint32 short_term_time;
02913 
02920     CriSint32 integrated_time;
02921 } CriAtomLoudnessMeterConfig;
02922 
02933 typedef struct CriAtomLoudnessInfoTag {
02940     CriSint32       count;
02946     CriFloat32      momentary;
02952     CriFloat32      short_term;
02958     CriFloat32      integrated;
02959 } CriAtomLoudnessInfo;
02960 
02976 typedef struct {
02983     CriBool sample_clipping;
02984 
02990     CriSint32 interval;
02991 
02997     CriSint32 hold_time;
02998 } CriAtomTruePeakMeterConfig;
02999 
03010 typedef struct CriAtomTruePeakInfoTag {
03016     CriSint32       num_channels;
03017     
03023     CriFloat32      levels[8];
03024     
03030     CriFloat32      hold_levels[8];
03031 } CriAtomTruePeakInfo;
03032 
03033 /*==========================================================================
03034  *      CRI Atom Instrument API
03035  *=========================================================================*/
03042 typedef const struct CriAinstInterfaceWithVersionTag* CriAtomAinstInterfaceWithVersionPtr;
03043 
03044 /***************************************************************************
03045  *      変数宣言
03046  *      Prototype Variables
03047  ***************************************************************************/
03048 
03049 /***************************************************************************
03050  *      関数宣言
03051  *      Prototype Functions
03052  ***************************************************************************/
03053 #ifdef __cplusplus
03054 extern "C" {
03055 #endif
03056 
03057 /*==========================================================================
03058  *      CRI Atom API
03059  *=========================================================================*/
03079 CriUint32 CRIAPI criAtom_GetVersionNumber(void);
03080 
03106 CriSint32 CRIAPI criAtom_CalculateWorkSize(const CriAtomConfig *config);
03107 
03262 void CRIAPI criAtom_Initialize(const CriAtomConfig *config, void *work, CriSint32 work_size);
03263 
03273 void CRIAPI criAtom_Finalize(void);
03274 
03285 CriBool CRIAPI criAtom_IsInitialized(void);
03286 
03318 CriBool CRIAPI criAtom_IsAudioOutputActive(void);
03319 
03350 void CRIAPI criAtom_ExecuteMain(void);
03351 
03373 void CRIAPI criAtom_ExecuteAudioProcess(void);
03374 
03422 void CRIAPI criAtom_SetUserMallocFunction(CriAtomMallocFunc func, void *obj);
03423 
03469 void CRIAPI criAtom_SetUserFreeFunction(CriAtomFreeFunc func, void *obj);
03470 
03497 void CRIAPI criAtom_SetAudioFrameStartCallback(
03498     CriAtomAudioFrameStartCbFunc func, void *obj);
03499 
03526 void CRIAPI criAtom_SetAudioFrameEndCallback(
03527     CriAtomAudioFrameEndCbFunc func, void *obj);
03528 
03562 void CRIAPI criAtom_Lock(void);
03563 
03571 void CRIAPI criAtom_Unlock(void);
03572 
03595 void CRIAPI criAtom_SetChannelMapping(CriSint32 nch, CriUint32 type);
03596 
03637 void CRIAPI criAtom_AttachPerformanceMonitor(void);
03638 
03650 void CRIAPI criAtom_DetachPerformanceMonitor(void);
03651 
03662 void CRIAPI criAtom_ResetPerformanceMonitor(void);
03663 
03673 void CRIAPI criAtom_GetPerformanceInfo(CriAtomPerformanceInfo *info);
03674 
03686 CriSint32 CRIAPI criAtom_CalculateAdxBitrate(
03687     CriSint32 num_channels, CriSint32 sampling_rate);
03688 
03703 CriSint32 CRIAPI criAtom_CalculateHcaBitrate(
03704     CriSint32 num_channels, CriSint32 sampling_rate, CriAtomEncodeQuality quality);
03705 
03720 CriSint32 CRIAPI criAtom_CalculateHcaMxBitrate(
03721     CriSint32 num_channels, CriSint32 sampling_rate, CriAtomEncodeQuality quality);
03722 
03741 CriBool CRIAPI criAtom_GetStreamingInfo(CriAtomStreamingInfo* streaming_info);
03742 
03766 CriBool CRIAPI criAtom_SetFreeTimeBufferingFlagForDefaultDevice(CriBool flag);
03767 
03792 void CRIAPI criAtom_SetAdx1KeyString(const CriChar8 *key_string);
03793 
03794 /*==========================================================================
03795  *      CRI Atom HCA-MX API
03796  *=========================================================================*/
03825 CriSint32 CRIAPI criAtomHcaMx_CalculateWorkSize(const CriAtomHcaMxConfig *config);
03826 
03874 void CRIAPI criAtomHcaMx_SetConfigForWorkSizeCalculation(const CriAtomHcaMxConfig *config);
03875 
03907 void CRIAPI criAtomHcaMx_Initialize(
03908     const CriAtomHcaMxConfig *config, void *work, CriSint32 work_size);
03909 
03927 void CRIAPI criAtomHcaMx_Finalize(void);
03928 
03942 void CRIAPI criAtomHcaMx_SetBusSendLevelByName(
03943     CriSint32 mixer_id, const CriChar8* bus_name, CriFloat32 level);
03944 
03958 void CRIAPI criAtomHcaMx_SetFrequencyRatio(CriSint32 mixer_id, CriFloat32 ratio);
03959 
03960 /*==========================================================================
03961  *      CRI Atom Decrypter API
03962  *=========================================================================*/
03984 CriSint32 CRIAPI criAtomDecrypter_CalculateWorkSize(
03985     const CriAtomDecrypterConfig *config);
03986 
04041 CriAtomDecrypterHn CRIAPI criAtomDecrypter_Create(
04042     const CriAtomDecrypterConfig *config, void *work, CriSint32 work_size);
04043 
04061 void CRIAPI criAtomDecrypter_Destroy(CriAtomDecrypterHn decrypter);
04062 
04063 /*==========================================================================
04064  *      CRI Atom AWB API
04065  *=========================================================================*/
04082 CriSint32 CRIAPI criAtomAwb_CalculateWorkSizeForLoadToc(CriSint32 num);
04083 
04112 CriAtomAwbHn CRIAPI criAtomAwb_LoadToc(
04113     CriFsBinderHn binder, const CriChar8 *path, void *work, CriSint32 work_size);
04114 
04129 CriAtomAwbHn CRIAPI criAtomAwb_LoadTocById(
04130     CriFsBinderHn binder, CriUint16 id, void *work, CriSint32 work_size);
04131 
04166 CriAtomAwbHn CRIAPI criAtomAwb_LoadTocAsync(
04167     CriFsBinderHn binder, const CriChar8 *path, void *work, CriSint32 work_size);
04168 
04183 CriAtomAwbHn CRIAPI criAtomAwb_LoadTocAsyncById(
04184     CriFsBinderHn binder, CriUint16 id, void *work, CriSint32 work_size);
04185 
04220 CriAtomAwbHn CRIAPI criAtomAwb_LoadFromMemory(
04221     void *awb_mem, CriSint32 awb_mem_size, void *work, CriSint32 work_size);
04222 
04233 CriAtomAwbType CRIAPI criAtomAwb_GetType(CriAtomAwbHn awb);
04234 
04252 CriBool CRIAPI criAtomAwb_GetWaveFileInfo(
04253     CriAtomAwbHn awb, CriSint32 id, CriSint64 *offset, CriUint32 *size);
04254 
04274 void CRIAPI criAtomAwb_GetWaveDataInfo(CriAtomAwbHn awb, CriSint32 id, void **wave_data_start, CriUint32 *size);
04275 
04287 CriUint16 CRIAPI criAtomAwb_GetNumContents(CriAtomAwbHn awb);
04288 
04311 void CRIAPI criAtomAwb_Release(CriAtomAwbHn awb);
04312 
04333 CriBool CRIAPI criAtomAwb_IsReadyToRelease(CriAtomAwbHn awb);
04334 
04346 CriAtomAwbStatus CRIAPI criAtomAwb_GetStatus(CriAtomAwbHn awb);
04347 
04348 /*==========================================================================
04349  *      CRI Atom Player API
04350  *=========================================================================*/
04381 CriSint32 CRIAPI criAtomPlayer_CalculateWorkSizeForStandardPlayer(
04382     const CriAtomStandardPlayerConfig *config);
04383 
04565 CriAtomPlayerHn CRIAPI criAtomPlayer_CreateStandardPlayer(
04566     const CriAtomStandardPlayerConfig *config, void *work, CriSint32 work_size);
04567 
04597 CriSint32 CRIAPI criAtomPlayer_CalculateWorkSizeForAdxPlayer(
04598     const CriAtomAdxPlayerConfig *config);
04599 
04781 CriAtomPlayerHn CRIAPI criAtomPlayer_CreateAdxPlayer(
04782     const CriAtomAdxPlayerConfig *config, void *work, CriSint32 work_size);
04783 
04813 CriSint32 CRIAPI criAtomPlayer_CalculateWorkSizeForHcaPlayer(
04814     const CriAtomHcaPlayerConfig *config);
04815 
04874 CriAtomPlayerHn CRIAPI criAtomPlayer_CreateHcaPlayer(
04875     const CriAtomHcaPlayerConfig *config, void *work, CriSint32 work_size);
04876 
04906 CriSint32 CRIAPI criAtomPlayer_CalculateWorkSizeForHcaMxPlayer(
04907     const CriAtomHcaMxPlayerConfig *config);
04908 
04967 CriAtomPlayerHn CRIAPI criAtomPlayer_CreateHcaMxPlayer(
04968     const CriAtomHcaMxPlayerConfig *config, void *work, CriSint32 work_size);
04969 
04999 CriSint32 CRIAPI criAtomPlayer_CalculateWorkSizeForWavePlayer(
05000     const CriAtomWavePlayerConfig *config);
05001 
05066 CriAtomPlayerHn CRIAPI criAtomPlayer_CreateWavePlayer(
05067     const CriAtomWavePlayerConfig *config, void *work, CriSint32 work_size);
05068 
05098 CriSint32 CRIAPI criAtomPlayer_CalculateWorkSizeForAiffPlayer(
05099     const CriAtomAiffPlayerConfig *config);
05100 
05165 CriAtomPlayerHn CRIAPI criAtomPlayer_CreateAiffPlayer(
05166     const CriAtomAiffPlayerConfig *config, void *work, CriSint32 work_size);
05167 
05197 CriSint32 CRIAPI criAtomPlayer_CalculateWorkSizeForRawPcmPlayer(
05198     const CriAtomRawPcmPlayerConfig *config);
05199 
05258 CriAtomPlayerHn CRIAPI criAtomPlayer_CreateRawPcmPlayer(
05259     const CriAtomRawPcmPlayerConfig *config, void *work, CriSint32 work_size);
05260 
05279 void CRIAPI criAtomPlayer_Destroy(CriAtomPlayerHn player);
05280 
05349 void CRIAPI criAtomPlayer_SetData(
05350     CriAtomPlayerHn player, void *buffer, CriSint32 buffer_size);
05351 
05453 void CRIAPI criAtomPlayer_SetFile(
05454     CriAtomPlayerHn player, CriFsBinderHn binder, const CriChar8 *path);
05455 
05550 void CRIAPI criAtomPlayer_SetContentId(
05551     CriAtomPlayerHn player, CriFsBinderHn binder, CriSint32 id);
05552 
05630 void CRIAPI criAtomPlayer_SetWaveId(
05631     CriAtomPlayerHn player, CriAtomAwbHn awb, CriSint32 id);
05632 
05668 void CRIAPI criAtomPlayer_SetPreviousDataAgain(CriAtomPlayerHn player);
05669 
05695 void CRIAPI criAtomPlayer_DeferCallback(CriAtomPlayerHn player);
05696 
05845 void CRIAPI criAtomPlayer_Start(CriAtomPlayerHn player);
05846 
05902 void CRIAPI criAtomPlayer_Stop(CriAtomPlayerHn player);
05903 
05993 void CRIAPI criAtomPlayer_Pause(CriAtomPlayerHn player, CriBool flag);
05994 
06014 CriBool CRIAPI criAtomPlayer_IsPaused(CriAtomPlayerHn player);
06015 
06098 CriAtomPlayerStatus CRIAPI criAtomPlayer_GetStatus(CriAtomPlayerHn player);
06099 
06114 CriSint32 CRIAPI criAtomPlayer_GetNumChannels(CriAtomPlayerHn player);
06115 
06149 CriBool CRIAPI criAtomPlayer_GetNumPlayedSamples(
06150     CriAtomPlayerHn player, CriSint64 *num_played, CriSint32 *sampling_rate);
06151 
06187 CriBool CRIAPI criAtomPlayer_GetNumRenderedSamples(
06188     CriAtomPlayerHn player, CriSint64 *num_rendered, CriSint32 *sampling_rate);
06189 
06209 CriSint64 CRIAPI criAtomPlayer_GetDecodedDataSize(CriAtomPlayerHn player);
06210 
06230 CriSint64 CRIAPI criAtomPlayer_GetNumDecodedSamples(CriAtomPlayerHn player);
06231 
06264 CriSint64 CRIAPI criAtomPlayer_GetTime(CriAtomPlayerHn player);
06265 
06282 CriBool CRIAPI criAtomPlayer_GetFormatInfo(
06283     CriAtomPlayerHn player, CriAtomFormatInfo *info);
06284 
06301 CriSint32 CRIAPI criAtomPlayer_GetInputBufferRemainSize(CriAtomPlayerHn player);
06302 
06324 CriSint32 CRIAPI criAtomPlayer_GetOutputBufferRemainSamples(CriAtomPlayerHn player);
06325 
06362 void CRIAPI criAtomPlayer_SetStartTime(CriAtomPlayerHn player, CriSint64 start_time_ms);
06363 
06416 void CRIAPI criAtomPlayer_SetVolume(CriAtomPlayerHn player, CriFloat32 vol);
06417 
06428 CriFloat32 CRIAPI criAtomPlayer_GetVolume(CriAtomPlayerHn player);
06429 
06472 void CRIAPI criAtomPlayer_SetChannelVolume(
06473     CriAtomPlayerHn player, CriSint32 ch, CriFloat32 vol);
06474 
06595 void CRIAPI criAtomPlayer_SetSendLevel(
06596     CriAtomPlayerHn player, CriSint32 ch, CriAtomSpeakerId spk, CriFloat32 level);
06597 
06617 void CRIAPI criAtomPlayer_ResetSendLevel(CriAtomPlayerHn player);
06618 
06686 void CRIAPI criAtomPlayer_SetPanAdx1Compatible(
06687     CriAtomPlayerHn player, CriSint32 ch, CriFloat32 pan);
06688 
06708 void CRIAPI criAtomPlayer_ResetPan(CriAtomPlayerHn player);
06709 
06770 void CRIAPI criAtomPlayer_SetFrequencyRatio(CriAtomPlayerHn player, CriFloat32 ratio);
06771 
06797 void CRIAPI criAtomPlayer_SetMaxFrequencyRatio(CriAtomPlayerHn player, CriFloat32 ratio);
06798 
06840 void CRIAPI criAtomPlayer_LimitLoopCount(CriAtomPlayerHn player, CriSint32 count);
06841 
06857 void CRIAPI criAtomPlayer_SetHcaMxMixerId(CriAtomPlayerHn player, CriSint32 mixer_id);
06858 
06869 void CRIAPI criAtomPlayer_SetAsrRackId(CriAtomPlayerHn player, CriSint32 rack_id);
06870 
06888 void CRIAPI criAtomPlayer_SetRawPcmFormat(CriAtomPlayerHn player,
06889     CriAtomPcmFormat pcm_format, CriSint32 num_channels, CriSint32 sampling_rate);
06890 
07008 void CRIAPI criAtomPlayer_SetDataRequestCallback(
07009     CriAtomPlayerHn player, CriAtomPlayerDataRequestCbFunc func, void *obj);
07010 
07079 void CRIAPI criAtomPlayer_SetStatusChangeCallback(
07080     CriAtomPlayerHn player, CriAtomPlayerStatusChangeCbFunc func, void *obj);
07081 
07105 void CRIAPI criAtomPlayer_SetParameterChangeCallback(
07106     CriAtomPlayerHn player, CriAtomPlayerParameterChangeCbFunc func, void *obj);
07107 
07131 void CRIAPI criAtomPlayer_SetFilterCallback(
07132     CriAtomPlayerHn player, CriAtomPlayerFilterCbFunc func, void *obj);
07133 
07160 void CRIAPI criAtomPlayer_SetLoadRequestCallback(
07161     CriAtomPlayerHn player, CriAtomPlayerLoadRequestCbFunc func, void *obj);
07162 
07163 /*==========================================================================
07164  *      Functions for HCA Streaming
07165  *=========================================================================*/
07166 
07178 void CRIAPI criAtomPlayer_SetHcaFormat(CriAtomPlayerHn player,
07179     CriSint32 num_channels, CriSint32 sampling_rate, CriSint32 bitrate);
07180 
07181 /*==========================================================================
07182  *      CRI Atom D-BAS API
07183  *=========================================================================*/
07204 CriSint32 CRIAPI criAtomDbas_CalculateWorkSize(const CriAtomDbasConfig *config);
07205 
07224 CriAtomDbasId CRIAPI criAtomDbas_Create(
07225     const CriAtomDbasConfig *config, void *work, CriSint32 work_size);
07226 
07235 void CRIAPI criAtomDbas_Destroy(CriAtomDbasId atom_dbas_id);
07236 
07263 CriSint32 CRIAPI criAtomDbas_GetStreamingPlayerHandles(
07264     CriAtomDbasId dbas_id, CriAtomPlayerHn *players, CriSint32 length);
07265 
07266 /* ========================================================================*/
07267 /*       CRI Atom Streaming Cache API                                      */
07268 /* ========================================================================*/
07281 CriSint32 CRIAPI criAtomStreamingCache_CalculateWorkSize(
07282     const CriAtomStreamingCacheConfig* config);
07283 
07306 CriAtomStreamingCacheId CRIAPI criAtomStreamingCache_Create(
07307     const CriAtomStreamingCacheConfig* config, void* work, CriSint32 work_size);
07308 
07320 void CRIAPI criAtomStreamingCache_Destroy(CriAtomStreamingCacheId stm_cache_id);
07321 
07336 void CRIAPI criAtomStreamingCache_Clear(CriAtomStreamingCacheId cache_id);
07337 
07353 CriBool CRIAPI criAtomStreamingCache_IsCachedWaveId(
07354     CriAtomStreamingCacheId stm_cache_id, CriAtomAwbHn awb, CriSint32 id);
07355 
07369 CriBool CRIAPI criAtomStreamingCache_IsCachedFile(
07370     CriAtomStreamingCacheId stm_cache_id, CriFsBinderHn src_binder, const CriChar8 *path);
07371 
07372 /*==========================================================================
07373  *      CRI Atom DSP API
07374  *=========================================================================*/
07383 CriFloat32 criAtomDsp_ConvertParameterFromCent(CriFloat32 cent);
07384 
07398 CriSint32 criAtomDspSpectra_CalculateWorkSize(const CriAtomDspSpectraConfig *config);
07399 
07437 CriAtomDspSpectraHn criAtomDspSpectra_Create(
07438     const CriAtomDspSpectraConfig *config, void *work, CriSint32 work_size);
07439 
07455 void criAtomDspSpectra_Destroy(CriAtomDspSpectraHn spectra);
07456 
07469 void criAtomDspSpectra_Reset(CriAtomDspSpectraHn spectra);
07470 
07486 void criAtomDspSpectra_Process(CriAtomDspSpectraHn spectra,
07487     CriUint32 num_channels, CriUint32 num_samples, CriFloat32 *pcm[]);
07488 
07510 const CriFloat32* criAtomDspSpectra_GetLevels(CriAtomDspSpectraHn spectra);
07511 
07512 /* ========================================================================*/
07513 /*       CRI Atom Meter API                                                */
07514 /* ========================================================================*/
07515 
07526 CriSint32 CRIAPI criAtomMeter_CalculateWorkSizeForLevelMeter(
07527     const CriAtomLevelMeterConfig *config);
07528 
07542 void CRIAPI criAtomMeter_AttachLevelMeter(
07543     const CriAtomLevelMeterConfig *config, void *work, CriSint32 work_size);
07544 
07552 void CRIAPI criAtomMeter_DetachLevelMeter(void);
07553 
07564 void CRIAPI criAtomMeter_GetLevelInfo(CriAtomLevelInfo *info);
07565 
07576 CriSint32 CRIAPI criAtomMeter_CalculateWorkSizeForLoudnessMeter(const CriAtomLoudnessMeterConfig *config);
07577 
07591 void CRIAPI criAtomMeter_AttachLoudnessMeter(const CriAtomLoudnessMeterConfig *config, void *work, CriSint32 work_size);
07592 
07600 void CRIAPI criAtomMeter_DetachLoudnessMeter(void);
07601 
07611 void CRIAPI criAtomMeter_GetLoudnessInfo(CriAtomLoudnessInfo *info);
07612 
07621 void CRIAPI criAtomMeter_ResetLoudnessMeter(void);
07622 
07633 CriSint32 CRIAPI criAtomMeter_CalculateWorkSizeForTruePeakMeter(const CriAtomTruePeakMeterConfig *config);
07634 
07648 void CRIAPI criAtomMeter_AttachTruePeakMeter(const CriAtomTruePeakMeterConfig *config, void *work, CriSint32 work_size);
07649 
07657 void CRIAPI criAtomMeter_DetachTruePeakMeter(void);
07658 
07668 void CRIAPI criAtomMeter_GetTruePeakInfo(CriAtomTruePeakInfo *info);
07669 
07670 /* ========================================================================*/
07671 /*       CRI Atom Instrument API                                           */
07672 /* ========================================================================*/
07690 CriBool CRIAPI criAtomInstrument_RegisterInstrumentInterface(CriAtomAinstInterfaceWithVersionPtr ainst_interface);
07691 
07705 void CRIAPI criAtomInstrument_UnregisterInstrumentInterface(CriAtomAinstInterfaceWithVersionPtr ainst_interface);
07706 
07707 /***************************************************************************
07708  *      暫定API(使用はお控え下さい)
07709  *      Tentative API (Please don't use it)
07710  ***************************************************************************/
07711 /* 以下に宣言されている関数はAtomの内部処理用、ゲームエンジンとの連携等にて
07712  * 暫定的に使用されているAPIです。
07713  * 今後のアップデートにて予告なく変更・削除が行われるため、使用はお控え下さい。
07714  */
07715 typedef void (CRIAPI *CriAtomPlayerDataEndCbFunc)(void *obj, void *buffer, CriSint32 size);
07716 typedef void (CRIAPI *CriAtomPlayerCbFunc)(void *obj, CriAtomPlayerHn player);
07717 typedef void (CRIAPI *CriAtomPlayerDecodeCbFunc)(void *obj, CriAtomPcmFormat format,
07718     CriSint32 num_channels, CriSint32 num_samples, void *data[]);
07719 void CRIAPI criAtomPlayer_BreakLoop(CriAtomPlayerHn player);
07720 void CRIAPI criAtomPlayer_SetDataEndCallback(
07721     CriAtomPlayerHn player, CriAtomPlayerDataEndCbFunc func, void *obj);
07722 void CRIAPI criAtomPlayer_SetDecodeCallback(
07723     CriAtomPlayerHn player, CriAtomPlayerDecodeCbFunc func, void *obj);
07724 void CRIAPI criAtomPlayer_DiscardSamples(CriAtomPlayerHn player, CriSint32 num_discard);
07725 typedef CriSint32 CriAtomWaveType;
07726 
07727 #ifdef __cplusplus
07728 }
07729 #endif
07730 
07731 /***************************************************************************
07732  *      旧バージョンとの互換用
07733  *      For compatibility with old version
07734  ***************************************************************************/
07735 typedef enum CriAtomDownmixModeTag {
07736     CRIATOM_DOWNMIX_MODE_NONE = 0,
07737     CRIATOM_DOWNMIX_MODE_MONO = 1,
07738     CRIATOM_DOWNMIX_MODE_STEREO = 2,
07739     CRIATOM_DOWNMIX_MODE_STEREO_AND_LFE = 3,
07740     CRIATOM_DOWNMIX_MODE_ENUM_SIZE_IS_4BYTES = 0x7FFFFFFF
07741 } CriAtomDownmixMode;
07742 
07743 #define CRIATOMAWB_STATUS_NONE          (CRIATOMAWB_STATUS_STOP)
07744 #define criAtomPlayer_SetPitch(player, pitch)   \
07745     criAtomPlayer_SetFrequencyRatio((player), (pitch))
07746 #define criAtomPlayer_SetPan(player, ch, pan) \
07747     criAtomPlayer_SetPanAdx1Compatible((player), (ch), (pan))
07748 /* レンダラーの出力Ch数設定に応じて、自動でダウンミックスするため下記関数は無効にしています */
07749 #define criAtom_SetDownmixMode(downmix_mode)
07750 #define criAtomHcaMx_SetBusSendLevel(mixer_id, bus_no, level) \
07751     criAtomExHcaMx_SetBusSendLevel(mixer_id, bus_no, level)
07752 
07753 #endif  /* CRI_INCL_CRI_ATOM_H */
07754 
07755 /* --- end of file --- */E:/j/workspace/ADX2/0S_405_BuildManual_Public/p4ws/CriMovieDepot/crimw/dev/dev_libs/CriAtom2/src/CriAtomMain/cri_atom.h

CRI Middleware logo Copyright (c) 2006-2018 CRI Middleware Co., Ltd.