36#ifndef MODULES_INCLUDE_AUDIO_UTILITIES_WAV_CONTAINERFORMAT_PARSER_H
37#define MODULES_INCLUDE_AUDIO_UTILITIES_WAV_CONTAINERFORMAT_PARSER_H
39#include "audio/utilities/wav_containerformat_common.h"
41typedef void* handel_wav_parser;
45#define STDIO_BUFFER_SIZE 4096
47#define MAX_CHUNK_LIST 128
124 chunk_list_t chunk_list;
125 uint32_t chunk_offset[MAX_CHUNK_LIST];
126 uint32_t data_offset;
137class WavContainerFormatParser
140 WavContainerFormatParser() {}
141 ~WavContainerFormatParser() {}
155 handel_wav_parser
parseChunk(
const char *file_path, fmt_chunk_t *fmt);
182 bool getChunk(handel_wav_parser handle, uint32_t chunk_id, int8_t *buffer);
197 int32_t
getDataChunk(handel_wav_parser handle, uint16_t format, int8_t *buffer, uint32_t size);
Definition wav_containerformat_parser.h:66
uint8_t cnt
Number of chunks in a list.
Definition wav_containerformat_parser.h:69
chunk_t chunk[MAX_CHUNK_LIST]
Chunk list (MAX num is MAX_CHUNK_LIST)
Definition wav_containerformat_parser.h:73
Definition wav_containerformat_parser.h:52
uint32_t chunk_id
Chunk ID.
Definition wav_containerformat_parser.h:55
int32_t size
Chunk size.
Definition wav_containerformat_parser.h:59
Definition wav_containerformat_parser.h:89
uint16_t extended_size
extend area size
Definition wav_containerformat_parser.h:116
uint16_t bit
bit per sample
Definition wav_containerformat_parser.h:112
uint16_t block
block size
Definition wav_containerformat_parser.h:108
uint16_t channel
Number of channel.
Definition wav_containerformat_parser.h:96
uint16_t format
Number of chunks in a list.
Definition wav_containerformat_parser.h:92
uint32_t avgbyte
Averate byte per second.
Definition wav_containerformat_parser.h:104
uint32_t rate
Sampling rate (fs)
Definition wav_containerformat_parser.h:100
Definition wav_containerformat_parser.h:123
Definition wav_containerformat_parser.h:80