source: roaraudio/roard/include/codecfilter_celt.h @ 3516:2becb65c23b6

Last change on this file since 3516:2becb65c23b6 was 2120:7f67d164a05d, checked in by phi, 15 years ago

added support to CELT cf for BIDIR streams

File size: 1.9 KB
Line 
1//codecfilter_celt.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_CELT_H_
26#define _CODECFILTER_CELT_H_
27
28#include <roaraudio.h>
29
30#ifdef ROAR_HAVE_LIBCELT
31
32#include <celt/celt.h>
33#include <celt/celt_header.h>
34
35struct codecfilter_celt_inst {
36 struct roar_stream_server * stream;
37 CELTMode * mode;
38 CELTEncoder * encoder;
39 CELTDecoder * decoder;
40 int frame_size;
41 int lookahead;
42 int out_size;
43 char * ibuf;
44 char * obuf;
45 char * i_rest;
46 char * o_rest;
47 int s_buf;
48 int fi_rest; /* how much is in rest? */
49 int fo_rest; /* how much is in rest? */
50 int opened_encoder;
51 int opened_decoder;
52};
53
54int cf_celt_open(CODECFILTER_USERDATA_T * inst, int codec,
55                                            struct roar_stream_server * info,
56                                            struct roar_codecfilter   * filter);
57
58int cf_celt_close(CODECFILTER_USERDATA_T   inst);
59
60int cf_celt_read(CODECFILTER_USERDATA_T   inst, char * buf, int len);
61int cf_celt_write(CODECFILTER_USERDATA_T   inst, char * buf, int len);
62
63int cf_celt_delay(CODECFILTER_USERDATA_T   inst, uint_least32_t * delay);
64
65#endif
66
67#endif
68
69//ll
Note: See TracBrowser for help on using the repository browser.