src/mediastreamer/msossread.h

Thu, 05 Jan 2006 05:29:51 +0000

author
Mark Doliner <markdoliner@pidgin.im>
date
Thu, 05 Jan 2006 05:29:51 +0000
changeset 12733
0c1de18b51ed
parent 12024
5a87b77fcc3c
permissions
-rw-r--r--

[gaim-migrate @ 15077]
jabber.c:389: warning: ISO C90 forbids mixed declarations and code

12024
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
1 /*
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
2 The mediastreamer library aims at providing modular media processing and I/O
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
3 for linphone, but also for any telephony application.
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
4 Copyright (C) 2001 Simon MORLAT simon.morlat@linphone.org
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
5
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
6 This library is free software; you can redistribute it and/or
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
7 modify it under the terms of the GNU Lesser General Public
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
8 License as published by the Free Software Foundation; either
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
9 version 2.1 of the License, or (at your option) any later version.
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
10
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
11 This library is distributed in the hope that it will be useful,
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
14 Lesser General Public License for more details.
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
15
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
16 You should have received a copy of the GNU Lesser General Public
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
17 License along with this library; if not, write to the Free Software
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
18 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
19 */
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
20 #ifndef MSOSSREAD_H
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
21 #define MSOSSREAD_H
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
22
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
23 #include "mssoundread.h"
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
24 #include "sndcard.h"
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
25 #include "mssync.h"
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
26
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
27
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
28 /*this is the class that implements oss writing sink filter*/
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
29
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
30 #define MS_OSS_READ_MAX_INPUTS 1 /* max output per filter*/
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
31
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
32 #define MS_OSS_READ_MAX_GRAN (512*2) /* the maximum granularity*/
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
33
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
34 struct _MSOssRead
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
35 {
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
36 /* the MSOssRead derivates from MSSoundRead so the MSSoundRead object MUST be the first of the MSOssRead object
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
37 in order to the object mechanism to work*/
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
38 MSSoundRead filter;
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
39 MSFifo *f_outputs[MS_OSS_READ_MAX_INPUTS];
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
40 MSSync *sync;
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
41 SndCard *sndcard;
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
42 gint freq;
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
43 gint devid; /* the sound device id it depends on*/
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
44 gint gran;
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
45 gint flags;
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
46 #define START_REQUESTED 1
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
47 #define STOP_REQUESTED 2
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
48 };
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
49
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
50 typedef struct _MSOssRead MSOssRead;
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
51
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
52 struct _MSOssReadClass
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
53 {
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
54 /* the MSOssRead derivates from MSSoundRead, so the MSSoundRead class MUST be the first of the MSOssRead class
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
55 in order to the class mechanism to work*/
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
56 MSSoundReadClass parent_class;
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
57 };
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
58
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
59 typedef struct _MSOssReadClass MSOssReadClass;
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
60
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
61 /* PUBLIC */
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
62 #define MS_OSS_READ(filter) ((MSOssRead*)(filter))
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
63 #define MS_OSS_READ_CLASS(klass) ((MSOssReadClass*)(klass))
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
64 MSFilter * ms_oss_read_new(void);
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
65 gint ms_oss_read_set_device(MSOssRead *w,gint devid);
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
66 void ms_oss_read_start(MSOssRead *w);
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
67 void ms_oss_read_stop(MSOssRead *w);
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
68
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
69 /* FOR INTERNAL USE*/
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
70 void ms_oss_read_init(MSOssRead *r);
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
71 void ms_oss_read_class_init(MSOssReadClass *klass);
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
72 void ms_oss_read_destroy( MSOssRead *obj);
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
73 void ms_oss_read_process(MSOssRead *f);
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
74 void ms_oss_read_setup(MSOssRead *f, MSSync *sync);
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
75
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
76
5a87b77fcc3c [gaim-migrate @ 14317]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
77 #endif

mercurial