📄 ixjdefs.h
字号:
#define PLAYBACK_FRAME_ALAW (PLAYBACK_ALAW_WORDS*2)#define PLAYBACK_FRAME_ALAW_30MS (PLAYBACK_ALAW_30MS_WORDS*2)#define PLAYBACK_FRAME_ALAW_20MS (PLAYBACK_ALAW_20MS_WORDS*2)#define PLAYBACK_FRAME_ALAW_10MS (PLAYBACK_ALAW_10MS_WORDS*2)#define PLAYBACK_FRAME_ULAW (PLAYBACK_ULAW_WORDS*2)#define PLAYBACK_FRAME_ULAW_30MS (PLAYBACK_ULAW_30MS_WORDS*2)#define PLAYBACK_FRAME_ULAW_20MS (PLAYBACK_ULAW_20MS_WORDS*2)#define PLAYBACK_FRAME_ULAW_10MS (PLAYBACK_ULAW_10MS_WORDS*2)#define PLAYBACK_FRAME_16LINEAR (PLAYBACK_16LINEAR_WORDS*2)#define PLAYBACK_FRAME_16LINEAR_30MS (PLAYBACK_16LINEAR_30MS_WORDS*2)#define PLAYBACK_FRAME_16LINEAR_20MS (PLAYBACK_16LINEAR_20MS_WORDS*2)#define PLAYBACK_FRAME_16LINEAR_10MS (PLAYBACK_16LINEAR_10MS_WORDS*2)#define PLAYBACK_FRAME_8LINEAR (PLAYBACK_8LINEAR_WORDS*2)#define PLAYBACK_FRAME_8LINEAR_30MS (PLAYBACK_8LINEAR_30MS_WORDS*2)#define PLAYBACK_FRAME_8LINEAR_20MS (PLAYBACK_8LINEAR_20MS_WORDS*2)#define PLAYBACK_FRAME_8LINEAR_10MS (PLAYBACK_8LINEAR_10MS_WORDS*2)#define PLAYBACK_FRAME_8LINEAR_WSS (PLAYBACK_8LINEAR_WSS_WORDS*2)#define PLAYBACK_FRAME_8LINEAR_WSS_30MS (PLAYBACK_8LINEAR_WSS_30MS_WORDS*2)#define PLAYBACK_FRAME_8LINEAR_WSS_20MS (PLAYBACK_8LINEAR_WSS_20MS_WORDS*2)#define PLAYBACK_FRAME_8LINEAR_WSS_10MS (PLAYBACK_8LINEAR_WSS_10MS_WORDS*2)#define PLAYBACK_FRAME_G722 (PLAYBACK_G722_WORDS*2)#define PLAYBACK_FRAME_G723_63 (PLAYBACK_G723_63_WORDS*2)#define PLAYBACK_FRAME_G723_53 (PLAYBACK_G723_53_WORDS*2)#define PLAYBACK_FRAME_G728_10MS (PLAYBACK_G728_10MS_WORDS*2)#define PLAYBACK_FRAME_G728_20MS (PLAYBACK_G728_20MS_WORDS*2)#define PLAYBACK_FRAME_G728_30MS (PLAYBACK_G728_30MS_WORDS*2)#define PLAYBACK_FRAME_G729_10MS (PLAYBACK_G729_10MS_WORDS*2)#define PLAYBACK_FRAME_G729_20MS (PLAYBACK_G729_20MS_WORDS*2)#define PLAYBACK_FRAME_G729_30MS (PLAYBACK_G729_30MS_WORDS*2)#define PLAYBACK_MAX_BUFFER_WORDS PLAYBACK_16LINEAR_WORDS // Max buffer size: Tx or Rx.#define PLAYBACK_MAX_BUFFER_SIZE PLAYBACK_FRAME_16LINEAR // Max buffer size: Tx or Rx.#define PLAYBACK_TS85_AVG_RATE 1067 // TrueSpeech 8.5 Average bytes per second.#define PLAYBACK_TS63_AVG_RATE 800 // TrueSpeech 6.3 Average bytes per second.#define PLAYBACK_TS53_AVG_RATE 667 // TrueSpeech 5.3 Average bytes per second.#define PLAYBACK_TS48_AVG_RATE 600 // TrueSpeech 4.8 Average bytes per second.#define PLAYBACK_TS41_AVG_RATE 533 // TrueSpeech 4.1 Average bytes per second.//==========================================================================//--------------------------------------------------------------------------// Record support//--------------------------------------------------------------------------//// Additional bit patterns to 'Or' into Command Base 'words'#define RECORD_TFRMODE_80X5 0 // Selects Data transfer via Software Control and Status Registers (CT8015/CT8005 protocol mode).#define RECORD_TFRMODE_8020 3 // Selects Data transfer via Host Transmit Data Buffer Access Port.#define RECORD_SYNC_MODE_CODEC 0#define RECORD_SYNC_MODE_DATA 1#define RECORD_SYNC_MODE_POLL 2#define RECORD_SYNC_MODE_HOST 3// Automatic Gain Control (AGC)#define RECORD_AGC_MIN_GAIN 0 // Sets AGC Min Gain#define RECORD_AGC_MAX_GAIN 1 // Sets AGC Max Gain#define RECORD_AGC_START_GAIN 2 // Sets AGC Start Gain#define RECORD_AGC_HOLD_TIME 3 // Sets AGC Hold Time#define RECORD_AGC_ATTACK_TIME 4 // Sets AGC Attack Time Constant#define RECORD_AGC_DECAY_TIME 5 // Sets AGC Decay Time Constant#define RECORD_AGC_ATTACK_THRES 6 // Sets AGC Attack Threshold#define RECORD_AGC_ON_OFF 7 // Sets AGC On/Off. Enable/Disable AGC.// AGC Time Contants#define RECORD_AGC_250_us 0#define RECORD_AGC_512_us 1#define RECORD_AGC_1_ms 2#define RECORD_AGC_2_ms 3#define RECORD_AGC_4_ms 4#define RECORD_AGC_8_ms 5#define RECORD_AGC_16_ms 6#define RECORD_AGC_32_ms 7#define RECORD_AGC_64_ms 8#define RECORD_AGC_128_ms 9#define RECORD_AGC_256_ms 10#define RECORD_AGC_512_ms 11#define RECORD_AGC_1024_ms 12#define RECORD_AGC_2048_ms 13#define RECORD_AGC_4096_ms 14#define RECORD_AGC_8192_ms 15// Record modes#define RECORD_MODE_COMPRESSED 0 // Selects: Compressed modes, TrueSpeech 8.5-4.1, G.723.1, G.722, G.728, G.729#define RECORD_MODE_TRUESPEECH 0 // Selects: TrueSpeech 8.5, 6.3, 5.3, 4.8 or 4.1 Kbps#define RECORD_MODE_ULAW 4 // Selects: 64 Kbit/sec Mu-law PCM#define RECORD_MODE_ALAW 12 // Selects: 64 Kbit/sec A-law PCM#define RECORD_MODE_16LINEAR 5 // Selects: 128 Kbit/sec 16-bit linear#define RECORD_MODE_8LINEAR 6 // Selects: 64 Kbit/sec 8-bit signed linear#define RECORD_MODE_8LINEAR_WSS 7 // Selects: 64 Kbit/sec WSS 8-bit unsigned linear// Record rates#define RECORD_RATE_TS85 0 // Selects TrueSpeech 8.5 record rate.#define RECORD_RATE_TS63 1 // Selects TrueSpeech 6.3 record rate.#define RECORD_RATE_TS53 2 // Selects TrueSpeech 5.3 record rate.#define RECORD_RATE_TS48 3 // Selects TrueSpeech 4.8 record rate.#define RECORD_RATE_TS41 4 // Selects TrueSpeech 4.1 record rate.#define RECORD_RATE_G722 7 // Selects G.722 record rate.#define RECORD_RATE_G723_63 RECORD_RATE_TS63 // Selects G.723.1 (6.3 kbps) record rate.#define RECORD_RATE_G723_53 RECORD_RATE_TS53 // Selects G.723.1 (5.3 kbps) record rate.#define RECORD_RATE_G728 5 // Selects G.728 record rate.#define RECORD_RATE_G729 6 // Selects G.729 record rate.// Frame sizes in WORD units#define RECORD_TS85_WORDS 16 // TrueSpeech 8.5, 30ms frame size#define RECORD_TS63_WORDS 12 // TrueSpeech 6.3, 30ms frame size#define RECORD_TS53_WORDS 10 // TrueSpeech 5.3, 30ms frame size#define RECORD_TS48_WORDS 9 // TrueSpeech 4.8, 30ms frame size#define RECORD_TS41_WORDS 8 // TrueSpeech 4.1, 30ms frame size#define RECORD_ALAW_WORDS 120 // 64 Kbit/sec A-law PCM, 30ms frame size#define RECORD_ALAW_30MS_WORDS 120 // 64 Kbit/sec A-law PCM, 30ms frame size#define RECORD_ALAW_20MS_WORDS 80 // 64 Kbit/sec A-law PCM, 20ms frame size#define RECORD_ALAW_10MS_WORDS 40 // 64 Kbit/sec A-law PCM, 10ms frame size#define RECORD_ULAW_WORDS 120 // 64 Kbit/sec Mu-law PCM, 30ms frame size#define RECORD_ULAW_30MS_WORDS 120 // 64 Kbit/sec Mu-law PCM, 30ms frame size#define RECORD_ULAW_20MS_WORDS 80 // 64 Kbit/sec Mu-law PCM, 20ms frame size#define RECORD_ULAW_10MS_WORDS 40 // 64 Kbit/sec Mu-law PCM, 10ms frame size#define RECORD_16LINEAR_WORDS 240 // 128 Kbit/sec 16-bit linear, 30ms frame size#define RECORD_16LINEAR_30MS_WORDS 240 // 128 Kbit/sec 16-bit linear, 30ms frame size#define RECORD_16LINEAR_20MS_WORDS 160 // 128 Kbit/sec 16-bit linear, 20ms frame size#define RECORD_16LINEAR_10MS_WORDS 80 // 128 Kbit/sec 16-bit linear, 10ms frame size#define RECORD_8LINEAR_WORDS 120 // 64 Kbit/sec 8-bit signed linear, 30ms frame size#define RECORD_8LINEAR_30MS_WORDS 120 // 64 Kbit/sec 8-bit signed linear, 30ms frame size#define RECORD_8LINEAR_20MS_WORDS 80 // 64 Kbit/sec 8-bit signed linear, 20ms frame size#define RECORD_8LINEAR_10MS_WORDS 40 // 64 Kbit/sec 8-bit signed linear, 10ms frame size#define RECORD_8LINEAR_WSS_WORDS 120 // 64 Kbit/sec WSS 8-bit unsigned linear, 30ms frame size#define RECORD_8LINEAR_WSS_30MS_WORDS 120 // 64 Kbit/sec WSS 8-bit unsigned linear, 30ms frame size#define RECORD_8LINEAR_WSS_20MS_WORDS 80 // 64 Kbit/sec WSS 8-bit unsigned linear, 20ms frame size#define RECORD_8LINEAR_WSS_10MS_WORDS 40 // 64 Kbit/sec WSS 8-bit unsigned linear, 10ms frame size#define RECORD_G722_WORDS 40 // 64 Kbit/sec G.722, 10ms frame size#define RECORD_G723_63_WORDS RECORD_TS63_WORDS // 6.3 Kbit/sec G.723.1, 30ms frame size#define RECORD_G723_53_WORDS RECORD_TS53_WORDS // 5.3 Kbit/sec G.723.1, 30ms frame size#define RECORD_G728_10MS_WORDS 16 // 16 Kbit/sec G.728, 10ms frame size#define RECORD_G728_20MS_WORDS 32 // 16 Kbit/sec G.728, 20ms frame size#define RECORD_G728_30MS_WORDS 48 // 16 Kbit/sec G.728, 30ms frame size#define RECORD_G729_10MS_WORDS 6 // 8 Kbit/sec G.729, 10ms frame size#define RECORD_G729_20MS_WORDS 12 // 8 Kbit/sec G.729, 20ms frame size#define RECORD_G729_30MS_WORDS 18 // 8 Kbit/sec G.729, 30ms frame size// Frame sizes in bytes#define RECORD_FRAME_TS85 (RECORD_TS85_WORDS*2)#define RECORD_FRAME_TS63 (RECORD_TS63_WORDS*2)#define RECORD_FRAME_TS53 (RECORD_TS53_WORDS*2)#define RECORD_FRAME_TS48 (RECORD_TS48_WORDS*2)#define RECORD_FRAME_TS41 (RECORD_TS41_WORDS*2)#define RECORD_FRAME_ALAW (RECORD_ALAW_WORDS*2)#define RECORD_FRAME_ALAW_30MS (RECORD_ALAW_30MS_WORDS*2)#define RECORD_FRAME_ALAW_20MS (RECORD_ALAW_20MS_WORDS*2)#define RECORD_FRAME_ALAW_10MS (RECORD_ALAW_10MS_WORDS*2)#define RECORD_FRAME_ULAW (RECORD_ULAW_WORDS*2)#define RECORD_FRAME_ULAW_30MS (RECORD_ULAW_30MS_WORDS*2)#define RECORD_FRAME_ULAW_20MS (RECORD_ULAW_20MS_WORDS*2)#define RECORD_FRAME_ULAW_10MS (RECORD_ULAW_10MS_WORDS*2)#define RECORD_FRAME_16LINEAR (RECORD_16LINEAR_WORDS*2)#define RECORD_FRAME_16LINEAR_30MS (RECORD_16LINEAR_30MS_WORDS*2)#define RECORD_FRAME_16LINEAR_20MS (RECORD_16LINEAR_20MS_WORDS*2)#define RECORD_FRAME_16LINEAR_10MS (RECORD_16LINEAR_10MS_WORDS*2)#define RECORD_FRAME_8LINEAR (RECORD_8LINEAR_WORDS*2)#define RECORD_FRAME_8LINEAR_30MS (RECORD_8LINEAR_30MS_WORDS*2)#define RECORD_FRAME_8LINEAR_20MS (RECORD_8LINEAR_20MS_WORDS*2)#define RECORD_FRAME_8LINEAR_10MS (RECORD_8LINEAR_10MS_WORDS*2)#define RECORD_FRAME_8LINEAR_WSS (RECORD_8LINEAR_WSS_WORDS*2)#define RECORD_FRAME_8LINEAR_WSS_30MS (RECORD_8LINEAR_WSS_30MS_WORDS*2)#define RECORD_FRAME_8LINEAR_WSS_20MS (RECORD_8LINEAR_WSS_20MS_WORDS*2)#define RECORD_FRAME_8LINEAR_WSS_10MS (RECORD_8LINEAR_WSS_10MS_WORDS*2)#define RECORD_FRAME_G722 (RECORD_G722_WORDS*2)#define RECORD_FRAME_G723_63 (RECORD_G723_63_WORDS*2)#define RECORD_FRAME_G723_53 (RECORD_G723_53_WORDS*2)#define RECORD_FRAME_G728_10MS (RECORD_G728_10MS_WORDS*2)#define RECORD_FRAME_G728_20MS (RECORD_G728_20MS_WORDS*2)#define RECORD_FRAME_G728_30MS (RECORD_G728_30MS_WORDS*2)#define RECORD_FRAME_G729_10MS (RECORD_G729_10MS_WORDS*2)#define RECORD_FRAME_G729_20MS (RECORD_G729_20MS_WORDS*2)#define RECORD_FRAME_G729_30MS (RECORD_G729_30MS_WORDS*2)#define RECORD_MAX_BUFFER_WORDS RECORD_16LINEAR_WORDS // Max buffer size: Tx or Rx.#define RECORD_MAX_BUFFER_SIZE RECORD_FRAME_16LINEAR // Max buffer size: Tx or Rx.#define RECORD_TS85_AVG_RATE 1067 // TrueSpeech 8.5 Average bytes per second.#define RECORD_TS63_AVG_RATE 800 // TrueSpeech 6.3 Average bytes per second.#define RECORD_TS53_AVG_RATE 667 // TrueSpeech 5.3 Average bytes per second.#define RECORD_TS48_AVG_RATE 600 // TrueSpeech 4.8 Average bytes per second.#define RECORD_TS41_AVG_RATE 533 // TrueSpeech 4.1 Average bytes per second.//==========================================================================//--------------------------------------------------------------------------// Speakerphone support//--------------------------------------------------------------------------//// Additional bit patterns to 'Or' into Command Base 'words'#define SPKRPHONE_LINE_VOLUME_POS_8DB 0 // +8 dB#define SPKRPHONE_LINE_VOLUME_POS_4DB 1 // +4 dB#define SPKRPHONE_LINE_VOLUME_POS_0DB 2 // +0 dB#define SPKRPHONE_LINE_VOLUME_MUTE 3 // Mute Microphone (also resets AEC)#define SPKRPHONE_SPEAKER_VOLUME_POS_14DB 0 // +14 dB#define SPKRPHONE_SPEAKER_VOLUME_POS_12DB 1 // +12 dB#define SPKRPHONE_SPEAKER_VOLUME_POS_10DB 2 // +10 dB#define SPKRPHONE_SPEAKER_VOLUME_POS_8DB 3 // +8 dB#define SPKRPHONE_SPEAKER_VOLUME_POS_6DB 4 // +6 dB#define SPKRPHONE_SPEAKER_VOLUME_POS_4DB 5 // +4 dB#define SPKRPHONE_SPEAKER_VOLUME_POS_2DB 6 // +2 dB#define SPKRPHONE_SPEAKER_VOLUME_POS_0DB 7 // 0 dB#define SPKRPHONE_SPEAKER_VOLUME_NEG_2DB 8 // -2 dB#define SPKRPHONE_SPEAKER_VOLUME_NEG_4DB 9 // -4 dB#define SPKRPHONE_SPEAKER_VOLUME_NEG_6DB 10 // -6 dB#define SPKRPHONE_SPEAKER_VOLUME_NEG_8DB 11 // -8 dB#define SPKRPHONE_SPEAKER_VOLUME_NEG_10DB 12 // -10 dB#define SPKRPHONE_SPEAKER_VOLUME_NEG_12DB 13 // -12 dB#define SPKRPHONE_SPEAKER_VOLUME_NEG_14DB 14 // -14 dB#define SPKRPHONE_SPEAKER_VOLUME_MUTE 15 // Mute Speaker// AEC bit positions#define SPKRPHONE_AEC_ON 1#define SPKRPHONE_AEC_LO 2#define SPKRPHONE_AEC_HI 4//==========================================================================//--------------------------------------------------------------------------// VxD support//// NOTE: These names will be changed in the future to a generic 'driver'// naming convention.//--------------------------------------------------------------------------//// Event bit fields.#define EVENT_TYPE_INT_DTMF 0x0002#define EVENT_TYPE_INT_TX_READY 0x0004#define EVENT_TYPE_INT_RX_READY 0x0008#define EVENT_TYPE_INT_HOOK 0x0010#define EVENT_TYPE_INT_RING 0x0020#define EVENT_TYPE_INT_WRITE_DONE 0x0040#define EVENT_TYPE_INT_PLAYBACK_VOLUME_CHANGE 0x0080#define EVENT_TYPE_INT_RECORD_VOLUME_CHANGE 0x0100#define EVENT_TYPE_INT_ANALOG_SOURCE_CHANGE 0x0200#define EVENT_TYPE_INT_AEC_CHANGE 0x0400#define EVENT_TYPE_INT_PLAYBACK_MUTE_CHANGE 0x0800#define EVENT_TYPE_INT_RECORD_MUTE_CHANGE 0x1000//---------------------------------------// This is included for legacy support.// This name is used by Ring 3 Drivers that use a software interrupt to// get the PM entry point to the VxD. If it changes here, all users of this// define must recompile.#define IPJ_VXDNAME "QTIPJ "// Typedefs// For IOCTL_VxD_AddPerformanceStat & fnVxD_AddPerformanceStattypedef struct{ DWORD ulFlags; LPSTR pszStatName; LPSTR pszStatDescription; LPVOID pStatFunc;} PERF_STAT, FAR *LPPERF_STAT;// Set lpBufPointer to lpPerfStat, dwBufSize to sizeof( PERF_STAT )/* pStatFunc points either directly to data (always a DWORD for now) *//* or, if PSTF_FUNCPTR_BIT is set, to a _cdecl function. This function *//* accepts a stat handle as it's argument and returns the stat in eax */// The following #defines come from <perf.h>.#ifndef PSTF_FUNCPTR#define PSTF_FUNCPTR 0x00000001#define PSTF_COUNT 0x00000000#define PSTF_RATE 0x00000002#endiftypedef struct ipj_vxd_devio{ DWORD dwSize; DEVNODE dnDevNode; DWORD dwFunctionCode; DWORD dwReturn; DWORD dwSetData; DWORD dwBufSize; LPVOID lpBufPointer; DWORD dwOutBufSize; LPVOID lpOutBufPointer; DWORD dwReserved; // Must be zero} IPJ_VXD_DEVIO;#endif// eof: ixjDefs.h
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -