20 #ifndef MPD_FLAC_INPUT_HXX 21 #define MPD_FLAC_INPUT_HXX 23 #include <FLAC/stream_decoder.h> 40 :client(_client), input_stream(_input_stream) {}
51 FLAC__StreamDecoderReadStatus
Read(FLAC__byte buffer[],
size_t *bytes);
52 FLAC__StreamDecoderSeekStatus
Seek(FLAC__uint64 absolute_byte_offset);
53 FLAC__StreamDecoderTellStatus
Tell(FLAC__uint64 *absolute_byte_offset);
54 FLAC__StreamDecoderLengthStatus
Length(FLAC__uint64 *stream_length);
56 void Error(FLAC__StreamDecoderErrorStatus status);
59 static FLAC__StreamDecoderReadStatus
60 Read(
const FLAC__StreamDecoder *flac_decoder,
61 FLAC__byte buffer[],
size_t *bytes,
void *client_data);
63 static FLAC__StreamDecoderSeekStatus
64 Seek(
const FLAC__StreamDecoder *flac_decoder,
65 FLAC__uint64 absolute_byte_offset,
void *client_data);
67 static FLAC__StreamDecoderTellStatus
68 Tell(
const FLAC__StreamDecoder *flac_decoder,
69 FLAC__uint64 *absolute_byte_offset,
void *client_data);
71 static FLAC__StreamDecoderLengthStatus
72 Length(
const FLAC__StreamDecoder *flac_decoder,
73 FLAC__uint64 *stream_length,
void *client_data);
76 Eof(
const FLAC__StreamDecoder *flac_decoder,
void *client_data);
79 Error(
const FLAC__StreamDecoder *decoder,
80 FLAC__StreamDecoderErrorStatus status,
void *client_data);
An interface between the decoder plugin and the MPD core.