summaryrefslogtreecommitdiff
path: root/audio_codec/libflac/codec.h (plain)
blob: 97d6fbc533cf855a24a0bc7c5b3b1ea570d3a13c
1#ifndef DSP_CODEC_HEADER
2#define DSP_CODEC_HEADER
3#include "codec_message.h"
4
5struct codec_type {
6 char *name;
7 int (*init)(struct frame_fmt *);
8 int (*release)(void);
9 // return BYTEs number for the samples
10 int (*decode_frame)(unsigned char *, int, struct frame_fmt *);
11};
12
13/*data in*/
14int read_bits(int bits);
15int bits_left(void);
16int reset_bits(void);
17int read_byte(void);
18int read_buffer(unsigned char *buffer, int size);
19int get_inbuf_data_size(void);
20unsigned long get_stream_in_offset(void);
21int stream_in_buffer_init(void);
22
23/*data out*/
24int write_buffer(unsigned char *buf, int size);
25int get_outbuf_space(void);
26int out_buffer_init(void);
27
28/*mgt*/
29int codec_start(void);
30int codec_resume(void);
31int codec_pause(void);
32int register_codec(const struct codec_type *mc);
33void decode_error_msg(int error);
34void trans_err_code(error_code_t error);
35
36#endif
37