audio_com.h
2.65 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
#ifndef _AUDIO_COM_H_
#define _AUDIO_COM_H_
#include "fifo.h"
#define STREAM_BUFFER_USED_POINTER //need to change the elf32xtensa.x file
#define STREAM_BUFFER_SIZE_UNFIXED
//#define STREAM_BUF_MAX_SIZE (1024*30)
//#define STREAM_BUF_MAX_SIZE (1024*24)
//#define STREAM_BUF_MAX_SIZE (1024*22)
//#define STREAM_BUF_MAX_SIZE (1024*20)
//#define STREAM_BUF_MAX_SIZE (1024*16)
//#define STREAM_BUF_MAX_SIZE (1024*12)
//#define STREAM_BUF_MAX_SIZE (1024*8)
#define STREAM_BUF_MAX_SIZE (1024*4)
#if 0
enum {
// STREAM_INIT,
// STREAM_WAITING_DATA,
// STREAM_DECODING,
};
#endif
typedef struct {
FIFO stream_fifo;
/* U8 playing_stream_status;
U32 playing_stream_bitrate;
U32 playing_stream_sample_rate;
U8 playing_stream_chans;
U8 playing_stream_sample_percent;
U8 playing_stream_sample_bits;
*/
} audio_env_s;
extern audio_env_s audio_env;
//extern U8 stream_buffer[30*1024];
//extern U8 stream_buffer[20*1024];
#ifdef STREAM_BUFFER_USED_POINTER
extern U8 STREAM_BUFFER_START[];
extern U8 STREAM_BUFFER_END[];
extern U8 *stream_buffer;
#else
extern U8 stream_buffer[STREAM_BUF_MAX_SIZE];
#endif
void audio_com_init(void);
#define AUDIO_FIFO_STREAM_OPEN(stream_buffer,len) fifo_init(&audio_env.stream_fifo,stream_buffer,len,TRUE)
#define AUDIO_FIFO_STREAM_FLUSH() fifo_file_stream_flush(&audio_env.stream_fifo)
#define AUDIO_FIFO_STREAM_DISCARD_ALL_DATA() fifo_discard_all_data(&audio_env.stream_fifo)
#define AUDIO_FIFO_STREAM_DISCARD_DATA(len) fifo_discard_data(&audio_env.stream_fifo,len)
#define AUDIO_FIFO_STREAM_CREATE(start_pos,stream_len,entry,stream_margin) \
fifo_create_file_stream(&audio_env.stream_fifo,start_pos,stream_len,entry,stream_margin)
#define AUDIO_FIFO_STREAM_FIFO_LEN() audio_env.stream_fifo.fifo_length //buf len
#define AUDIO_FIFO_STREAM_STREAM_LEN() audio_env.stream_fifo.stream_len //steam len(file len)
#define AUDIO_FIFO_STREAM_FIFO_RLEN() audio_env.stream_fifo.rLen
#define AUDIO_FIFO_STREAM_FIFO_WLEN() audio_env.stream_fifo.wLen
#define AUDIO_FIFO_STREAM_DATA_LEN() fifo_get_data_len(&audio_env.stream_fifo)
#define AUDIO_FIFO_STREAM_FREE_LEN() fifo_get_free_space(&audio_env.stream_fifo)
#define AUDIO_FIFO_STREAM_GET_DATA(buffer,len) fifo_get_data(&audio_env.stream_fifo, (U8 *)buffer, len)
#define AUDIO_FIFO_STREAM_IS_VAILD() audio_env.stream_fifo.valid
#define AUDIO_FIFO_STREAM_PUT_DATA(ptr,len) fifo_put_data (&audio_env.stream_fifo, ptr, len)
#define AUDIO_FIFO_STREAM_SEEK(pos) fifo_file_stream_seek (&audio_env.stream_fifo,pos)
#endif