summaryrefslogtreecommitdiff
path: root/toxav/toxav.h
diff options
context:
space:
mode:
Diffstat (limited to 'toxav/toxav.h')
-rw-r--r--toxav/toxav.h88
1 files changed, 44 insertions, 44 deletions
diff --git a/toxav/toxav.h b/toxav/toxav.h
index 82334273..be7a2950 100644
--- a/toxav/toxav.h
+++ b/toxav/toxav.h
@@ -1,5 +1,5 @@
1/** toxav.h 1/** toxav.h
2 * 2 *
3 * Copyright (C) 2013 Tox project All Rights Reserved. 3 * Copyright (C) 2013 Tox project All Rights Reserved.
4 * 4 *
5 * This file is part of Tox. 5 * This file is part of Tox.
@@ -17,7 +17,7 @@
17 * You should have received a copy of the GNU General Public License 17 * You should have received a copy of the GNU General Public License
18 * along with Tox. If not, see <http://www.gnu.org/licenses/>. 18 * along with Tox. If not, see <http://www.gnu.org/licenses/>.
19 * 19 *
20 * 20 *
21 * Report bugs/suggestions at #tox-dev @ freenode.net:6667 21 * Report bugs/suggestions at #tox-dev @ freenode.net:6667
22 */ 22 */
23 23
@@ -29,7 +29,7 @@
29/* vpx_image_t */ 29/* vpx_image_t */
30#include <vpx/vpx_image.h> 30#include <vpx/vpx_image.h>
31 31
32typedef void* ( *ToxAVCallback ) ( void* arg ); 32typedef void *( *ToxAVCallback ) ( void *arg );
33typedef struct _ToxAv ToxAv; 33typedef struct _ToxAv ToxAv;
34 34
35#ifndef __TOX_DEFINED__ 35#ifndef __TOX_DEFINED__
@@ -61,7 +61,7 @@ typedef struct Tox Tox;
61#define MAX_ENCODE_TIME_US ((1000 / 60) * 1000) 61#define MAX_ENCODE_TIME_US ((1000 / 60) * 1000)
62 62
63 63
64/** 64/**
65 * @brief Callbacks ids that handle the call states. 65 * @brief Callbacks ids that handle the call states.
66 */ 66 */
67typedef enum { 67typedef enum {
@@ -71,16 +71,16 @@ typedef enum {
71 OnCancel, 71 OnCancel,
72 OnReject, 72 OnReject,
73 OnEnd, 73 OnEnd,
74 74
75 /* Responses */ 75 /* Responses */
76 OnRinging, 76 OnRinging,
77 OnStarting, 77 OnStarting,
78 OnEnding, 78 OnEnding,
79 79
80 /* Protocol */ 80 /* Protocol */
81 OnError, 81 OnError,
82 OnRequestTimeout 82 OnRequestTimeout
83 83
84} ToxAvCallbackID; 84} ToxAvCallbackID;
85 85
86 86
@@ -95,7 +95,7 @@ typedef enum {
95 95
96/** 96/**
97 * @brief Error indicators. 97 * @brief Error indicators.
98 * 98 *
99 */ 99 */
100typedef enum { 100typedef enum {
101 ErrorNone = 0, 101 ErrorNone = 0,
@@ -110,14 +110,14 @@ typedef enum {
110 ErrorNoTransmission = -9, /* Returned in toxav_kill_transmission() */ 110 ErrorNoTransmission = -9, /* Returned in toxav_kill_transmission() */
111 ErrorTerminatingAudioRtp = -10, /* Returned in toxav_kill_transmission() */ 111 ErrorTerminatingAudioRtp = -10, /* Returned in toxav_kill_transmission() */
112 ErrorTerminatingVideoRtp = -11, /* Returned in toxav_kill_transmission() */ 112 ErrorTerminatingVideoRtp = -11, /* Returned in toxav_kill_transmission() */
113 113
114} ToxAvError; 114} ToxAvError;
115 115
116 116
117/** 117/**
118 * @brief Start new A/V session. There can only be one session at the time. If you register more 118 * @brief Start new A/V session. There can only be one session at the time. If you register more
119 * it will result in undefined behaviour. 119 * it will result in undefined behaviour.
120 * 120 *
121 * @param messenger The messenger handle. 121 * @param messenger The messenger handle.
122 * @param useragent The agent handling A/V session (i.e. phone). 122 * @param useragent The agent handling A/V session (i.e. phone).
123 * @param ua_name Useragent name. 123 * @param ua_name Useragent name.
@@ -126,19 +126,19 @@ typedef enum {
126 * @return ToxAv* 126 * @return ToxAv*
127 * @retval NULL On error. 127 * @retval NULL On error.
128 */ 128 */
129ToxAv* toxav_new(Tox* messenger, void* useragent, const char* ua_name, uint16_t video_width, uint16_t video_height); 129ToxAv *toxav_new(Tox *messenger, void *useragent, const char *ua_name, uint16_t video_width, uint16_t video_height);
130 130
131/** 131/**
132 * @brief Remove A/V session. 132 * @brief Remove A/V session.
133 * 133 *
134 * @param av Handler. 134 * @param av Handler.
135 * @return void 135 * @return void
136 */ 136 */
137void toxav_kill(ToxAv* av); 137void toxav_kill(ToxAv *av);
138 138
139/** 139/**
140 * @brief Register callback for call state. 140 * @brief Register callback for call state.
141 * 141 *
142 * @param callback The callback 142 * @param callback The callback
143 * @param id One of the ToxAvCallbackID values 143 * @param id One of the ToxAvCallbackID values
144 * @return void 144 * @return void
@@ -147,7 +147,7 @@ void toxav_register_callstate_callback (ToxAVCallback callback, ToxAvCallbackID
147 147
148/** 148/**
149 * @brief Call user. Use its friend_id. 149 * @brief Call user. Use its friend_id.
150 * 150 *
151 * @param av Handler. 151 * @param av Handler.
152 * @param user The user. 152 * @param user The user.
153 * @param call_type Call type. 153 * @param call_type Call type.
@@ -156,119 +156,119 @@ void toxav_register_callstate_callback (ToxAVCallback callback, ToxAvCallbackID
156 * @retval 0 Success. 156 * @retval 0 Success.
157 * @retval ToxAvError On error. 157 * @retval ToxAvError On error.
158 */ 158 */
159int toxav_call(ToxAv* av, int user, ToxAvCallType call_type, int ringing_seconds); 159int toxav_call(ToxAv *av, int user, ToxAvCallType call_type, int ringing_seconds);
160 160
161/** 161/**
162 * @brief Hangup active call. 162 * @brief Hangup active call.
163 * 163 *
164 * @param av Handler. 164 * @param av Handler.
165 * @return int 165 * @return int
166 * @retval 0 Success. 166 * @retval 0 Success.
167 * @retval ToxAvError On error. 167 * @retval ToxAvError On error.
168 */ 168 */
169int toxav_hangup(ToxAv* av); 169int toxav_hangup(ToxAv *av);
170 170
171/** 171/**
172 * @brief Answer incomming call. 172 * @brief Answer incomming call.
173 * 173 *
174 * @param av Handler. 174 * @param av Handler.
175 * @param call_type Answer with... 175 * @param call_type Answer with...
176 * @return int 176 * @return int
177 * @retval 0 Success. 177 * @retval 0 Success.
178 * @retval ToxAvError On error. 178 * @retval ToxAvError On error.
179 */ 179 */
180int toxav_answer(ToxAv* av, ToxAvCallType call_type ); 180int toxav_answer(ToxAv *av, ToxAvCallType call_type );
181 181
182/** 182/**
183 * @brief Reject incomming call. 183 * @brief Reject incomming call.
184 * 184 *
185 * @param av Handler. 185 * @param av Handler.
186 * @param reason Optional reason. Set NULL if none. 186 * @param reason Optional reason. Set NULL if none.
187 * @return int 187 * @return int
188 * @retval 0 Success. 188 * @retval 0 Success.
189 * @retval ToxAvError On error. 189 * @retval ToxAvError On error.
190 */ 190 */
191int toxav_reject(ToxAv* av, const char* reason); 191int toxav_reject(ToxAv *av, const char *reason);
192 192
193/** 193/**
194 * @brief Cancel outgoing request. 194 * @brief Cancel outgoing request.
195 * 195 *
196 * @param av Handler. 196 * @param av Handler.
197 * @param reason Optional reason. 197 * @param reason Optional reason.
198 * @return int 198 * @return int
199 * @retval 0 Success. 199 * @retval 0 Success.
200 * @retval ToxAvError On error. 200 * @retval ToxAvError On error.
201 */ 201 */
202int toxav_cancel(ToxAv* av, const char* reason); 202int toxav_cancel(ToxAv *av, const char *reason);
203 203
204/** 204/**
205 * @brief Terminate transmission. Note that transmission will be terminated without informing remote peer. 205 * @brief Terminate transmission. Note that transmission will be terminated without informing remote peer.
206 * 206 *
207 * @param av Handler. 207 * @param av Handler.
208 * @return int 208 * @return int
209 * @retval 0 Success. 209 * @retval 0 Success.
210 * @retval ToxAvError On error. 210 * @retval ToxAvError On error.
211 */ 211 */
212int toxav_stop_call(ToxAv* av); 212int toxav_stop_call(ToxAv *av);
213 213
214/** 214/**
215 * @brief Must be call before any RTP transmission occurs. 215 * @brief Must be call before any RTP transmission occurs.
216 * 216 *
217 * @param av Handler. 217 * @param av Handler.
218 * @return int 218 * @return int
219 * @retval 0 Success. 219 * @retval 0 Success.
220 * @retval ToxAvError On error. 220 * @retval ToxAvError On error.
221 */ 221 */
222int toxav_prepare_transmission(ToxAv* av); 222int toxav_prepare_transmission(ToxAv *av);
223 223
224/** 224/**
225 * @brief Call this at the end of the transmission. 225 * @brief Call this at the end of the transmission.
226 * 226 *
227 * @param av Handler. 227 * @param av Handler.
228 * @return int 228 * @return int
229 * @retval 0 Success. 229 * @retval 0 Success.
230 * @retval ToxAvError On error. 230 * @retval ToxAvError On error.
231 */ 231 */
232int toxav_kill_transmission(ToxAv* av); 232int toxav_kill_transmission(ToxAv *av);
233 233
234/** 234/**
235 * @brief Receive decoded video packet. 235 * @brief Receive decoded video packet.
236 * 236 *
237 * @param av Handler. 237 * @param av Handler.
238 * @param output Storage. 238 * @param output Storage.
239 * @return int 239 * @return int
240 * @retval 0 Success. 240 * @retval 0 Success.
241 * @retval ToxAvError On Error. 241 * @retval ToxAvError On Error.
242 */ 242 */
243int toxav_recv_video ( ToxAv* av, vpx_image_t **output); 243int toxav_recv_video ( ToxAv *av, vpx_image_t **output);
244 244
245/** 245/**
246 * @brief Receive decoded audio frame. 246 * @brief Receive decoded audio frame.
247 * 247 *
248 * @param av Handler. 248 * @param av Handler.
249 * @param frame_size ... 249 * @param frame_size ...
250 * @param dest Destination of the packet. Make sure it has enough space for 250 * @param dest Destination of the packet. Make sure it has enough space for
251 * RTP_PAYLOAD_SIZE bytes. 251 * RTP_PAYLOAD_SIZE bytes.
252 * @return int 252 * @return int
253 * @retval >=0 Size of received packet. 253 * @retval >=0 Size of received packet.
254 * @retval ToxAvError On error. 254 * @retval ToxAvError On error.
255 */ 255 */
256int toxav_recv_audio( ToxAv* av, int frame_size, int16_t* dest ); 256int toxav_recv_audio( ToxAv *av, int frame_size, int16_t *dest );
257 257
258/** 258/**
259 * @brief Encode and send video packet. 259 * @brief Encode and send video packet.
260 * 260 *
261 * @param av Handler. 261 * @param av Handler.
262 * @param input The packet. 262 * @param input The packet.
263 * @return int 263 * @return int
264 * @retval 0 Success. 264 * @retval 0 Success.
265 * @retval ToxAvError On error. 265 * @retval ToxAvError On error.
266 */ 266 */
267int toxav_send_video ( ToxAv* av, vpx_image_t *input); 267int toxav_send_video ( ToxAv *av, vpx_image_t *input);
268 268
269/** 269/**
270 * @brief Encode and send audio frame. 270 * @brief Encode and send audio frame.
271 * 271 *
272 * @param av Handler. 272 * @param av Handler.
273 * @param frame The frame. 273 * @param frame The frame.
274 * @param frame_size It's size. 274 * @param frame_size It's size.
@@ -276,25 +276,25 @@ int toxav_send_video ( ToxAv* av, vpx_image_t *input);
276 * @retval 0 Success. 276 * @retval 0 Success.
277 * @retval ToxAvError On error. 277 * @retval ToxAvError On error.
278 */ 278 */
279int toxav_send_audio ( ToxAv* av, const int16_t* frame, int frame_size); 279int toxav_send_audio ( ToxAv *av, const int16_t *frame, int frame_size);
280 280
281/** 281/**
282 * @brief Get peer transmission type. It can either be audio or video. 282 * @brief Get peer transmission type. It can either be audio or video.
283 * 283 *
284 * @param av Handler. 284 * @param av Handler.
285 * @param peer The peer 285 * @param peer The peer
286 * @return int 286 * @return int
287 * @retval ToxAvCallType On success. 287 * @retval ToxAvCallType On success.
288 * @retval ToxAvError On error. 288 * @retval ToxAvError On error.
289 */ 289 */
290int toxav_get_peer_transmission_type ( ToxAv* av, int peer ); 290int toxav_get_peer_transmission_type ( ToxAv *av, int peer );
291 291
292/** 292/**
293 * @brief Get reference to an object that is handling av session. 293 * @brief Get reference to an object that is handling av session.
294 * 294 *
295 * @param av Handler. 295 * @param av Handler.
296 * @return void* 296 * @return void*
297 */ 297 */
298void* toxav_get_agent_handler ( ToxAv* av ); 298void *toxav_get_agent_handler ( ToxAv *av );
299 299
300#endif /* __TOXAV */ \ No newline at end of file 300#endif /* __TOXAV */ \ No newline at end of file