Mercurial > pidgin
annotate src/mediastreamer/msread.h @ 12264:2be62353f708
[gaim-migrate @ 14566]
this was TRUE in oldstatus
committer: Tailor Script <tailor@pidgin.im>
| author | Nathan Walp <nwalp@pidgin.im> |
|---|---|
| date | Tue, 29 Nov 2005 23:50:39 +0000 |
| parents | 1c771536a032 |
| children |
| rev | line source |
|---|---|
| 12024 | 1 /* |
| 2 The mediastreamer library aims at providing modular media processing and I/O | |
| 3 for linphone, but also for any telephony application. | |
| 4 Copyright (C) 2001 Simon MORLAT simon.morlat@linphone.org | |
| 5 | |
| 6 This library is free software; you can redistribute it and/or | |
| 7 modify it under the terms of the GNU Lesser General Public | |
| 8 License as published by the Free Software Foundation; either | |
| 9 version 2.1 of the License, or (at your option) any later version. | |
| 10 | |
| 11 This library is distributed in the hope that it will be useful, | |
| 12 but WITHOUT ANY WARRANTY; without even the implied warranty of | |
| 13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
| 14 Lesser General Public License for more details. | |
| 15 | |
| 16 You should have received a copy of the GNU Lesser General Public | |
| 17 License along with this library; if not, write to the Free Software | |
| 18 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | |
| 19 */ | |
| 20 | |
| 21 #ifndef MSREAD_H | |
| 22 #define MSREAD_H | |
| 23 | |
| 24 #include "msfilter.h" | |
| 25 #include "mssync.h" | |
| 26 | |
| 27 /*this is the class that implements file reading source filter*/ | |
| 28 | |
| 29 #define MSREAD_MAX_OUTPUTS 1 /* max output per filter*/ | |
| 30 | |
| 31 #define MSREAD_DEF_GRAN 640 /* the default granularity*/ | |
| 32 | |
| 33 typedef enum{ | |
| 34 MS_READ_STATE_STARTED, | |
| 35 MS_READ_STATE_STOPPED, | |
| 36 MS_READ_STATE_EOF | |
| 37 }MSReadState; | |
| 38 | |
| 39 typedef struct _MSRead | |
| 40 { | |
| 41 /* the MSRead derivates from MSFilter, so the MSFilter object MUST be the first of the MSRead object | |
| 42 in order to the object mechanism to work*/ | |
| 43 MSFilter filter; | |
| 44 MSFifo *foutputs[MSREAD_MAX_OUTPUTS]; | |
| 45 MSQueue *qoutputs[MSREAD_MAX_OUTPUTS]; | |
| 46 MSSync *sync; | |
| 47 gint rate; | |
| 48 gint fd; /* the file descriptor of the file being read*/ | |
| 49 gint gran; /*granularity*/ /* for use with queues */ | |
| 50 gint need_swap; | |
| 51 gint state; | |
| 52 } MSRead; | |
| 53 | |
| 54 typedef struct _MSReadClass | |
| 55 { | |
| 56 /* the MSRead derivates from MSFilter, so the MSFilter class MUST be the first of the MSRead class | |
| 57 in order to the class mechanism to work*/ | |
| 58 MSFilterClass parent_class; | |
| 59 } MSReadClass; | |
| 60 | |
| 61 /* PUBLIC */ | |
| 62 #define MS_READ(filter) ((MSRead*)(filter)) | |
| 63 #define MS_READ_CLASS(klass) ((MSReadClass*)(klass)) | |
| 64 MSFilter * ms_read_new(char *name); | |
| 65 /* set the granularity for reading file on disk */ | |
| 66 #define ms_read_set_bufsize(filter,sz) (filter)->gran=(sz) | |
| 67 | |
| 68 /* FOR INTERNAL USE*/ | |
|
12029
1c771536a032
[gaim-migrate @ 14322]
Gary Kramlich <grim@reaperworld.com>
parents:
12024
diff
changeset
|
69 gint ms_read_open(MSRead *r, gchar *name); |
| 12024 | 70 void ms_read_init(MSRead *r); |
| 71 void ms_read_class_init(MSReadClass *klass); | |
| 72 void ms_read_destroy( MSRead *obj); | |
| 73 void ms_read_process(MSRead *r); | |
| 74 void ms_read_setup(MSRead *r, MSSync *sync); | |
| 75 | |
| 76 typedef enum{ | |
| 77 MS_READ_EVENT_EOF /* end of file */ | |
| 78 } MSReadEvent; | |
| 79 | |
| 80 | |
| 81 #endif |
