nettoyage du repertoire debian/
[asterisk-app-conference.git] / frame.h
1
2 // $Id: frame.h 746 2006-12-11 20:12:12Z sbalea $
3
4 /*
5 * app_conference
6 *
7 * A channel independent conference application for Asterisk
8 *
9 * Copyright (C) 2002, 2003 Junghanns.NET GmbH
10 * Copyright (C) 2003, 2004 HorizonLive.com, Inc.
11 * Copyright (C) 2005, 2006 HorizonWimba, Inc.
12 * Copyright (C) 2007 Wimba, Inc.
13 *
14 * Klaus-Peter Junghanns <kapejod@ns1.jnetdns.de>
15 *
16 * Video Conferencing support added by
17 * Neil Stratford <neils@vipadia.com>
18 * Copyright (C) 2005, 2005 Vipadia Limited
19 *
20 * VAD driven video conferencing, text message support
21 * and miscellaneous enhancements added by
22 * Mihai Balea <mihai at hates dot ms>
23 *
24 * This program may be modified and distributed under the
25 * terms of the GNU General Public License. You should have received
26 * a copy of the GNU General Public License along with this
27 * program; if not, write to the Free Software Foundation, Inc.
28 * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
29 */
30
31 #ifndef _APP_CONF_FRAME_H
32 #define _APP_CONF_FRAME_H
33
34 //
35 // includes
36 //
37
38 #include "app_conference.h"
39 #include "common.h"
40
41 //
42 // function declarations
43 //
44
45 // mixing
46 conf_frame* mix_frames( conf_frame* frames_in, int speaker_count, int listener_count ) ;
47
48 conf_frame* mix_multiple_speakers( conf_frame* frames_in, int speakers, int listeners ) ;
49 conf_frame* mix_single_speaker( conf_frame* frames_in ) ;
50
51 // frame creation and deletion
52 conf_frame* create_conf_frame( struct ast_conf_member* member, conf_frame* next, const struct ast_frame* fr ) ;
53 conf_frame* delete_conf_frame( conf_frame* cf ) ;
54 conf_frame* copy_conf_frame( conf_frame* src ) ;
55
56 // convert frame functions
57 struct ast_frame* convert_frame_to_slinear( struct ast_trans_pvt* trans, struct ast_frame* fr ) ;
58 struct ast_frame* convert_frame_from_slinear( struct ast_trans_pvt* trans, struct ast_frame* fr ) ;
59 struct ast_frame* convert_frame( struct ast_trans_pvt* trans, struct ast_frame* fr ) ;
60
61 // text frame function(s)
62 struct ast_frame* create_text_frame(const char *text, int copy);
63
64 // slinear frame functions
65 struct ast_frame* create_slinear_frame( char* data ) ;
66 void mix_slinear_frames( char* dst, const char* src, int samples ) ;
67
68 // silent frame functions
69 conf_frame* get_silent_frame( void ) ;
70 struct ast_frame* get_silent_slinear_frame( void ) ;
71
72 // set delivery timestamp for frames
73 void set_conf_frame_delivery( conf_frame* frame, struct timeval time ) ;
74
75 #endif