00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef MPD_DECODER_API_H
00021 #define MPD_DECODER_API_H
00022
00023
00024
00025
00026
00027
00028
00029 #include "decoder_command.h"
00030 #include "decoder_plugin.h"
00031 #include "input_stream.h"
00032 #include "replay_gain.h"
00033 #include "tag.h"
00034 #include "audio_format.h"
00035 #include "conf.h"
00036
00037 #include <stdbool.h>
00038
00039
00044 void decoder_initialized(struct decoder * decoder,
00045 const struct audio_format *audio_format,
00046 bool seekable, float total_time);
00047
00054 char *decoder_get_uri(struct decoder *decoder);
00055
00056 enum decoder_command decoder_get_command(struct decoder * decoder);
00057
00063 void decoder_command_finished(struct decoder * decoder);
00064
00065 double decoder_seek_where(struct decoder * decoder);
00066
00067 void decoder_seek_error(struct decoder * decoder);
00068
00074 size_t decoder_read(struct decoder *decoder,
00075 struct input_stream *inStream,
00076 void *buffer, size_t length);
00077
00085 enum decoder_command
00086 decoder_data(struct decoder *decoder,
00087 struct input_stream *inStream,
00088 const void *data, size_t datalen,
00089 float data_time, uint16_t bitRate,
00090 struct replay_gain_info *replay_gain_info);
00091
00099 enum decoder_command
00100 decoder_tag(struct decoder *decoder, struct input_stream *is,
00101 const struct tag *tag);
00102
00103 #endif