#ifndef APP_FLAC_CALLBACKS_H #define APP_FLAC_CALLBACKS_H #include "FLAC/stream_decoder.h" typedef struct { FIL fd; } app_flac_client_t; int app_flac_init(app_flac_client_t *client, const char *filename); FLAC__StreamDecoderReadStatus app_flac_read(const FLAC__StreamDecoder *decoder, FLAC__byte buffer[], size_t *bytes, void *client_data); FLAC__StreamDecoderSeekStatus app_flac_seek(const FLAC__StreamDecoder *decoder, FLAC__uint64 absolute_byte_offset, void *client_data); FLAC__StreamDecoderTellStatus app_flac_tell(const FLAC__StreamDecoder *decoder, FLAC__uint64 *absolute_byte_offset, void *client_data); FLAC__StreamDecoderLengthStatus app_flac_length(const FLAC__StreamDecoder *decoder, FLAC__uint64 *stream_length, void *client_data); FLAC__bool app_flac_eof(const FLAC__StreamDecoder *decoder, void *client_data); FLAC__StreamDecoderWriteStatus app_flac_write(const FLAC__StreamDecoder *decoder, const FLAC__Frame *frame, const FLAC__int32 *const buffer[], void *client_data); void app_flac_meta(const FLAC__StreamDecoder *decoder, const FLAC__StreamMetadata *metadata, void *client_data); void app_flac_error(const FLAC__StreamDecoder *decoder, FLAC__StreamDecoderErrorStatus status, void *client_data); #endif