summaryrefslogtreecommitdiff
path: root/protocols/Tlen/tlen_voice.h
blob: cd38a23c1c6ecd109fd386f7e857d0d43eef6983 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
/*

Tlen Protocol Plugin for Miranda IM
Copyright (C) 2004-2007  Piotr Piastucki

This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.

*/

#ifndef _TLEN_VOICE_H_
#define _TLEN_VOICE_H_

#include <windows.h>
#include <mmsystem.h>

#include "jabber.h"
#include "codec/gsm.h"

typedef struct TLEN_VOICE_CONTROL_STRUCT {
	int			waveMode;
	int			codec;
	int			bDisable;

	short		*recordingData;
	short		*waveData;
	WAVEHDR		*waveHeaders;
	int			waveFrameSize;
	int			waveHeadersPos;
	int			waveHeadersNum;

//	HANDLE		hEvent;
	HANDLE		hThread;
	DWORD		threadID;
	HWAVEOUT	hWaveOut;
	HWAVEIN		hWaveIn;
	int			isRunning;
	int			stopThread;
	gsm_state	*gsmstate;
	TLEN_FILE_TRANSFER *ft;
	int			vuMeter;
	int			bytesSum;
	TlenProtocol *proto;
} TLEN_VOICE_CONTROL;


extern void __cdecl TlenVoiceSendingThread(TLEN_FILE_TRANSFER *ft);
extern void __cdecl TlenVoiceReceiveThread(TLEN_FILE_TRANSFER *ft);
extern int TlenVoiceIsInUse(TlenProtocol *proto);
extern INT_PTR TlenVoiceContactMenuHandleVoice(void *ptr, WPARAM wParam, LPARAM lParam);
extern int TlenVoiceCancelAll(TlenProtocol *proto);
extern int TlenVoiceStart(TLEN_FILE_TRANSFER *ft, int mode) ;
extern int TlenVoiceAccept(TlenProtocol *proto, const char *id, const char *from);
extern int TlenVoiceBuildInDeviceList(TlenProtocol *proto, HWND hWnd);
extern int TlenVoiceBuildOutDeviceList(TlenProtocol *proto, HWND hWnd);
#endif