source: roaraudio/roard/include/codecfilter_speex.h @ 2973:eecfe9d3182e

Last change on this file since 2973:eecfe9d3182e was 2973:eecfe9d3182e, checked in by phi, 15 years ago

load config for speex

File size: 2.1 KB
Line 
1//codecfilter_speex.h.h:
2
3/*
4 *      Copyright (C) Philipp 'ph3-der-loewe' Schafft - 2008
5 *
6 *  This file is part of roard a part of RoarAudio,
7 *  a cross-platform sound system for both, home and professional use.
8 *  See README for details.
9 *
10 *  This file is free software; you can redistribute it and/or modify
11 *  it under the terms of the GNU General Public License version 3
12 *  as published by the Free Software Foundation.
13 *
14 *  RoarAudio is distributed in the hope that it will be useful,
15 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
16 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17 *  GNU General Public License for more details.
18 *
19 *  You should have received a copy of the GNU General Public License
20 *  along with this software; see the file COPYING.  If not, write to
21 *  the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
22 *
23 */
24
25#ifndef _CODECFILTER_SPEEX_H_
26#define _CODECFILTER_SPEEX_H_
27
28#include <roaraudio.h>
29#include <speex/speex.h>
30#include <speex/speex_stereo.h>
31#include <speex/speex_callbacks.h>
32
33struct codecfilter_speex_inst {
34 void * encoder;
35 void * decoder;
36 SpeexBits bits;
37 SpeexStereoState stereo_state;
38 SpeexCallback    stereo_callback;
39 int              stereo;
40 struct roar_stream_server * stream;
41 int frame_size;
42 void     * cd; /* current data */
43 char       cc[ROAR_SPEEX_MAX_CC]; /* buffer for read() and write() */
44 void     * i_rest; /* rest... */
45 int fi_rest;
46 char * o_rest;
47 int fo_rest; /* how much is in rest? */
48
49/*
50 char * ibuf;
51 char * obuf;
52 int out_size;
53 char * i_rest;
54 int s_buf;
55 int fi_rest; /-* how much is in rest? *-/
56*/
57 struct roar_libroar_config_codec * codec_config;
58};
59
60int cf_speex_open(CODECFILTER_USERDATA_T * inst, int codec,
61                                            struct roar_stream_server * info,
62                                            struct roar_codecfilter   * filter);
63
64int cf_speex_close(CODECFILTER_USERDATA_T   inst);
65
66int cf_speex_read(CODECFILTER_USERDATA_T   inst, char * buf, int len);
67int cf_speex_write(CODECFILTER_USERDATA_T   inst, char * buf, int len);
68
69#endif
70
71//ll
Note: See TracBrowser for help on using the repository browser.