aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* DetachedSong: fork of struct SongMax Kellermann2014-01-0970-785/+817
| | | | | | From now on, struct Song will be used by the database only, and DetachedSong will be used by everybody else. DetachedSong is easier to use, but Song has lower overhead.
* test/DumpDatabase: fix nullptr dereferenceMax Kellermann2014-01-091-1/+1
|
* SongUpdate: move code to handle_lsinfo()Max Kellermann2014-01-085-20/+30
| | | | | Don't create a temporary Song object in handle_lsinfo(). Instead, print all tags while parsing the remote file.
* SongSave: make variables more localMax Kellermann2014-01-081-5/+4
|
* doc/user.xml: add alsa input sectionSteven O'Brien2014-01-081-0/+18
|
* Merge branch 'v0.18.x'Max Kellermann2014-01-086-3/+12
|\
| * decoder/faad: fix memory leakMax Kellermann2014-01-082-0/+4
| |
| * playlist/pls: don't free stack bufferMax Kellermann2014-01-082-1/+1
| |
| * doc/user: fix typoMax Kellermann2014-01-071-1/+1
| |
| * util/UriUtil: uri_get_suffix() fails if name begins with dotMax Kellermann2013-12-292-1/+6
| | | | | | | | | | A file called ".jpg" is not a JPEG file with an empty name; it is merely a hidden file.
* | valgrind.suppressions: add libsmbclient suppressionsMax Kellermann2014-01-081-0/+22
| |
* | playlist/pls: make variables more localMax Kellermann2014-01-081-17/+9
| |
* | playlist/pls: convert "while" loop to "for" loopMax Kellermann2014-01-081-2/+1
| |
* | playlist/pls: simplify error handlerMax Kellermann2014-01-081-11/+4
| | | | | | | | | | Don't pass a GError** to g_key_file_get_X(). We don't need to dispose something we didn't request in the first place.
* | DespotifyUtils: return Tag, not pointerMax Kellermann2014-01-084-12/+12
| |
* | DespotifyUtils: pass const ds_track referenceMax Kellermann2014-01-084-17/+17
| |
* | tag/TagBuilder: overload Commit() returning a Tag objectMax Kellermann2014-01-087-12/+24
| |
* | tag/TagBuilder: rename Commit() to CommitNew()Max Kellermann2014-01-0820-23/+23
| |
* | input/AlsaInputPlugin: remove unnecessary alsa s/w param setting to fix high ↵Steven O'Brien2014-01-081-9/+0
| | | | | | | | CPU load issue
* | SongSticker: use Song referencesMax Kellermann2014-01-084-31/+26
| |
* | PlayerThread: use Song referencesMax Kellermann2014-01-081-15/+13
| |
* | DecoderThread: use Song referencesMax Kellermann2014-01-081-10/+10
| |
* | test: add missing includesMax Kellermann2014-01-078-0/+11
| |
* | util/Alloc: new library replacing GLib's g_malloc()Max Kellermann2014-01-0720-57/+209
| |
* | DecoderBuffer: use NewVarSize()Max Kellermann2014-01-071-13/+10
| |
* | tag/TagPool: use NewVarSize() to allocate TagPoolSlotMax Kellermann2014-01-071-21/+27
| |
* | tag/TagPool: rename struct slot to TagPoolSlotMax Kellermann2014-01-071-14/+13
| |
* | tag/TagPool: use gcc_packed instead of mpd_packedMax Kellermann2014-01-071-1/+1
| | | | | | | | | | By accident, this declared a global variable instead of adding the "packed" attribute.
* | Directory: make some code generic, move to VarSize.hxxMax Kellermann2014-01-074-10/+94
| |
* | Directory: use g_malloc() instead of g_malloc0()Max Kellermann2014-01-071-3/+4
| | | | | | | | Explicit attribute initialization.
* | playlist/soundcloud: parse URI without copying itMax Kellermann2014-01-071-19/+11
| |
* | playlist/soundcloud: change scheme check to assertionMax Kellermann2014-01-071-18/+2
| | | | | | | | The MPD core takes care for checking the scheme.
* | playlist/soundcloud: eliminate nullptr checks before g_free()Max Kellermann2014-01-071-8/+4
| |
* | pcm/Utils: remove unused function pcm_end_pointer()Max Kellermann2014-01-071-12/+0
| |
* | pcm/Volume: use number of samples instead of end pointerMax Kellermann2014-01-071-25/+19
| |
* | pcm/Format: change parameters/return values to ConstBufferMax Kellermann2014-01-065-294/+191
| |
* | pcm/Format: use number of samples instead of end pointerMax Kellermann2014-01-061-44/+34
| |
* | DecoderBuffer: _read() returns ConstBuffer objectMax Kellermann2014-01-063-68/+55
| |
* | DecoderBuffer: add "pure" attributesMax Kellermann2014-01-061-0/+4
| |
* | DecoderBuffer: add method _clear()Max Kellermann2014-01-063-8/+12
| |
* | decoder/faad: make variables more localMax Kellermann2014-01-061-47/+31
| |
* | decoder/faad: eliminate local variable "ret"Max Kellermann2014-01-061-5/+2
| |
* | event/Loop: cancel the WakeFD monitor in destructorMax Kellermann2014-01-061-0/+4
| |
* | input/AlsaInputPlugin.cxx: use I/O thread to poll for available dataSteven O'Brien2014-01-061-55/+289
| | | | | | | | [mk: modified to use MultiSocketMonitor instead of SocketMonitor]
* | event/MultiSocketMonitor: add method ClearSocketList()Max Kellermann2014-01-063-1/+17
| |
* | event/SocketMonitor: don't close the socket automaticallyMax Kellermann2014-01-0612-21/+20
| | | | | | | | | | | | Users now have to call Close() explicitly. This simplifies using the class, as most users have automatic socket management already, and Steal() had to be used often.
* | util/Cast: new utility libraryMax Kellermann2014-01-064-2/+63
| |
* | event/IdleMonitor: cancel in destructor only if activeMax Kellermann2014-01-061-1/+6
| | | | | | | | Debug-mode workaround for bogus assertion failure.
* | event/MultiSocketMonitor: API documentationMax Kellermann2014-01-061-0/+10
| |
* | event/Loop: try to avoid the WakeFD when adding DeferredMonitorMax Kellermann2014-01-052-2/+24
| | | | | | | | | | | | | | | | | | Add a flag that indicates whether the EventLoop is currently "busy". As long as that flag is set, it does not need to be woken up - we can simply add the DeferredMonitor to the list, and it will be caught by EventLoop very soon. This eliminates nearly all of the DeferredMonitor overhead when compared to IdleMonitor, rendering IdleMonitor mostly obsolete.