aboutsummaryrefslogtreecommitdiffstats
path: root/src (follow)
Commit message (Collapse)AuthorAgeFilesLines
* InputStream: make Seek() always absoluteMax Kellermann2014-05-2227-124/+181
| | | | | Remove the "whence" parameter that is not actually necessary, and only complicates the InputStream implementations.
* decoder/vorbis: make VorbisInputStream::input_stream a referenceMax Kellermann2014-05-221-6/+6
|
* decoder/vorbis: add VorbisInputStream constructorMax Kellermann2014-05-221-14/+13
|
* decoder/vorbis: rename struct vorbis_input_stream to VorbisInputStreamMax Kellermann2014-05-221-7/+7
|
* decoder/vorbis: add "restrict" to pointers in vorbis_interleave()Max Kellermann2014-05-221-2/+2
| | | | Allows more compiler optimizations.
* decoder/vorbis: log libvorbis version on startupMax Kellermann2014-05-221-1/+11
|
* decoder/wavpack: move code to WavpackInput::ReadBytes()Max Kellermann2014-05-221-6/+12
|
* decoder/wavpack: convert WavpackInput attributes to referencesMax Kellermann2014-05-221-12/+12
|
* decoder/wavpack: move wavpack_input_init into struct WavpackInputMax Kellermann2014-05-221-16/+7
|
* decoder/wavpack: wavpack_open_wvc() returns WavpackInput*Max Kellermann2014-05-221-14/+12
|
* DecoderAPI: add function decoder_open_uri()Max Kellermann2014-05-223-18/+43
| | | Move and refactor code from the Wavpack decoder plugin.
* decoder/wavpack: rename struct wavpack_input to WavpackInputMax Kellermann2014-05-221-8/+8
|
* input/curl: relock mutex in error pathsMax Kellermann2014-05-211-2/+7
|
* input/curl: pass remaining size to CircularBuffer::Append()Max Kellermann2014-05-211-1/+1
|
* input/curl: move code to IcyInputStreamMax Kellermann2014-05-215-86/+218
|
* input/rewind: move code to class ProxyInputStreamMax Kellermann2014-05-213-59/+175
|
* input/InputStream: move Open() to Open.cxxMax Kellermann2014-05-212-50/+72
| | | | Allow compiling test programs with only selected plugins.
* input/rewind: include cleanupMax Kellermann2014-05-211-4/+2
|
* input/rewind: work around assertion failureMax Kellermann2014-05-211-1/+1
| | | | Caused by commit 0b4fa41a
* ThreadInputStream: include cleanupMax Kellermann2014-05-121-1/+0
|
* InputStream: "protect" attributesMax Kellermann2014-05-1214-37/+53
|
* input/cdio: convert to classMax Kellermann2014-05-121-1/+2
|
* input/cdio: move initialization code to constructorMax Kellermann2014-05-121-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() failureMax Kellermann2014-05-121-0/+5
|
* input/cdio: initialize lsn_relofs in constructorMax Kellermann2014-05-121-2/+1
|
* input/cdio: initialize attribute "buffer_lsn"Max Kellermann2014-05-121-1/+2
|
* input/cdio: remove unused attribute "trackno"Max Kellermann2014-05-121-11/+6
|
* Merge tag 'v0.18.11'Max Kellermann2014-05-121-1/+1
|\
| * decoder/OggUtil: allow skipping up to 32 kB after seekMax Kellermann2014-04-291-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.
| * DeferredMonitor: fix race condition when using GLib event loopMax Kellermann2014-04-262-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.
* | icu/Collate: use u_strFoldCase() instead of ucol_getSortKey()Max Kellermann2014-05-121-10/+41
| | | | | | | | Turns out ucol_getSortKey() does not what I thought it does.
* | icu/Collate: UCharFromUTF8() returns WritableBuffer<UChar>Max Kellermann2014-05-121-19/+20
| |
* | icu/Collate: initialize error_codeMax Kellermann2014-05-121-1/+1
| | | | | | | | Fixes the broken "search" command.
* | mixer/software: keep attribute "volume" in the 0..100 rangeMax Kellermann2014-05-121-7/+19
| | | | | | | | | | The attribute must be 0..100 and not 0..1024. Previously, the code was inconsistent.
* | InputStream: remove attribute "plugin"Max Kellermann2014-05-1116-63/+21
| |
* | InputStream: make various methods abstractMax Kellermann2014-05-1119-643/+252
| | | | | | | | Replace InputPlugin attributes.
* | InputStream: add virtual destructorMax Kellermann2014-05-1126-173/+42
| | | | | | Replaces the method Close().
* | input/plugins: make InputStream the base classMax Kellermann2014-05-1115-320/+236
| | | | | | | | Prepare for adding virtual methods.
* | input/rewind: convert to classMax Kellermann2014-05-111-46/+89
| |
* | InputStream: convert to classMax Kellermann2014-05-1130-68/+130
| |
* | PlaylistCommands: remove redundant playlist_load_spl() callMax Kellermann2014-05-103-56/+1
| | | | | | | | | | This case is handled already by playlist_open_in_playlist_dir() (via playlist_mapper_open()). And the call didn't work anyway.
* | PlaylistMapper: use map_spl_utf8_to_fs()Max Kellermann2014-05-101-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!
* | db/Count: implement groupingMax Kellermann2014-04-273-9/+98
| |
* | db/Count: add constructorMax Kellermann2014-04-271-2/+3
| |
* | DatabasePrint: move PrintSongCount() to Count.cxxMax Kellermann2014-04-265-54/+111
| |
* | db/Helpers: split libraryMax Kellermann2014-04-255-47/+98
| |
* | DatabasePrint: refactor variable/function namesMax Kellermann2014-04-253-23/+23
| |
* | LogInit: fix file descriptor leak in SIGHUP handlerMax Kellermann2014-04-251-0/+2
| |
* | DatabaseCommands: disallow "grouping" by the selected tagMax Kellermann2014-04-251-0/+7
| | | | | | | | Fixes assertion failure.
* | db/Helpers: move code to tag/Set.cxxMax Kellermann2014-04-243-89/+131
| |