CI130X SDK API手册  2.2.0
本手册用于描述CI130X SDK各个组件和驱动API
audio_play_decoder.h
浏览该文件的文档.
1 
10 #ifndef _AUDIO_PLAY_DECODER_H_
11 #define _AUDIO_PLAY_DECODER_H_
12 
13 #include <stdint.h>
14 #include <string.h>
15 #include <stdlib.h>
16 #include "audio_play_process.h"
17 #include "audio_play_config.h"
18 
19 
20 typedef enum
21 {
28 
29 typedef struct
30 {
31  int min_blocksize, max_blocksize; //block的最小/最大采样数
32  int min_framesize, max_framesize; //最小/最大帧大小
33  int samplerate, channels; //采样率和通道数
34  int bps;
35  unsigned long totalsamples;
37 
38 typedef struct
39 {
40  uint32_t head_size;
41  uint32_t nBlockAlign; //块对齐大小
42  uint32_t nSamplesPerSec; //采样率
44 
45 typedef struct
46 {
47  union{
48  wav_file_info_t wav;
49  flac_file_info_t flac;
50  };
53 
54 
55 
56 
62 #define AUDIO_PLAY_FIX_MP3_DECODER_ISSUE (AUDIO_PLAYER_CONFIG_MP3_SAVE_DECODER_STATUS)
63 
69 {
70  const char *decoder_name;
71  int32_t (*init)(void);
72  int32_t (*decode)(uint8_t * input, uint32_t in_size, short *output,uint32_t *out_size, uint32_t *no_use_size,audio_format_info_t *audio_format_info);
73  int32_t (*save)(void);
74  int32_t (*load)(void);
75  int32_t (*config)(void *mode);
76  int32_t (*clear)(void);
77  int32_t (*destroy)(void);
78  uint32_t data_in_size;
81 
82 
88 
89 extern void registe_decoder_ops(audio_play_decoder_ops_t *registe_ops);
90 
91 
92 #endif /* _AUDIO_PLAY_DECODER_H_ */
ci_adpcm_decoder_mode_t
Definition: audio_play_decoder.h:20
struct audio_play_decoder_ops_s * next_ops
Definition: audio_play_decoder.h:79
static uint32_t no_use_size
Definition: audio_play_process.c:128
int min_framesize
Definition: audio_play_decoder.h:32
Definition: audio_play_decoder.h:23
int32_t(* load)(void)
Definition: audio_play_decoder.h:74
int32_t(* save)(void)
Definition: audio_play_decoder.h:73
unsigned long totalsamples
Definition: audio_play_decoder.h:35
uint32_t data_in_size
Definition: audio_play_decoder.h:78
int32_t(* clear)(void)
Definition: audio_play_decoder.h:76
uint32_t head_size
Definition: audio_play_decoder.h:40
int min_blocksize
Definition: audio_play_decoder.h:31
int32_t(* config)(void *mode)
Definition: audio_play_decoder.h:75
uint32_t nSamplesPerSec
Definition: audio_play_decoder.h:42
音频信息数据结构
Definition: audio_play_process.h:121
audio_play_decoder_ops_t mp3_decoder
mp3解码器结构对象
Definition: audio_play_decoder.c:365
Definition: audio_play_decoder.h:38
struct audio_play_decoder_ops_s audio_play_decoder_ops_t
解码器结构
audio_format_info_t audio_format_info
播音配置参数表
Definition: board_port_template.c:414
int bps
Definition: audio_play_decoder.h:34
uint32_t nBlockAlign
Definition: audio_play_decoder.h:41
解码器结构
Definition: audio_play_decoder.h:68
int32_t(* init)(void)
Definition: audio_play_decoder.h:71
audio_play_decoder_ops_t flac_decoder
flac解码器结构对象
Definition: audio_play_decoder.c:557
Definition: audio_play_decoder.h:26
int32_t(* decode)(uint8_t *input, uint32_t in_size, short *output, uint32_t *out_size, uint32_t *no_use_size, audio_format_info_t *audio_format_info)
Definition: audio_play_decoder.h:72
const char * decoder_name
Definition: audio_play_decoder.h:70
Definition: audio_play_decoder.h:22
audio_play_decoder_ops_t prompt_decoder
adpcm解码器结构对象
Definition: audio_play_decoder.c:895
Definition: audio_play_decoder.h:25
ci_adpcm_decoder_mode_t mode
Definition: audio_play_decoder.h:51
audio_play_decoder_ops_t aac_decoder
aac解码器结构对象
Definition: audio_play_decoder.c:1164
Definition: audio_play_decoder.h:24
Definition: audio_play_decoder.h:45
Definition: audio_play_decoder.h:29
int32_t(* destroy)(void)
Definition: audio_play_decoder.h:77
int samplerate
Definition: audio_play_decoder.h:33
void registe_decoder_ops(audio_play_decoder_ops_t *registe_ops)
注册解码器到解码器链表
Definition: audio_play_process.c:1758
audio_play_decoder_ops_t ms_wav_decoder
MS WAV解码器结构对象
Definition: audio_play_decoder.c:634