25 lines
1.5 KiB
C
25 lines
1.5 KiB
C
#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 |