Commit Graph

8971 Commits

Author SHA1 Message Date
Max Kellermann
d5fa2af353 input/async: use IsEOF() instead of !open for "ready" check
Checking "!open" did not work with the NFS plugin because that plugin
does not close the file automatically, unlike CURL.
2014-06-21 14:13:31 +02:00
Max Kellermann
a877926f08 Revert "AsyncInputStream: fix assertion failure in AppendToBuffer()"
This reverts commit 966c4244cb.

The commit was bad, because the bug was really in
NfsInputStream::DoRead(); see previous commit.
2014-06-21 14:07:15 +02:00
Max Kellermann
3e4e6f7ced input/nfs: never read more than space available in buffer
Avoids off-by-one bug and obsoletes the bug fix in commit 966c4244
2014-06-21 14:06:31 +02:00
Max Kellermann
936eb43c0e db/proxy: initialize LightSong::real_uri
Fixes potential crash.
2014-06-21 12:37:23 +02:00
Max Kellermann
bb66cfa780 android build 4 2014-06-21 12:21:19 +02:00
Max Kellermann
1d626cb6ac android/build.py: add Boost 2014-06-21 12:06:58 +02:00
Max Kellermann
580346f4a7 android/build.py: upgrade CURL to 7.37.0 2014-06-21 12:06:58 +02:00
Max Kellermann
0fbcf64108 android/build.py: upgrade ffmpeg to 2.2.3 2014-06-21 11:38:43 +02:00
Max Kellermann
267faa3851 android/build.py: upgrade libogg to 1.3.2 2014-06-21 11:36:31 +02:00
Max Kellermann
fe50481f7b android/build.py: remove unused parameter from class FfmpegProject 2014-06-21 11:04:54 +02:00
nanotech
759616abd4 Makefile.am: use ICU_CFLAGS 2014-06-17 10:38:50 +02:00
Max Kellermann
eb8fd07900 lib/nfs/Manager: gcc 4.7 compatibility hack
std::map::emplace() is only available from gcc 4.8 on.
2014-06-17 10:35:34 +02:00
Max Kellermann
c99559dbe9 input/nfs: use the asynchronous libnfs API
More robust and cancellable.
2014-06-17 03:21:25 +02:00
Max Kellermann
966c4244cb AsyncInputStream: fix assertion failure in AppendToBuffer() 2014-06-17 03:21:11 +02:00
Max Kellermann
81283f8bcb AsyncInputStream: reset "paused" when seeking
May cause assertion failure.
2014-06-17 03:20:49 +02:00
Max Kellermann
8b84e5b3f9 input/curl: hold mutex while writing to postponed_error 2014-06-17 02:32:17 +02:00
Max Kellermann
e1d5ddb478 input/AsyncInputStream: add method IsBufferFull() 2014-06-17 02:32:17 +02:00
Max Kellermann
2da0322329 command: make argc unsigned 2014-06-16 19:50:34 +02:00
Max Kellermann
fefb35c782 Directory: eliminate attribute "have_stat"
Check for 0 in "device" and "inode" instead.
2014-06-16 19:46:35 +02:00
Max Kellermann
b2433a664c TagPool: move code to tag_value_slot_p() 2014-06-16 19:26:26 +02:00
Max Kellermann
adad4279f3 TagPool: convert macro to constexpr 2014-06-16 19:18:10 +02:00
Max Kellermann
3ca0a39a35 db/simple: use class boost::intrusive::list
Remove the C list_head library and use type-safe C++ instead.
2014-06-16 18:39:16 +02:00
Max Kellermann
52594e64d0 configure.ac: disable exceptions only with Boost 1.54 or newer
See https://svn.boost.org/trac/boost/ticket/7849
2014-06-16 18:39:16 +02:00
Max Kellermann
3364c1b893 ClientList: use class boost::intrusive::list
Eliminate extra allocations for the std::list node instances.
2014-06-11 09:27:17 +02:00
Max Kellermann
0801b3f495 configure.ac: check for Boost 2014-06-11 09:27:17 +02:00
Max Kellermann
657f00fe36 m4: update to pkg-config 0.28 2014-06-11 09:27:17 +02:00
Max Kellermann
044c81b644 m4: update to autoconf-archive 20140228 2014-06-11 08:08:33 +02:00
Max Kellermann
507d8fdc6f ClientList: add typedef List 2014-06-10 23:21:09 +02:00
Max Kellermann
31e29e62f4 zeroconf/Avahi: call dbus_shutdown() during shutdown
Make valgrind happy.
2014-06-10 23:21:09 +02:00
Max Kellermann
dfcb572985 Main: delete the Storage instance on shutdown 2014-06-10 23:21:09 +02:00
Max Kellermann
1d324176d1 lib/icu/Init: call u_init() and u_cleanup()
Make valgrind happy.
2014-06-10 23:21:09 +02:00
Max Kellermann
37b3190752 lib/icu: add IcuInit(), IcuFinish() 2014-06-10 23:21:09 +02:00
Max Kellermann
d51265d48f valgrind.suppressions: more library suppressions 2014-06-10 23:21:09 +02:00
Max Kellermann
dc14ac7a8f thread/Util: relicense to BSD-2 2014-05-31 12:11:53 +02:00
Max Kellermann
fb52a24da3 input/async: add offset/size comparison to IsEOF() 2014-05-24 15:19:22 +02:00
Max Kellermann
fbafb19657 input/curl: move code to AsyncInputStream
New base class for other InputStream implementations that run in the
I/O thread.
2014-05-24 14:36:28 +02:00
Max Kellermann
6c4438d8a9 input/curl: call SetReady() only if not yet ready
Fixes assertion failure.
2014-05-24 14:36:25 +02:00
Max Kellermann
be00737ced input/curl: include cleanup 2014-05-24 12:43:48 +02:00
Max Kellermann
07b93dcf80 InputStream: make Seek() always absolute
Remove the "whence" parameter that is not actually necessary, and only
complicates the InputStream implementations.
2014-05-22 13:52:00 +02:00
Max Kellermann
374c6a27db decoder/vorbis: make VorbisInputStream::input_stream a reference 2014-05-22 13:52:00 +02:00
Max Kellermann
36c9e95969 decoder/vorbis: add VorbisInputStream constructor 2014-05-22 13:52:00 +02:00
Max Kellermann
a3142ee4e6 decoder/vorbis: rename struct vorbis_input_stream to VorbisInputStream 2014-05-22 13:52:00 +02:00
Max Kellermann
437caeb90f decoder/vorbis: add "restrict" to pointers in vorbis_interleave()
Allows more compiler optimizations.
2014-05-22 13:52:00 +02:00
Max Kellermann
af49cace8d decoder/vorbis: log libvorbis version on startup 2014-05-22 13:52:00 +02:00
Max Kellermann
13b78d0d89 decoder/wavpack: move code to WavpackInput::ReadBytes() 2014-05-22 12:54:56 +02:00
Max Kellermann
65c135b451 decoder/wavpack: convert WavpackInput attributes to references 2014-05-22 12:52:33 +02:00
Max Kellermann
ec162f265f decoder/wavpack: move wavpack_input_init into struct WavpackInput 2014-05-22 12:47:20 +02:00
Max Kellermann
ba99696771 decoder/wavpack: wavpack_open_wvc() returns WavpackInput* 2014-05-22 12:36:55 +02:00
Max Kellermann
4eeea640f4 DecoderAPI: add function decoder_open_uri()
Move and refactor code from the Wavpack decoder plugin.
2014-05-22 12:35:20 +02:00
Max Kellermann
cc6f1020d0 test/run_decoder: merge code into FakeDecoderAPI.cxx
Eliminate duplicate code.
2014-05-22 12:35:20 +02:00