aboutsummaryrefslogtreecommitdiffstats
path: root/src (unfollow)
Commit message (Collapse)AuthorFilesLines
2014-05-31thread/Util: relicense to BSD-2Max Kellermann1-15/+25
2014-05-24input/async: add offset/size comparison to IsEOF()Max Kellermann1-1/+2
2014-05-24input/curl: move code to AsyncInputStreamMax Kellermann3-211/+409
New base class for other InputStream implementations that run in the I/O thread.
2014-05-24input/curl: call SetReady() only if not yet readyMax Kellermann1-1/+2
Fixes assertion failure.
2014-05-24input/curl: include cleanupMax Kellermann1-7/+0
2014-05-22InputStream: make Seek() always absoluteMax Kellermann27-124/+181
Remove the "whence" parameter that is not actually necessary, and only complicates the InputStream implementations.
2014-05-22decoder/vorbis: make VorbisInputStream::input_stream a referenceMax Kellermann1-6/+6
2014-05-22decoder/vorbis: add VorbisInputStream constructorMax Kellermann1-14/+13
2014-05-22decoder/vorbis: rename struct vorbis_input_stream to VorbisInputStreamMax Kellermann1-7/+7
2014-05-22decoder/vorbis: add "restrict" to pointers in vorbis_interleave()Max Kellermann1-2/+2
Allows more compiler optimizations.
2014-05-22decoder/vorbis: log libvorbis version on startupMax Kellermann1-1/+11
2014-05-22decoder/wavpack: move code to WavpackInput::ReadBytes()Max Kellermann1-6/+12
2014-05-22decoder/wavpack: convert WavpackInput attributes to referencesMax Kellermann1-12/+12
2014-05-22decoder/wavpack: move wavpack_input_init into struct WavpackInputMax Kellermann1-16/+7
2014-05-22decoder/wavpack: wavpack_open_wvc() returns WavpackInput*Max Kellermann1-14/+12
2014-05-22DecoderAPI: add function decoder_open_uri()Max Kellermann3-18/+43
Move and refactor code from the Wavpack decoder plugin.
2014-05-22decoder/wavpack: rename struct wavpack_input to WavpackInputMax Kellermann1-8/+8
2014-05-21input/curl: relock mutex in error pathsMax Kellermann1-2/+7
2014-05-21input/curl: pass remaining size to CircularBuffer::Append()Max Kellermann1-1/+1
2014-05-21input/curl: move code to IcyInputStreamMax Kellermann5-86/+218
2014-05-21input/rewind: move code to class ProxyInputStreamMax Kellermann3-59/+175
2014-05-21input/InputStream: move Open() to Open.cxxMax Kellermann2-50/+72
Allow compiling test programs with only selected plugins.
2014-05-21input/rewind: include cleanupMax Kellermann1-4/+2
2014-05-21input/rewind: work around assertion failureMax Kellermann1-1/+1
Caused by commit 0b4fa41a
2014-05-12ThreadInputStream: include cleanupMax Kellermann1-1/+0
2014-05-12InputStream: "protect" attributesMax Kellermann14-37/+53
2014-05-12input/cdio: convert to classMax Kellermann1-1/+2
2014-05-12input/cdio: move initialization code to constructorMax Kellermann1-51/+50
Make attributes const, don't allow partial initialization. Instantiate the CdioParanoiaInputStream object at the end of input_cdio_open().
2014-05-12input/cdio: handle cdio_open() failureMax Kellermann1-0/+5
2014-05-12input/cdio: initialize lsn_relofs in constructorMax Kellermann1-2/+1
2014-05-12input/cdio: initialize attribute "buffer_lsn"Max Kellermann1-1/+2
2014-05-12input/cdio: remove unused attribute "trackno"Max Kellermann1-11/+6
2014-05-12icu/Collate: use u_strFoldCase() instead of ucol_getSortKey()Max Kellermann1-10/+41
Turns out ucol_getSortKey() does not what I thought it does.
2014-05-12icu/Collate: UCharFromUTF8() returns WritableBuffer<UChar>Max Kellermann1-19/+20
2014-05-12icu/Collate: initialize error_codeMax Kellermann1-1/+1
Fixes the broken "search" command.
2014-05-12mixer/software: keep attribute "volume" in the 0..100 rangeMax Kellermann1-7/+19
The attribute must be 0..100 and not 0..1024. Previously, the code was inconsistent.
2014-05-11InputStream: remove attribute "plugin"Max Kellermann16-63/+21
2014-05-11InputStream: make various methods abstractMax Kellermann19-643/+252
Replace InputPlugin attributes.
2014-05-11InputStream: add virtual destructorMax Kellermann26-173/+42
Replaces the method Close().
2014-05-11input/plugins: make InputStream the base classMax Kellermann15-320/+236
Prepare for adding virtual methods.
2014-05-11input/rewind: convert to classMax Kellermann1-46/+89
2014-05-11InputStream: convert to classMax Kellermann30-68/+130
2014-05-10PlaylistCommands: remove redundant playlist_load_spl() callMax Kellermann3-56/+1
This case is handled already by playlist_open_in_playlist_dir() (via playlist_mapper_open()). And the call didn't work anyway.
2014-05-10PlaylistMapper: use map_spl_utf8_to_fs()Max Kellermann1-10/+2
Eliminates some overhead and some duplicate code, and fixes a serious bug: the old code did not append the ".m3u" suffix, and thus the "load" command was completely broken for stored playlists. D'oh!
2014-04-29decoder/OggUtil: allow skipping up to 32 kB after seekMax Kellermann1-1/+1
Fixes missing song length on high-latency Opus files. According to tests with 320 kbit/s opus files with 60ms packets, we need to skip up to 29 kB.
2014-04-27db/Count: implement groupingMax Kellermann3-9/+98
2014-04-27db/Count: add constructorMax Kellermann1-2/+3
2014-04-26DatabasePrint: move PrintSongCount() to Count.cxxMax Kellermann5-54/+111
2014-04-26DeferredMonitor: fix race condition when using GLib event loopMax Kellermann2-11/+22
Turns out the lock-free code using atomics was not thread-safe. The given callback could be invoked by GLib before the source_id attribute was assigned. This commit changes the DeferredMonitor class to use a Mutex to block the event loop until source_id is assigned. This bug does not exist in the 0.19 branch because it does not use the GLib main loop anymore.
2014-04-25db/Helpers: split libraryMax Kellermann5-47/+98