説明を見る。 1
2
3
4
5
6
7
8
9
10
11
16
17
18 #ifndef CRI_INCL_CRI_ATOM_H
19 #define CRI_INCL_CRI_ATOM_H
20
21
22
23
24
25 #include <cri_le_xpt.h>
26 #include <cri_le_file_system.h>
27
28
29
30
31
32
33
34 #define CRI_ATOM_VERSION (0x02172200)
35 #define CRI_ATOM_VER_NUM "2.17.22"
36 #define CRI_ATOM_VER_NAME "CRI Atom(LE)"
37
38
39
40
41 #define CRIATOM_DEFAULT_OUTPUT_CHANNELS (6)
42 #define CRIATOM_DEFAULT_OUTPUT_SAMPLING_RATE (48000)
43 #define CRIATOM_DEFAULT_INPUT_MAX_CHANNELS (2)
44 #define CRIATOM_DEFAULT_INPUT_MAX_SAMPLING_RATE (48000)
45 #define CRIATOM_DEFAULT_DECODE_LATENCY (0)
46 #define CRIATOM_DEFAULT_DBAS_MAX_STREAMS (8)
47 #define CRIATOM_SOUND_RENDERER_DEFAULT (CRIATOM_SOUND_RENDERER_ASR)
48
49
50
51
57 #define CRIATOMPLAYER_NO_LOOP_LIMITATION (-1)
58 #define CRIATOMPLAYER_IGNORE_LOOP (-2)
59 #define CRIATOMPLAYER_FORCE_LOOP (-3)
61
62
63
64
71 #define CRIATOMAWB_WORKSIZE_FOR_LOADFROMMEMORY (64)
72
73
74
75
83 #define CRIATOMDBAS_ILLEGAL_ID (-1)
84
94 #define CRIATOM_DEFAULT_DBAS_MAX_BPS \
95 (criAtom_CalculateAdxBitrate(CRIATOM_DEFAULT_INPUT_MAX_CHANNELS,\
96 CRIATOM_DEFAULT_INPUT_MAX_SAMPLING_RATE)\
97 * CRIATOM_DEFAULT_DBAS_MAX_STREAMS)
98
108 #define CRIATOMDBAS_DEFAULT_NUM_SECUREMENT_BUFFERS (4)
109
120 #define CRIATOMDBAS_MINIMUM_NUM_SECUREMENT_BUFFERS (2)
121
122
123
124
125
133 #define CRIATOM_STREAMING_CACHE_ILLEGAL_ID (0)
134
144 #define CRIATOM_STREAMING_CACHE_DEFAULT_NUM_FILES (10)
145
155 #define CRIATOM_STREAMING_CACHE_DEFAULT_CACHE_SIZE (1 * 1024 * 1024)
156
157
158
159
160
161
162
163
174 #define criAtom_SetDefaultConfig(p_config) \
175 {\
176 (p_config)->thread_model = CRIATOM_THREAD_MODEL_MULTI;\
177 (p_config)->server_frequency = 60.0f;\
178 (p_config)->fs_config = NULL;\
179 (p_config)->context = NULL;\
180 (p_config)->version = CRI_ATOM_VERSION;\
181 (p_config)->max_players = 16;\
182 }
183
214 #define criAtom_SetUserAllocator(p_malloc_func, p_free_func, p_obj) \
215 {\
216 criAtom_SetUserMallocFunction(p_malloc_func, p_obj);\
217 criAtom_SetUserFreeFunction(p_free_func, p_obj);\
218 }
219
220
221
222
231 #define criAtomHcaMx_SetDefaultConfig(p_config) \
232 {\
233 (p_config)->server_frequency = 60.0f;\
234 (p_config)->num_mixers = 1;\
235 (p_config)->max_players = 16;\
236 (p_config)->max_input_channels = CRIATOM_DEFAULT_INPUT_MAX_CHANNELS;\
237 (p_config)->max_sampling_rate = CRIATOM_DEFAULT_OUTPUT_SAMPLING_RATE;\
238 (p_config)->output_channels = CRIATOM_DEFAULT_OUTPUT_CHANNELS;\
239 (p_config)->output_sampling_rate = CRIATOM_DEFAULT_OUTPUT_SAMPLING_RATE;\
240 (p_config)->sound_renderer_type = CRIATOM_SOUND_RENDERER_DEFAULT;\
241 }
242
243
244
245
255 #define criAtomPlayer_SetDefaultConfigForStandardPlayer(p_config) \
256 {\
257 (p_config)->max_channels = CRIATOM_DEFAULT_INPUT_MAX_CHANNELS;\
258 (p_config)->max_sampling_rate = CRIATOM_DEFAULT_INPUT_MAX_SAMPLING_RATE;\
259 (p_config)->streaming_flag = CRI_TRUE;\
260 (p_config)->sound_renderer_type = CRIATOM_SOUND_RENDERER_DEFAULT;\
261 (p_config)->decode_latency = CRIATOM_DEFAULT_DECODE_LATENCY;\
262 }
263
273 #define criAtomPlayer_SetDefaultConfigForAdxPlayer(p_config) \
274 {\
275 (p_config)->max_channels = CRIATOM_DEFAULT_INPUT_MAX_CHANNELS;\
276 (p_config)->max_sampling_rate = CRIATOM_DEFAULT_INPUT_MAX_SAMPLING_RATE;\
277 (p_config)->streaming_flag = CRI_TRUE;\
278 (p_config)->sound_renderer_type = CRIATOM_SOUND_RENDERER_DEFAULT;\
279 (p_config)->decode_latency = CRIATOM_DEFAULT_DECODE_LATENCY;\
280 }
281
291 #define criAtomPlayer_SetDefaultConfigForHcaPlayer(p_config) \
292 {\
293 (p_config)->max_channels = CRIATOM_DEFAULT_INPUT_MAX_CHANNELS;\
294 (p_config)->max_sampling_rate = CRIATOM_DEFAULT_INPUT_MAX_SAMPLING_RATE;\
295 (p_config)->streaming_flag = CRI_TRUE;\
296 (p_config)->sound_renderer_type = CRIATOM_SOUND_RENDERER_DEFAULT;\
297 (p_config)->decode_latency = CRIATOM_DEFAULT_DECODE_LATENCY;\
298 }
299
309 #define criAtomPlayer_SetDefaultConfigForHcaMxPlayer(p_config) \
310 {\
311 (p_config)->max_channels = CRIATOM_DEFAULT_INPUT_MAX_CHANNELS;\
312 (p_config)->max_sampling_rate = CRIATOM_DEFAULT_INPUT_MAX_SAMPLING_RATE;\
313 (p_config)->streaming_flag = CRI_TRUE;\
314 }
315
325 #define criAtomPlayer_SetDefaultConfigForWavePlayer(p_config) \
326 {\
327 (p_config)->max_channels = CRIATOM_DEFAULT_INPUT_MAX_CHANNELS;\
328 (p_config)->max_sampling_rate = CRIATOM_DEFAULT_INPUT_MAX_SAMPLING_RATE;\
329 (p_config)->streaming_flag = CRI_TRUE;\
330 (p_config)->sound_renderer_type = CRIATOM_SOUND_RENDERER_DEFAULT;\
331 (p_config)->decode_latency = CRIATOM_DEFAULT_DECODE_LATENCY;\
332 }
333
343 #define criAtomPlayer_SetDefaultConfigForAiffPlayer(p_config) \
344 {\
345 (p_config)->max_channels = CRIATOM_DEFAULT_INPUT_MAX_CHANNELS;\
346 (p_config)->max_sampling_rate = CRIATOM_DEFAULT_INPUT_MAX_SAMPLING_RATE;\
347 (p_config)->streaming_flag = CRI_TRUE;\
348 (p_config)->sound_renderer_type = CRIATOM_SOUND_RENDERER_DEFAULT;\
349 (p_config)->decode_latency = CRIATOM_DEFAULT_DECODE_LATENCY;\
350 }
351
361 #define criAtomPlayer_SetDefaultConfigForRawPcmPlayer(p_config) \
362 {\
363 (p_config)->pcm_format = CRIATOM_PCM_FORMAT_SINT16;\
364 (p_config)->max_channels = CRIATOM_DEFAULT_INPUT_MAX_CHANNELS;\
365 (p_config)->max_sampling_rate = CRIATOM_DEFAULT_INPUT_MAX_SAMPLING_RATE;\
366 (p_config)->sound_renderer_type = CRIATOM_SOUND_RENDERER_DEFAULT;\
367 (p_config)->decode_latency = CRIATOM_DEFAULT_DECODE_LATENCY;\
368 }
369
370
371
372
382 #define criAtomDbas_SetDefaultConfig(p_config) \
383 {\
384 (p_config)->identifier = 0;\
385 (p_config)->max_streams = CRIATOM_DEFAULT_DBAS_MAX_STREAMS;\
386 (p_config)->max_bps = CRIATOM_DEFAULT_DBAS_MAX_BPS;\
387 (p_config)->max_mana_streams = 0;\
388 (p_config)->max_mana_bps = 0;\
389 (p_config)->num_securement_buffers = CRIATOMDBAS_DEFAULT_NUM_SECUREMENT_BUFFERS;\
390 }
391
392
393
394
405 #define criAtomStreamingCache_SetDefaultConfig(p_config) \
406 {\
407 (p_config)->max_files = CRIATOM_STREAMING_CACHE_DEFAULT_NUM_FILES;\
408 (p_config)->max_path = CRIFS_CONFIG_DEFAULT_MAX_PATH;\
409 (p_config)->cache_size = CRIATOM_STREAMING_CACHE_DEFAULT_CACHE_SIZE;\
410 }
411
412
413
414
415
424 #define criAtomMeter_SetDefaultConfigForLevelMeter(p_config) \
425 {\
426 (p_config)->interval = 50;\
427 (p_config)->hold_time = 1000;\
428 }
429
438 #define criAtomMeter_SetDefaultConfigForLoudnessMeter(p_config) \
439 {\
440 (p_config)->short_term_time = 3;\
441 (p_config)->integrated_time = 600;\
442 }
443
452 #define criAtomMeter_SetDefaultConfigForTruePeakMeter(p_config) \
453 {\
454 (p_config)->sample_clipping = CRI_TRUE;\
455 (p_config)->interval = 50;\
456 (p_config)->hold_time = 1000; \
457 }
458
459
460
461
462
463
464
465
475 typedef enum CriAtomThreadModelTag {
483 CRIATOM_THREAD_MODEL_MULTI = 0,
484
495 CRIATOM_THREAD_MODEL_MULTI_USER_DRIVEN = 3,
496
504 CRIATOM_THREAD_MODEL_USER_MULTI = 1,
505
514 CRIATOM_THREAD_MODEL_SINGLE = 2,
515
516
517 CRIATOM_THREAD_MODEL_ENUM_SIZE_IS_4BYTES = 0x7FFFFFFF
518 } CriAtomThreadModel;
519
540 typedef struct CriAtomConfigTag {
547 CriAtomThreadModel thread_model;
548
594 CriFloat32 server_frequency;
595
603 const CriFsConfig *fs_config;
604
615 void *context;
616
625 CriUint32 version;
626
641 CriSint32 max_players;
642 } CriAtomConfig;
643
669 typedef void *(CRIAPI *CriAtomMallocFunc)(void *obj, CriUint32 size);
670
692 typedef void (CRIAPI *CriAtomFreeFunc)(void *obj, void *mem);
693
716 typedef void (CRIAPI *CriAtomAudioFrameStartCbFunc)(void *obj);
717
740 typedef void (CRIAPI *CriAtomAudioFrameEndCbFunc)(void *obj);
741
753 typedef enum CriAtomSoundRendererTypeTag {
754 CRIATOM_SOUND_RENDERER_NATIVE = 1,
755 CRIATOM_SOUND_RENDERER_ASR = 2,
756 CRIATOM_SOUND_RENDERER_HAPTIC = 3,
757
758 CRIATOM_SOUND_RENDERER_HW1 = (0 << 2) | CRIATOM_SOUND_RENDERER_NATIVE,
759 CRIATOM_SOUND_RENDERER_HW2 = (1 << 2) | CRIATOM_SOUND_RENDERER_NATIVE,
760 CRIATOM_SOUND_RENDERER_HW3 = (2 << 2) | CRIATOM_SOUND_RENDERER_NATIVE,
761 CRIATOM_SOUND_RENDERER_HW4 = (3 << 2) | CRIATOM_SOUND_RENDERER_NATIVE,
763 CRIATOM_SOUND_RENDERER_ANY = 0,
765
766 CRIATOM_SOUND_RENDERER_ENUM_SIZE_IS_4BYTES = 0x7FFFFFFF
767 } CriAtomSoundRendererType;
768
777 typedef enum CriAtomSpeakerIdTag {
778 CRIATOM_SPEAKER_FRONT_LEFT = 0,
779 CRIATOM_SPEAKER_FRONT_RIGHT = 1,
780 CRIATOM_SPEAKER_FRONT_CENTER = 2,
781 CRIATOM_SPEAKER_LOW_FREQUENCY = 3,
782 CRIATOM_SPEAKER_SURROUND_LEFT = 4,
783 CRIATOM_SPEAKER_SURROUND_RIGHT = 5,
784 CRIATOM_SPEAKER_SURROUND_BACK_LEFT = 6,
785 CRIATOM_SPEAKER_SURROUND_BACK_RIGHT = 7,
787
788 CRIATOM_SPEAKER_ENUM_SIZE_IS_4BYTES = 0x7FFFFFFF
789 } CriAtomSpeakerId;
790
799 typedef struct CriAtomPerformanceInfoTag {
800 CriUint32 server_process_count;
801 CriUint32 last_server_time;
802 CriUint32 max_server_time;
803 CriUint32 average_server_time;
804 CriUint32 last_server_interval;
805 CriUint32 max_server_interval;
806 CriUint32 average_server_interval;
807 } CriAtomPerformanceInfo;
808
817 typedef enum CriAtomEncodeQualityTag {
818 CRIATOM_ENCODE_QUALITY_LOWEST = 0,
819 CRIATOM_ENCODE_QUALITY_LOW,
820 CRIATOM_ENCODE_QUALITY_MIDDLE,
821 CRIATOM_ENCODE_QUALITY_HIGH,
822 CRIATOM_ENCODE_QUALITY_HIGHEST,
824
825 CRIATOM_ENCODE_QUALITY_ENUM_SIZE_IS_4BYTES = 0x7FFFFFFF
826 } CriAtomEncodeQuality;
827
846 typedef CriUint32 CriAtomFormat;
847 #define CRIATOM_FORMAT_NONE (0x00000000)
848 #define CRIATOM_FORMAT_ADX (0x00000001)
849 #define CRIATOM_FORMAT_HCA (0x00000003)
850 #define CRIATOM_FORMAT_HCA_MX (0x00000004)
851 #define CRIATOM_FORMAT_WAVE (0x00000005)
852 #define CRIATOM_FORMAT_RAW_PCM (0x00000006)
853 #define CRIATOM_FORMAT_AIFF (0x00000007)
854 #define CRIATOM_FORMAT_VIBRATION (0x00000008)
855 #define CRIATOM_FORMAT_AUDIO_BUFFER (0x00000009)
856 #define CRIATOM_FORMAT_HW1 (0x00010001)
857 #define CRIATOM_FORMAT_HW2 (0x00010002)
867 typedef struct CriAtomFormatInfoTag {
868 CriAtomFormat format;
869 CriSint32 sampling_rate;
870 CriSint64 num_samples;
871 CriSint64 loop_offset;
872 CriSint64 loop_length;
873 CriSint32 num_channels;
874 CriUint32 reserved[1];
875 } CriAtomFormatInfo;
876
884 typedef enum CriAtomPcmFormatTag {
885 CRIATOM_PCM_FORMAT_SINT16 = 0,
886 CRIATOM_PCM_FORMAT_FLOAT32,
887
888
889 CRIATOM_PCM_FORMAT_ENUM_SIZE_IS_4BYTES = 0x7FFFFFFF
890 } CriAtomPcmFormat;
891
899 typedef struct CriAtomStreamingInfoTag {
906 CriSint32 num_streaming;
915 CriFloat32 total_bps;
916
929 CriFloat32 worst_latency;
930 } CriAtomStreamingInfo;
931
938 typedef enum CriAtomParameterIdTag {
939 CRIATOM_PARAMETER_ID_VOLUME = 0,
940 CRIATOM_PARAMETER_ID_FREQUENCY_RATIO = 1,
942
943 CRIATOM_PARAMETER_ID_ENUM_SIZE_IS_4BYTES = 0x7FFFFFFF
944 } CriAtomParameterId;
945
952 typedef enum CriAtomVoiceStopReasonTag {
953 CRIATOM_VOICE_STOP_REASON_EXPLAYER_STOP = 0,
954 CRIATOM_VOICE_STOP_REASON_EXPLAYER_STOPWITHOUTRELEASE,
955 CRIATOM_VOICE_STOP_REASON_PLAYBACK_STOP,
956 CRIATOM_VOICE_STOP_REASON_PLAYBACK_STOPWITHOUTRELEASE,
957 CRIATOM_VOICE_STOP_REASON_SOUNDPLAYER_DESTROY,
958 CRIATOM_VOICE_STOP_REASON_FADER_STOP,
959 CRIATOM_VOICE_STOP_REASON_PLAYER_STOP,
960 CRIATOM_VOICE_STOP_REASON_AWB_STOP,
961 CRIATOM_VOICE_STOP_REASON_STREAMING_CACHE_STOP,
962 CRIATOM_VOICE_STOP_REASON_PLAYER_FORCE_STOP,
963 CRIATOM_VOICE_STOP_REASON_PLAYER_DESTROY,
964 CRIATOM_VOICE_STOP_REASON_MTPLAYER_STOP,
965 CRIATOM_VOICE_STOP_REASON_VOICE_POOL_DESTROY,
966 CRIATOM_VOICE_STOP_REASON_VOICE_STEAL_CASE1,
967 CRIATOM_VOICE_STOP_REASON_VOICE_STEAL_CASE2,
968 CRIATOM_VOICE_STOP_REASON_VOICE_STEAL_CASE3,
969 CRIATOM_VOICE_STOP_REASON_VOICE_STEAL_CASE4,
970 CRIATOM_VOICE_STOP_REASON_SOUND_SERVER_RESULT_VIRTUAL_VOICE_BEYOND_LIFE_TIME,
971 CRIATOM_VOICE_STOP_REASON_SOUND_SERVER_RESULT_CANT_CALC_3DPOS,
972 CRIATOM_VOICE_STOP_REASON_SOUND_SERVER_RESULT_INTERNAL_PLAYBACK_CANCEL,
973 CRIATOM_VOICE_STOP_REASON_SOUND_SERVER_RESULT_NO_PLAYER_NO_RETRY,
974 CRIATOM_VOICE_STOP_REASON_SOUND_SERVER_RESULT_FAILED_RETRY_BEYOND_LIFE_TIME,
975 CRIATOM_VOICE_STOP_REASON_SOUND_SERVER_RESULT_PLAYER_STATUS_PLAYEND,
976 CRIATOM_VOICE_STOP_REASON_SOUND_SERVER_RESULT_PLAYER_STATUS_ERROR,
977 CRIATOM_VOICE_STOP_REASON_SOUND_SERVER_RESULT_IMPOSSIBLE_RETRY,
978 CRIATOM_VOICE_STOP_REASON_SOUND_SERVER_RESULT_PLAYER_STATUS_STOP,
979 CRIATOM_VOICE_STOP_REASON_SOUND_SERVER_RESULT_INVALID_SERVER_REQUEST,
980 CRIATOM_VOICE_STOP_REASON_SOUND_SERVER_RESULT_SILENT_MODE_STOP,
981 CRIATOM_VOICE_STOP_REASON_SOUND_SERVER_RESULT_SOUNDCOMPLEX_STATUS_ERROR,
982 CRIATOM_VOICE_STOP_REASON_SOUND_SERVER_RESULT_NO_ELEMENT_CASE1,
983 CRIATOM_VOICE_STOP_REASON_SOUND_SERVER_RESULT_NO_ELEMENT_CASE2,
984 CRIATOM_VOICE_STOP_REASON_SOUND_SERVER_RESULT_STOP_NOT_PLAYING_ELEMENT,
985 CRIATOM_VOICE_STOP_REASON_SOUND_SERVER_RESULT_NOT_ACTIVE_VOICE,
986 CRIATOM_VOICE_STOP_REASON_ELEMENT_FREE,
987 CRIATOM_VOICE_STOP_REASON_EXPLAYER_STOP_ERROR_HN,
988 CRIATOM_VOICE_STOP_REASON_ACB_RELEASE,
989 CRIATOM_VOICE_STOP_REASON_VOICE_ALLOCATE_FAIL,
990 CRIATOM_VOICE_STOP_REASON_VOICE_RESET,
991 CRIATOM_VOICE_STOP_REASON_VOICE_VIRTUALIZE,
992 CRIATOM_VOICE_STOP_REASON_PLAYBACKSOUND_ALLOCATE_FAIL,
993 CRIATOM_VOICE_STOP_REASON_STOP_ACTION_WITH_BEATSYNC,
994 CRIATOM_VOICE_STOP_REASON_START_CANCEL_WITH_BEATSYNC,
995 CRIATOM_VOICE_STOP_REASON_STOP_ACTION,
996 CRIATOM_VOICE_STOP_REASON_BLOCK_TRANSITION_CASE0,
997 CRIATOM_VOICE_STOP_REASON_BLOCK_TRANSITION_CASE1,
998 CRIATOM_VOICE_STOP_REASON_BLOCK_TRANSITION_CASE2,
999 CRIATOM_VOICE_STOP_REASON_BLOCK_TRANSITION_CASE3,
1000 CRIATOM_VOICE_STOP_REASON_CATEGORY_CUE_LIMIT,
1001 CRIATOM_VOICE_STOP_REASON_UNSET_ACB,
1002 CRIATOM_VOICE_STOP_REASON_SEQUENCE_END,
1003 CRIATOM_VOICE_STOP_REASON_BLODK_END,
1004 CRIATOM_VOICE_STOP_REASON_SEQUENCE_EXECUTE,
1005 CRIATOM_VOICE_STOP_REASON_TRACK_MONO,
1006 CRIATOM_VOICE_STOP_REASON_FADER_STOP_IMMEDIATE,
1007 CRIATOM_VOICE_STOP_REASON_CUE_LIMIT,
1008 CRIATOM_VOICE_STOP_REASON_STOP_ACB,
1009 CRIATOM_VOICE_STOP_REASON_SOUND_OBJECT_ADD_PLAYER,
1010 CRIATOM_VOICE_STOP_REASON_SOUND_OBJECT_DELETE_PLAYER,
1011 CRIATOM_VOICE_STOP_REASON_SOUND_OBJECT_DELETE_ALL_PLAYER,
1012 CRIATOM_VOICE_STOP_REASON_UNREGISTER_ACF,
1013 CRIATOM_VOICE_STOP_REASON_EXPLAYER_DESTROY,
1014 CRIATOM_VOICE_STOP_REASON_EXPLAYER_ATTACH_FADER,
1015 CRIATOM_VOICE_STOP_REASON_EXPLAYER_DETACH_FADER,
1016 CRIATOM_VOICE_STOP_REASON_DETACH_AWB,
1017 CRIATOM_VOICE_STOP_MULTIPLE_PLAYBACK_PROHIBITION_TIME,
1018 CRIATOM_VOICE_STOP_REASON_CATEGORY_STOP,
1019 CRIATOM_VOICE_STOP_REASON_CATEGORY_STOPWITHOUTRELEASE,
1020 CRIATOM_VOICE_STOP_REASON_NOTE_OFF,
1021 CRIATOM_VOICE_STOP_REASON_REGISTER_ACF,
1023
1024 CRIATOM_VOICE_STOP_REASON_NONE = 0x7FFFFFFE,
1025
1026 CRIATOM_VOICE_STOP_REASON_ENUM_SIZE_IS_4BYTES = 0x7FFFFFFF
1027 } CriAtomVoiceStopReason;
1028
1038 typedef enum CriAtomAmbisonicsOrderTypeTag {
1039 CRIATOMAMBISONICS_ORDER_TYPE_NONE = 0,
1040 CRIATOMAMBISONICS_ORDER_TYPE_FIRST,
1041 CRIATOMAMBISONICS_ORDER_TYPE_1P = CRIATOMAMBISONICS_ORDER_TYPE_FIRST,
1042 CRIATOMAMBISONICS_ORDER_TYPE_ENUM_SIZE_IS_4BYTES = 0x7FFFFFFF
1043 } CriAtomAmbisonicsOrderType;
1044
1045
1046
1047
1063 typedef struct CriAtomHcaMxConfigTag {
1073 CriFloat32 server_frequency;
1074
1085 CriSint32 num_mixers;
1086
1092 CriSint32 max_players;
1093
1107 CriSint32 max_input_channels;
1108
1117 CriSint32 max_sampling_rate;
1118
1132 CriSint32 output_channels;
1133
1142 CriSint32 output_sampling_rate;
1143
1156 CriAtomSoundRendererType sound_renderer_type;
1157 } CriAtomHcaMxConfig;
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167 struct CriAtomAwbTag;
1176 typedef struct CriAtomAwbTag *CriAtomAwbHn;
1177
1186 typedef enum CriAtomAwbStatusTag {
1187 CRIATOMAWB_STATUS_STOP = 0,
1188 CRIATOMAWB_STATUS_LOADING,
1189 CRIATOMAWB_STATUS_COMPLETE,
1190 CRIATOMAWB_STATUS_ERROR,
1192
1193 CRIATOMAWB_STATUS_ENUM_SIZE_IS_4BYTES = 0x7FFFFFFF
1194 } CriAtomAwbStatus;
1195
1204 typedef enum CriAtomAwbTypeTag {
1205 CRIATOMAWB_TYPE_TOC = 0,
1206 CRIATOMAWB_TYPE_ONMEMORY,
1207 CRIATOMAWB_TYPE_ERROR,
1209
1210 CRIATOMAWB_TYPE_ENUM_SIZE_IS_4BYTES = 0x7FFFFFFF
1211 } CriAtomAwbType;
1212
1213
1214
1215
1233 typedef struct CriAtomStandardPlayerConfigTag {
1276 CriSint32 max_channels;
1277
1294 CriSint32 max_sampling_rate;
1295
1312 CriBool streaming_flag;
1313
1326 CriAtomSoundRendererType sound_renderer_type;
1327
1362 CriSint32 decode_latency;
1363 } CriAtomStandardPlayerConfig;
1364
1381 typedef struct CriAtomAdxPlayerConfigTag {
1424 CriSint32 max_channels;
1425
1442 CriSint32 max_sampling_rate;
1443
1460 CriBool streaming_flag;
1461
1474 CriAtomSoundRendererType sound_renderer_type;
1475
1510 CriSint32 decode_latency;
1511 } CriAtomAdxPlayerConfig;
1512
1529 typedef struct CriAtomHcaPlayerConfigTag {
1537 CriSint32 max_channels;
1538
1555 CriSint32 max_sampling_rate;
1556
1573 CriBool streaming_flag;
1574
1587 CriAtomSoundRendererType sound_renderer_type;
1588
1623 CriSint32 decode_latency;
1624 } CriAtomHcaPlayerConfig;
1625
1642 typedef struct CriAtomHcaMxPlayerConfigTag {
1650 CriSint32 max_channels;
1651
1668 CriSint32 max_sampling_rate;
1669
1686 CriBool streaming_flag;
1687 } CriAtomHcaMxPlayerConfig;
1688
1705 typedef struct CriAtomWavePlayerConfigTag {
1713 CriSint32 max_channels;
1714
1731 CriSint32 max_sampling_rate;
1732
1749 CriBool streaming_flag;
1750
1763 CriAtomSoundRendererType sound_renderer_type;
1764
1799 CriSint32 decode_latency;
1800 } CriAtomWavePlayerConfig;
1801
1818 typedef struct CriAtomAiffPlayerConfigTag {
1826 CriSint32 max_channels;
1827
1844 CriSint32 max_sampling_rate;
1845
1862 CriBool streaming_flag;
1863
1876 CriAtomSoundRendererType sound_renderer_type;
1877
1912 CriSint32 decode_latency;
1913 } CriAtomAiffPlayerConfig;
1914
1931 typedef struct CriAtomRawPcmPlayerConfigTag {
1940 CriAtomPcmFormat pcm_format;
1941
1952 CriSint32 max_channels;
1953
1968 CriSint32 max_sampling_rate;
1969
1982 CriAtomSoundRendererType sound_renderer_type;
1983
2018 CriSint32 decode_latency;
2019 } CriAtomRawPcmPlayerConfig;
2020
2057 typedef enum CriAtomPlayerStatusTag {
2058 CRIATOMPLAYER_STATUS_STOP = 0,
2059 CRIATOMPLAYER_STATUS_PREP = 1,
2060 CRIATOMPLAYER_STATUS_PLAYING = 2,
2061 CRIATOMPLAYER_STATUS_PLAYEND = 3,
2062 CRIATOMPLAYER_STATUS_ERROR = 4,
2064
2065 CRIATOMPLAYER_STATUS_ENUM_SIZE_IS_4BYTES = 0x7FFFFFFF
2066 } CriAtomPlayerStatus;
2067
2068 struct CriAtomPlayerTag;
2086 typedef struct CriAtomPlayerTag *CriAtomPlayerHn;
2087
2125 typedef void (CRIAPI *CriAtomPlayerDataRequestCbFunc)(void *obj, CriAtomPlayerHn player);
2126
2150 typedef void (CRIAPI *CriAtomPlayerStatusChangeCbFunc)(void *obj, CriAtomPlayerHn player);
2151
2171 typedef void (CRIAPI *CriAtomPlayerParameterChangeCbFunc)(void *obj,
2172 CriAtomPlayerHn player, CriAtomParameterId id, CriFloat32 value);
2173
2220 typedef void (CRIAPI *CriAtomPlayerFilterCbFunc)(void *obj, CriAtomPcmFormat format,
2221 CriSint32 num_channels, CriSint32 num_samples, void *data[]);
2222
2244 typedef void (CRIAPI *CriAtomPlayerLoadRequestCbFunc)(void *obj,
2245 CriFsBinderHn binder, const CriChar8 *path, CriSint64 offset, CriSint64 length);
2246
2247
2248
2249
2260 typedef CriSint32 CriAtomDbasId;
2261
2274 typedef struct CriAtomDbasConfigTag {
2281 CriUint32 identifier;
2292 CriSint32 max_streams;
2305 CriSint32 max_bps;
2314 CriSint32 max_mana_streams;
2323 CriSint32 max_mana_bps;
2342 CriSint32 num_securement_buffers;
2343 } CriAtomDbasConfig;
2344
2345
2346
2347
2356 typedef CriUintPtr CriAtomStreamingCacheId;
2357
2372 typedef struct CriAtomStreamingCacheConfigTag {
2378 CriSint32 max_path;
2384 CriSint32 max_files;
2393 CriSint32 cache_size;
2394 } CriAtomStreamingCacheConfig;
2395
2396
2397
2398
2399
2409 typedef struct CriAtomDspPitchShifterConfigTag {
2421 CriSint32 mode;
2422
2430 CriSint32 window_size;
2431
2439 CriSint32 overlap_times;
2440 } CriAtomDspPitchShifterConfig;
2441
2450 typedef enum CriAtomDspPitchShifterParameterIdTag {
2460 CRIATOMDSP_PITCHSHIFTER_PARAM_PITCH = 0,
2461
2474 CRIATOMDSP_PITCHSHIFTER_PARAM_FORMANT = 1,
2475
2487 CRIATOMDSP_PITCHSHIFTER_PARAM_MODE = 2
2488 } CriAtomDspPitchShifterParameterId;
2489
2499 typedef struct CriAtomDspTimeStretchConfigTag {
2500 CriSint32 reserved;
2501 } CriAtomDspTimeStretchConfig;
2502
2511 typedef enum CriAtomDspTimeStretchParameterIdTag {
2522 CRIATOMDSP_TIMESTRETCH_PARAM_RATIO = 0,
2523
2533 CRIATOMDSP_TIMESTRETCH_PARAM_FRAME_TIME = 1,
2534
2545 CRIATOMDSP_TIMESTRETCH_PARAM_QUALITY = 2
2546 } CriAtomDspTimeStretchParameterId;
2547
2556 typedef struct CriAtomDspSpectraConfigTag {
2564 CriUint32 num_bands;
2565 } CriAtomDspSpectraConfig;
2566
2567
2568 struct CriAtomDspSpectraObj;
2569 typedef struct CriAtomDspSpectraObj *CriAtomDspSpectraHn;
2570
2571
2572
2573
2574
2591 typedef struct {
2597 CriSint32 interval;
2598
2604 CriSint32 hold_time;
2605 } CriAtomLevelMeterConfig;
2606
2617 typedef struct CriAtomLevelInfoTag {
2623 CriSint32 num_channels;
2624
2631 CriFloat32 rms_levels[8];
2632
2638 CriFloat32 peak_levels[8];
2639
2645 CriFloat32 peak_hold_levels[8];
2646 } CriAtomLevelInfo;
2647
2663 typedef struct {
2670 CriSint32 short_term_time;
2671
2678 CriSint32 integrated_time;
2679 } CriAtomLoudnessMeterConfig;
2680
2691 typedef struct CriAtomLoudnessInfoTag {
2698 CriSint32 count;
2704 CriFloat32 momentary;
2710 CriFloat32 short_term;
2716 CriFloat32 integrated;
2717 } CriAtomLoudnessInfo;
2718
2734 typedef struct {
2741 CriBool sample_clipping;
2742
2748 CriSint32 interval;
2749
2755 CriSint32 hold_time;
2756 } CriAtomTruePeakMeterConfig;
2757
2768 typedef struct CriAtomTruePeakInfoTag {
2774 CriSint32 num_channels;
2775
2781 CriFloat32 levels[8];
2782
2788 CriFloat32 hold_levels[8];
2789 } CriAtomTruePeakInfo;
2790
2791
2792
2793
2794
2795
2796
2797
2798
2799
2800 #ifdef __cplusplus
2801 extern "C" {
2802 #endif
2803
2804
2805
2806
2826 CriUint32 CRIAPI criAtom_GetVersionNumber(void);
2827
2853 CriSint32 CRIAPI criAtom_CalculateWorkSize(const CriAtomConfig *config);
2854
3009 void CRIAPI criAtom_Initialize(const CriAtomConfig *config, void *work, CriSint32 work_size);
3010
3020 void CRIAPI criAtom_Finalize(void);
3021
3032 CriBool CRIAPI criAtom_IsInitialized(void);
3033
3065 CriBool CRIAPI criAtom_IsAudioOutputActive(void);
3066
3097 void CRIAPI criAtom_ExecuteMain(void);
3098
3120 void CRIAPI criAtom_ExecuteAudioProcess(void);
3121
3169 void CRIAPI criAtom_SetUserMallocFunction(CriAtomMallocFunc func, void *obj);
3170
3216 void CRIAPI criAtom_SetUserFreeFunction(CriAtomFreeFunc func, void *obj);
3217
3244 void CRIAPI criAtom_SetAudioFrameStartCallback(
3245 CriAtomAudioFrameStartCbFunc func, void *obj);
3246
3273 void CRIAPI criAtom_SetAudioFrameEndCallback(
3274 CriAtomAudioFrameEndCbFunc func, void *obj);
3275
3309 void CRIAPI criAtom_Lock(void);
3310
3318 void CRIAPI criAtom_Unlock(void);
3319
3342 void CRIAPI criAtom_SetChannelMapping(CriSint32 nch, CriUint32 type);
3343
3384 void CRIAPI criAtom_AttachPerformanceMonitor(void);
3385
3397 void CRIAPI criAtom_DetachPerformanceMonitor(void);
3398
3409 void CRIAPI criAtom_ResetPerformanceMonitor(void);
3410
3420 void CRIAPI criAtom_GetPerformanceInfo(CriAtomPerformanceInfo *info);
3421
3433 CriSint32 CRIAPI criAtom_CalculateAdxBitrate(
3434 CriSint32 num_channels, CriSint32 sampling_rate);
3435
3450 CriSint32 CRIAPI criAtom_CalculateHcaBitrate(
3451 CriSint32 num_channels, CriSint32 sampling_rate, CriAtomEncodeQuality quality);
3452
3467 CriSint32 CRIAPI criAtom_CalculateHcaMxBitrate(
3468 CriSint32 num_channels, CriSint32 sampling_rate, CriAtomEncodeQuality quality);
3469
3488 CriBool CRIAPI criAtom_GetStreamingInfo(CriAtomStreamingInfo* streaming_info);
3489
3513 CriBool CRIAPI criAtom_SetFreeTimeBufferingFlagForDefaultDevice(CriBool flag);
3514
3515
3516
3517
3518
3547 CriSint32 CRIAPI criAtomHcaMx_CalculateWorkSize(const CriAtomHcaMxConfig *config);
3548
3596 void CRIAPI criAtomHcaMx_SetConfigForWorkSizeCalculation(const CriAtomHcaMxConfig *config);
3597
3629 void CRIAPI criAtomHcaMx_Initialize(
3630 const CriAtomHcaMxConfig *config, void *work, CriSint32 work_size);
3631
3649 void CRIAPI criAtomHcaMx_Finalize(void);
3650
3664 void CRIAPI criAtomHcaMx_SetBusSendLevelByName(
3665 CriSint32 mixer_id, const CriChar8* bus_name, CriFloat32 level);
3666
3680 void CRIAPI criAtomHcaMx_SetFrequencyRatio(CriSint32 mixer_id, CriFloat32 ratio);
3681
3682
3683
3684
3685
3686
3687
3688
3689
3690
3707 CriSint32 CRIAPI criAtomAwb_CalculateWorkSizeForLoadToc(CriSint32 num);
3708
3737 CriAtomAwbHn CRIAPI criAtomAwb_LoadToc(
3738 CriFsBinderHn binder, const CriChar8 *path, void *work, CriSint32 work_size);
3739
3754 CriAtomAwbHn CRIAPI criAtomAwb_LoadTocById(
3755 CriFsBinderHn binder, CriUint16 id, void *work, CriSint32 work_size);
3756
3791 CriAtomAwbHn CRIAPI criAtomAwb_LoadTocAsync(
3792 CriFsBinderHn binder, const CriChar8 *path, void *work, CriSint32 work_size);
3793
3808 CriAtomAwbHn CRIAPI criAtomAwb_LoadTocAsyncById(
3809 CriFsBinderHn binder, CriUint16 id, void *work, CriSint32 work_size);
3810
3845 CriAtomAwbHn CRIAPI criAtomAwb_LoadFromMemory(
3846 void *awb_mem, CriSint32 awb_mem_size, void *work, CriSint32 work_size);
3847
3858 CriAtomAwbType CRIAPI criAtomAwb_GetType(CriAtomAwbHn awb);
3859
3877 CriBool CRIAPI criAtomAwb_GetWaveFileInfo(
3878 CriAtomAwbHn awb, CriSint32 id, CriSint64 *offset, CriUint32 *size);
3879
3899 void CRIAPI criAtomAwb_GetWaveDataInfo(CriAtomAwbHn awb, CriSint32 id, void **wave_data_start, CriUint32 *size);
3900
3912 CriUint16 CRIAPI criAtomAwb_GetNumContents(CriAtomAwbHn awb);
3913
3936 void CRIAPI criAtomAwb_Release(CriAtomAwbHn awb);
3937
3958 CriBool CRIAPI criAtomAwb_IsReadyToRelease(CriAtomAwbHn awb);
3959
3971 CriAtomAwbStatus CRIAPI criAtomAwb_GetStatus(CriAtomAwbHn awb);
3972
3973
3974
3975
4006 CriSint32 CRIAPI criAtomPlayer_CalculateWorkSizeForStandardPlayer(
4007 const CriAtomStandardPlayerConfig *config);
4008
4190 CriAtomPlayerHn CRIAPI criAtomPlayer_CreateStandardPlayer(
4191 const CriAtomStandardPlayerConfig *config, void *work, CriSint32 work_size);
4192
4222 CriSint32 CRIAPI criAtomPlayer_CalculateWorkSizeForAdxPlayer(
4223 const CriAtomAdxPlayerConfig *config);
4224
4406 CriAtomPlayerHn CRIAPI criAtomPlayer_CreateAdxPlayer(
4407 const CriAtomAdxPlayerConfig *config, void *work, CriSint32 work_size);
4408
4438 CriSint32 CRIAPI criAtomPlayer_CalculateWorkSizeForHcaPlayer(
4439 const CriAtomHcaPlayerConfig *config);
4440
4499 CriAtomPlayerHn CRIAPI criAtomPlayer_CreateHcaPlayer(
4500 const CriAtomHcaPlayerConfig *config, void *work, CriSint32 work_size);
4501
4531 CriSint32 CRIAPI criAtomPlayer_CalculateWorkSizeForHcaMxPlayer(
4532 const CriAtomHcaMxPlayerConfig *config);
4533
4592 CriAtomPlayerHn CRIAPI criAtomPlayer_CreateHcaMxPlayer(
4593 const CriAtomHcaMxPlayerConfig *config, void *work, CriSint32 work_size);
4594
4624 CriSint32 CRIAPI criAtomPlayer_CalculateWorkSizeForWavePlayer(
4625 const CriAtomWavePlayerConfig *config);
4626
4691 CriAtomPlayerHn CRIAPI criAtomPlayer_CreateWavePlayer(
4692 const CriAtomWavePlayerConfig *config, void *work, CriSint32 work_size);
4693
4723 CriSint32 CRIAPI criAtomPlayer_CalculateWorkSizeForAiffPlayer(
4724 const CriAtomAiffPlayerConfig *config);
4725
4790 CriAtomPlayerHn CRIAPI criAtomPlayer_CreateAiffPlayer(
4791 const CriAtomAiffPlayerConfig *config, void *work, CriSint32 work_size);
4792
4822 CriSint32 CRIAPI criAtomPlayer_CalculateWorkSizeForRawPcmPlayer(
4823 const CriAtomRawPcmPlayerConfig *config);
4824
4883 CriAtomPlayerHn CRIAPI criAtomPlayer_CreateRawPcmPlayer(
4884 const CriAtomRawPcmPlayerConfig *config, void *work, CriSint32 work_size);
4885
4904 void CRIAPI criAtomPlayer_Destroy(CriAtomPlayerHn player);
4905
4974 void CRIAPI criAtomPlayer_SetData(
4975 CriAtomPlayerHn player, void *buffer, CriSint32 buffer_size);
4976
5078 void CRIAPI criAtomPlayer_SetFile(
5079 CriAtomPlayerHn player, CriFsBinderHn binder, const CriChar8 *path);
5080
5175 void CRIAPI criAtomPlayer_SetContentId(
5176 CriAtomPlayerHn player, CriFsBinderHn binder, CriSint32 id);
5177
5255 void CRIAPI criAtomPlayer_SetWaveId(
5256 CriAtomPlayerHn player, CriAtomAwbHn awb, CriSint32 id);
5257
5293 void CRIAPI criAtomPlayer_SetPreviousDataAgain(CriAtomPlayerHn player);
5294
5320 void CRIAPI criAtomPlayer_DeferCallback(CriAtomPlayerHn player);
5321
5470 void CRIAPI criAtomPlayer_Start(CriAtomPlayerHn player);
5471
5527 void CRIAPI criAtomPlayer_Stop(CriAtomPlayerHn player);
5528
5618 void CRIAPI criAtomPlayer_Pause(CriAtomPlayerHn player, CriBool flag);
5619
5639 CriBool CRIAPI criAtomPlayer_IsPaused(CriAtomPlayerHn player);
5640
5723 CriAtomPlayerStatus CRIAPI criAtomPlayer_GetStatus(CriAtomPlayerHn player);
5724
5739 CriSint32 CRIAPI criAtomPlayer_GetNumChannels(CriAtomPlayerHn player);
5740
5774 CriBool CRIAPI criAtomPlayer_GetNumPlayedSamples(
5775 CriAtomPlayerHn player, CriSint64 *num_played, CriSint32 *sampling_rate);
5776
5796 CriSint64 CRIAPI criAtomPlayer_GetDecodedDataSize(CriAtomPlayerHn player);
5797
5817 CriSint64 CRIAPI criAtomPlayer_GetNumDecodedSamples(CriAtomPlayerHn player);
5818
5851 CriSint64 CRIAPI criAtomPlayer_GetTime(CriAtomPlayerHn player);
5852
5869 CriBool CRIAPI criAtomPlayer_GetFormatInfo(
5870 CriAtomPlayerHn player, CriAtomFormatInfo *info);
5871
5888 CriSint32 CRIAPI criAtomPlayer_GetInputBufferRemainSize(CriAtomPlayerHn player);
5889
5911 CriSint32 CRIAPI criAtomPlayer_GetOutputBufferRemainSamples(CriAtomPlayerHn player);
5912
5946 void CRIAPI criAtomPlayer_SetStartTime(CriAtomPlayerHn player, CriSint64 start_time_ms);
5947
6000 void CRIAPI criAtomPlayer_SetVolume(CriAtomPlayerHn player, CriFloat32 vol);
6001
6012 CriFloat32 CRIAPI criAtomPlayer_GetVolume(CriAtomPlayerHn player);
6013
6056 void CRIAPI criAtomPlayer_SetChannelVolume(
6057 CriAtomPlayerHn player, CriSint32 ch, CriFloat32 vol);
6058
6179 void CRIAPI criAtomPlayer_SetSendLevel(
6180 CriAtomPlayerHn player, CriSint32 ch, CriAtomSpeakerId spk, CriFloat32 level);
6181
6201 void CRIAPI criAtomPlayer_ResetSendLevel(CriAtomPlayerHn player);
6202
6270 void CRIAPI criAtomPlayer_SetPanAdx1Compatible(
6271 CriAtomPlayerHn player, CriSint32 ch, CriFloat32 pan);
6272
6292 void CRIAPI criAtomPlayer_ResetPan(CriAtomPlayerHn player);
6293
6354 void CRIAPI criAtomPlayer_SetFrequencyRatio(CriAtomPlayerHn player, CriFloat32 ratio);
6355
6381 void CRIAPI criAtomPlayer_SetMaxFrequencyRatio(CriAtomPlayerHn player, CriFloat32 ratio);
6382
6424 void CRIAPI criAtomPlayer_LimitLoopCount(CriAtomPlayerHn player, CriSint32 count);
6425
6441 void CRIAPI criAtomPlayer_SetHcaMxMixerId(CriAtomPlayerHn player, CriSint32 mixer_id);
6442
6453 void CRIAPI criAtomPlayer_SetAsrRackId(CriAtomPlayerHn player, CriSint32 rack_id);
6454
6472 void CRIAPI criAtomPlayer_SetRawPcmFormat(CriAtomPlayerHn player,
6473 CriAtomPcmFormat pcm_format, CriSint32 num_channels, CriSint32 sampling_rate);
6474
6592 void CRIAPI criAtomPlayer_SetDataRequestCallback(
6593 CriAtomPlayerHn player, CriAtomPlayerDataRequestCbFunc func, void *obj);
6594
6663 void CRIAPI criAtomPlayer_SetStatusChangeCallback(
6664 CriAtomPlayerHn player, CriAtomPlayerStatusChangeCbFunc func, void *obj);
6665
6689 void CRIAPI criAtomPlayer_SetParameterChangeCallback(
6690 CriAtomPlayerHn player, CriAtomPlayerParameterChangeCbFunc func, void *obj);
6691
6715 void CRIAPI criAtomPlayer_SetFilterCallback(
6716 CriAtomPlayerHn player, CriAtomPlayerFilterCbFunc func, void *obj);
6717
6744 void CRIAPI criAtomPlayer_SetLoadRequestCallback(
6745 CriAtomPlayerHn player, CriAtomPlayerLoadRequestCbFunc func, void *obj);
6746
6747
6748
6749
6750
6762 void CRIAPI criAtomPlayer_SetHcaFormat(CriAtomPlayerHn player,
6763 CriSint32 num_channels, CriSint32 sampling_rate, CriSint32 bitrate);
6764
6765
6766
6767
6788 CriSint32 CRIAPI criAtomDbas_CalculateWorkSize(const CriAtomDbasConfig *config);
6789
6808 CriAtomDbasId CRIAPI criAtomDbas_Create(
6809 const CriAtomDbasConfig *config, void *work, CriSint32 work_size);
6810
6819 void CRIAPI criAtomDbas_Destroy(CriAtomDbasId atom_dbas_id);
6820
6847 CriSint32 CRIAPI criAtomDbas_GetStreamingPlayerHandles(
6848 CriAtomDbasId dbas_id, CriAtomPlayerHn *players, CriSint32 length);
6849
6850
6851
6852
6865 CriSint32 CRIAPI criAtomStreamingCache_CalculateWorkSize(
6866 const CriAtomStreamingCacheConfig* config);
6867
6890 CriAtomStreamingCacheId CRIAPI criAtomStreamingCache_Create(
6891 const CriAtomStreamingCacheConfig* config, void* work, CriSint32 work_size);
6892
6904 void CRIAPI criAtomStreamingCache_Destroy(CriAtomStreamingCacheId stm_cache_id);
6905
6920 void CRIAPI criAtomStreamingCache_Clear(CriAtomStreamingCacheId cache_id);
6921
6937 CriBool CRIAPI criAtomStreamingCache_IsCachedWaveId(
6938 CriAtomStreamingCacheId stm_cache_id, CriAtomAwbHn awb, CriSint32 id);
6939
6953 CriBool CRIAPI criAtomStreamingCache_IsCachedFile(
6954 CriAtomStreamingCacheId stm_cache_id, CriFsBinderHn src_binder, const CriChar8 *path);
6955
6956
6957
6958
6967 CriFloat32 criAtomDsp_ConvertParameterFromCent(CriFloat32 cent);
6968
6982 CriSint32 criAtomDspSpectra_CalculateWorkSize(const CriAtomDspSpectraConfig *config);
6983
7021 CriAtomDspSpectraHn criAtomDspSpectra_Create(
7022 const CriAtomDspSpectraConfig *config, void *work, CriSint32 work_size);
7023
7039 void criAtomDspSpectra_Destroy(CriAtomDspSpectraHn spectra);
7040
7053 void criAtomDspSpectra_Reset(CriAtomDspSpectraHn spectra);
7054
7070 void criAtomDspSpectra_Process(CriAtomDspSpectraHn spectra,
7071 CriUint32 num_channels, CriUint32 num_samples, CriFloat32 *pcm[]);
7072
7094 const CriFloat32* criAtomDspSpectra_GetLevels(CriAtomDspSpectraHn spectra);
7095
7096
7097
7098
7099
7110 CriSint32 CRIAPI criAtomMeter_CalculateWorkSizeForLevelMeter(
7111 const CriAtomLevelMeterConfig *config);
7112
7126 void CRIAPI criAtomMeter_AttachLevelMeter(
7127 const CriAtomLevelMeterConfig *config, void *work, CriSint32 work_size);
7128
7136 void CRIAPI criAtomMeter_DetachLevelMeter(void);
7137
7148 void CRIAPI criAtomMeter_GetLevelInfo(CriAtomLevelInfo *info);
7149
7160 CriSint32 CRIAPI criAtomMeter_CalculateWorkSizeForLoudnessMeter(const CriAtomLoudnessMeterConfig *config);
7161
7175 void CRIAPI criAtomMeter_AttachLoudnessMeter(const CriAtomLoudnessMeterConfig *config, void *work, CriSint32 work_size);
7176
7184 void CRIAPI criAtomMeter_DetachLoudnessMeter(void);
7185
7195 void CRIAPI criAtomMeter_GetLoudnessInfo(CriAtomLoudnessInfo *info);
7196
7205 void CRIAPI criAtomMeter_ResetLoudnessMeter(void);
7206
7217 CriSint32 CRIAPI criAtomMeter_CalculateWorkSizeForTruePeakMeter(const CriAtomTruePeakMeterConfig *config);
7218
7232 void CRIAPI criAtomMeter_AttachTruePeakMeter(const CriAtomTruePeakMeterConfig *config, void *work, CriSint32 work_size);
7233
7241 void CRIAPI criAtomMeter_DetachTruePeakMeter(void);
7242
7252 void CRIAPI criAtomMeter_GetTruePeakInfo(CriAtomTruePeakInfo *info);
7253
7254
7255
7256
7257
7258
7259
7260
7261
7262 typedef void (CRIAPI *CriAtomPlayerDataEndCbFunc)(void *obj, void *buffer, CriSint32 size);
7263 typedef void (CRIAPI *CriAtomPlayerCbFunc)(void *obj, CriAtomPlayerHn player);
7264 typedef void (CRIAPI *CriAtomPlayerDecodeCbFunc)(void *obj, CriAtomPcmFormat format,
7265 CriSint32 num_channels, CriSint32 num_samples, void *data[]);
7266 void CRIAPI criAtomPlayer_SetDecodeCallback(
7267 CriAtomPlayerHn player, CriAtomPlayerDecodeCbFunc func, void *obj);
7268 void CRIAPI criAtomPlayer_DiscardSamples(CriAtomPlayerHn player, CriSint32 num_discard);
7269 typedef CriSint32 CriAtomWaveType;
7270
7271 #ifdef __cplusplus
7272 }
7273 #endif
7274
7275
7276
7277
7278
7279
7280
7281 #define criAtomHcaMx_SetBusSendLevel(mixer_id, bus_no, level) \
7282 criAtomExHcaMx_SetBusSendLevel(mixer_id, bus_no, level)
7283
7284 #endif
7285
7286 -stdin