20 #ifndef MPD_INPUT_STREAM_HXX
21 #define MPD_INPUT_STREAM_HXX
100 mutex(_mutex), cond(_cond),
101 ready(false), seekable(false),
102 size(UNKNOWN_SIZE), offset(0) {
103 assert(_uri !=
nullptr);
158 virtual void Check();
190 return !mime.empty();
197 return mime.empty() ?
nullptr : mime.c_str();
214 mime = std::move(_mime);
276 virtual void Seek(offset_type offset);
299 void Skip(offset_type _offset) {
311 virtual bool IsEOF() = 0;
361 virtual size_t Read(
void *ptr,
size_t size) = 0;
370 size_t LockRead(
void *ptr,
size_t size);
384 void ReadFull(
void *ptr,
size_t size);
The meta information about a song file.
std::unique_ptr< InputStream > InputStreamPtr
uint64_t offset_type
A type for absolute offsets in a file.