[169] | 1 | //codecfilter.h: |
---|
| 2 | |
---|
| 3 | #ifndef _CODECFILTER_H_ |
---|
| 4 | #define _CODECFILTER_H_ |
---|
| 5 | |
---|
| 6 | #include <roaraudio.h> |
---|
| 7 | |
---|
[170] | 8 | #define CODECFILTER_USERDATA_T void * |
---|
| 9 | |
---|
[195] | 10 | struct roar_stream_server; |
---|
[170] | 11 | |
---|
[612] | 12 | #define ROAR_CODECFILTER_NONE 0 |
---|
| 13 | #define ROAR_CODECFILTER_READ 1 |
---|
| 14 | #define ROAR_CODECFILTER_WRITE 2 |
---|
| 15 | |
---|
[170] | 16 | struct roar_codecfilter { |
---|
[176] | 17 | int codec; |
---|
[170] | 18 | char * name; |
---|
| 19 | char * desc; |
---|
[171] | 20 | char * options; |
---|
[612] | 21 | int flags; |
---|
[193] | 22 | int (*open )(CODECFILTER_USERDATA_T * inst, int codec, |
---|
[171] | 23 | struct roar_stream_server * info, |
---|
| 24 | struct roar_codecfilter * filter); |
---|
[170] | 25 | int (*close)(CODECFILTER_USERDATA_T inst); |
---|
| 26 | int (*pause)(CODECFILTER_USERDATA_T inst, int newstate); |
---|
| 27 | int (*write)(CODECFILTER_USERDATA_T inst, char * buf, int len); |
---|
| 28 | int (*read )(CODECFILTER_USERDATA_T inst, char * buf, int len); |
---|
| 29 | int (*flush)(CODECFILTER_USERDATA_T inst); |
---|
| 30 | }; |
---|
| 31 | |
---|
[172] | 32 | |
---|
| 33 | #include "codecfilter_cmd.h" |
---|
[561] | 34 | #include "codecfilter_wave.h" |
---|
| 35 | |
---|
| 36 | |
---|
[204] | 37 | #ifdef ROAR_HAVE_LIBVORBISFILE |
---|
| 38 | #include "codecfilter_vorbis.h" |
---|
| 39 | #endif |
---|
[172] | 40 | |
---|
[323] | 41 | #ifdef ROAR_HAVE_LIBCELT |
---|
| 42 | #include "codecfilter_celt.h" |
---|
| 43 | #endif |
---|
[172] | 44 | |
---|
[371] | 45 | #ifdef ROAR_HAVE_LIBSPEEX |
---|
| 46 | #include "codecfilter_speex.h" |
---|
| 47 | #endif |
---|
| 48 | |
---|
[170] | 49 | void print_codecfilterlist (void); |
---|
| 50 | |
---|
| 51 | int codecfilter_open (CODECFILTER_USERDATA_T * inst, |
---|
| 52 | int * codecfilter_id, char * codecfilter /* NOTE: this is not part of struct roar_codecfilter's def! */, |
---|
[193] | 53 | int codec, struct roar_stream_server * info); |
---|
[170] | 54 | int codecfilter_close(CODECFILTER_USERDATA_T inst, int codecfilter); |
---|
| 55 | int codecfilter_pause(CODECFILTER_USERDATA_T inst, int codecfilter, int newstate); |
---|
| 56 | int codecfilter_write(CODECFILTER_USERDATA_T inst, int codecfilter, char * buf, int len); |
---|
| 57 | int codecfilter_read (CODECFILTER_USERDATA_T inst, int codecfilter, char * buf, int len); |
---|
| 58 | int codecfilter_flush(CODECFILTER_USERDATA_T inst, int codecfilter); |
---|
| 59 | |
---|
| 60 | |
---|
[169] | 61 | #endif |
---|
| 62 | |
---|
| 63 | //ll |
---|