Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | input/async: use IsEOF() instead of !open for "ready" check | Max Kellermann | 2014-06-21 | 1 | -2/+3 |
| | | | | | Checking "!open" did not work with the NFS plugin because that plugin does not close the file automatically, unlike CURL. | ||||
* | Revert "AsyncInputStream: fix assertion failure in AppendToBuffer()" | Max Kellermann | 2014-06-21 | 1 | -6/+4 |
| | | | | | | | This reverts commit 966c4244cbe0de174df1e72e917078269ec9dbb9. The commit was bad, because the bug was really in NfsInputStream::DoRead(); see previous commit. | ||||
* | input/nfs: never read more than space available in buffer | Max Kellermann | 2014-06-21 | 1 | -2/+4 |
| | | | | Avoids off-by-one bug and obsoletes the bug fix in commit 966c4244 | ||||
* | db/proxy: initialize LightSong::real_uri | Max Kellermann | 2014-06-21 | 1 | -0/+1 |
| | | | | Fixes potential crash. | ||||
* | lib/nfs/Manager: gcc 4.7 compatibility hack | Max Kellermann | 2014-06-17 | 3 | -0/+32 |
| | | | | std::map::emplace() is only available from gcc 4.8 on. | ||||
* | input/nfs: use the asynchronous libnfs API | Max Kellermann | 2014-06-17 | 12 | -84/+1536 |
| | | | | More robust and cancellable. | ||||
* | AsyncInputStream: fix assertion failure in AppendToBuffer() | Max Kellermann | 2014-06-17 | 1 | -4/+6 |
| | |||||
* | AsyncInputStream: reset "paused" when seeking | Max Kellermann | 2014-06-17 | 1 | -0/+1 |
| | | | | May cause assertion failure. | ||||
* | input/curl: hold mutex while writing to postponed_error | Max Kellermann | 2014-06-17 | 3 | -3/+16 |
| | |||||
* | input/AsyncInputStream: add method IsBufferFull() | Max Kellermann | 2014-06-17 | 1 | -0/+4 |
| | |||||
* | command: make argc unsigned | Max Kellermann | 2014-06-16 | 25 | -206/+205 |
| | |||||
* | Directory: eliminate attribute "have_stat" | Max Kellermann | 2014-06-16 | 3 | -4/+3 |
| | | | | Check for 0 in "device" and "inode" instead. | ||||
* | TagPool: move code to tag_value_slot_p() | Max Kellermann | 2014-06-16 | 1 | -9/+18 |
| | |||||
* | TagPool: convert macro to constexpr | Max Kellermann | 2014-06-16 | 1 | -1/+1 |
| | |||||
* | db/simple: use class boost::intrusive::list | Max Kellermann | 2014-06-16 | 11 | -946/+151 |
| | | | | Remove the C list_head library and use type-safe C++ instead. | ||||
* | ClientList: use class boost::intrusive::list | Max Kellermann | 2014-06-11 | 4 | -29/+25 |
| | | | | Eliminate extra allocations for the std::list node instances. | ||||
* | ClientList: add typedef List | Max Kellermann | 2014-06-10 | 1 | -3/+5 |
| | |||||
* | zeroconf/Avahi: call dbus_shutdown() during shutdown | Max Kellermann | 2014-06-10 | 1 | -0/+4 |
| | | | | Make valgrind happy. | ||||
* | Main: delete the Storage instance on shutdown | Max Kellermann | 2014-06-10 | 1 | -0/+2 |
| | |||||
* | lib/icu/Init: call u_init() and u_cleanup() | Max Kellermann | 2014-06-10 | 1 | -0/+14 |
| | | | | Make valgrind happy. | ||||
* | lib/icu: add IcuInit(), IcuFinish() | Max Kellermann | 2014-06-10 | 4 | -11/+81 |
| | |||||
* | thread/Util: relicense to BSD-2 | Max Kellermann | 2014-05-31 | 1 | -15/+25 |
| | |||||
* | input/async: add offset/size comparison to IsEOF() | Max Kellermann | 2014-05-24 | 1 | -1/+2 |
| | |||||
* | input/curl: move code to AsyncInputStream | Max Kellermann | 2014-05-24 | 3 | -211/+409 |
| | | | | | New base class for other InputStream implementations that run in the I/O thread. | ||||
* | input/curl: call SetReady() only if not yet ready | Max Kellermann | 2014-05-24 | 1 | -1/+2 |
| | | | Fixes assertion failure. | ||||
* | input/curl: include cleanup | Max Kellermann | 2014-05-24 | 1 | -7/+0 |
| | |||||
* | InputStream: make Seek() always absolute | Max Kellermann | 2014-05-22 | 27 | -124/+181 |
| | | | | | Remove the "whence" parameter that is not actually necessary, and only complicates the InputStream implementations. | ||||
* | decoder/vorbis: make VorbisInputStream::input_stream a reference | Max Kellermann | 2014-05-22 | 1 | -6/+6 |
| | |||||
* | decoder/vorbis: add VorbisInputStream constructor | Max Kellermann | 2014-05-22 | 1 | -14/+13 |
| | |||||
* | decoder/vorbis: rename struct vorbis_input_stream to VorbisInputStream | Max Kellermann | 2014-05-22 | 1 | -7/+7 |
| | |||||
* | decoder/vorbis: add "restrict" to pointers in vorbis_interleave() | Max Kellermann | 2014-05-22 | 1 | -2/+2 |
| | | | | Allows more compiler optimizations. | ||||
* | decoder/vorbis: log libvorbis version on startup | Max Kellermann | 2014-05-22 | 1 | -1/+11 |
| | |||||
* | decoder/wavpack: move code to WavpackInput::ReadBytes() | Max Kellermann | 2014-05-22 | 1 | -6/+12 |
| | |||||
* | decoder/wavpack: convert WavpackInput attributes to references | Max Kellermann | 2014-05-22 | 1 | -12/+12 |
| | |||||
* | decoder/wavpack: move wavpack_input_init into struct WavpackInput | Max Kellermann | 2014-05-22 | 1 | -16/+7 |
| | |||||
* | decoder/wavpack: wavpack_open_wvc() returns WavpackInput* | Max Kellermann | 2014-05-22 | 1 | -14/+12 |
| | |||||
* | DecoderAPI: add function decoder_open_uri() | Max Kellermann | 2014-05-22 | 3 | -18/+43 |
| | | | Move and refactor code from the Wavpack decoder plugin. | ||||
* | decoder/wavpack: rename struct wavpack_input to WavpackInput | Max Kellermann | 2014-05-22 | 1 | -8/+8 |
| | |||||
* | input/curl: relock mutex in error paths | Max Kellermann | 2014-05-21 | 1 | -2/+7 |
| | |||||
* | input/curl: pass remaining size to CircularBuffer::Append() | Max Kellermann | 2014-05-21 | 1 | -1/+1 |
| | |||||
* | input/curl: move code to IcyInputStream | Max Kellermann | 2014-05-21 | 5 | -86/+218 |
| | |||||
* | input/rewind: move code to class ProxyInputStream | Max Kellermann | 2014-05-21 | 3 | -59/+175 |
| | |||||
* | input/InputStream: move Open() to Open.cxx | Max Kellermann | 2014-05-21 | 2 | -50/+72 |
| | | | | Allow compiling test programs with only selected plugins. | ||||
* | input/rewind: include cleanup | Max Kellermann | 2014-05-21 | 1 | -4/+2 |
| | |||||
* | input/rewind: work around assertion failure | Max Kellermann | 2014-05-21 | 1 | -1/+1 |
| | | | | Caused by commit 0b4fa41a | ||||
* | ThreadInputStream: include cleanup | Max Kellermann | 2014-05-12 | 1 | -1/+0 |
| | |||||
* | InputStream: "protect" attributes | Max Kellermann | 2014-05-12 | 14 | -37/+53 |
| | |||||
* | input/cdio: convert to class | Max Kellermann | 2014-05-12 | 1 | -1/+2 |
| | |||||
* | input/cdio: move initialization code to constructor | Max Kellermann | 2014-05-12 | 1 | -51/+50 |
| | | | | | | Make attributes const, don't allow partial initialization. Instantiate the CdioParanoiaInputStream object at the end of input_cdio_open(). | ||||
* | input/cdio: handle cdio_open() failure | Max Kellermann | 2014-05-12 | 1 | -0/+5 |
| |