aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* db/upnp: use move operator to assign XML CDATAMax Kellermann2014-01-182-12/+12
| | | | Reduce runtime bloat.
* db/upnp/Util: trimstring() constructs string from bufferMax Kellermann2014-01-184-17/+15
| | | | | Reduce overhead by omitting the part of the buffer that consists only of whitespace.
* db/upnp/Discovery: free the response bodyMax Kellermann2014-01-181-0/+1
| | | | Memory leak.
* db/upnp/Discovery: don't copy the response bodyMax Kellermann2014-01-181-2/+1
| | | | Bloat.
* db/upnp: don't hold mutex while downloading device descriptionMax Kellermann2014-01-181-1/+1
| | | | Must not perform blocking I/O while holding a mutex.
* db/upnp: don't use WorkQueue for _ADVERTISEMENT_BYEBYEMax Kellermann2014-01-182-36/+30
| | | | Remove the ContentDirectoryDescriptor right away. Reduces bloat.
* db/upnp: include cleanupMax Kellermann2014-01-181-1/+0
|
* db/upnp: don't use LazyDatabaseMax Kellermann2014-01-181-2/+1
| | | | Now that MPD forks early, this workaround is obsolete.
* Daemon: fork as early as possibleMax Kellermann2014-01-184-28/+107
| | | | | | | Keep the parent process around until MPD has finished initializing. This is important for libraries that are allergic to fork(), such as libupnp.
* PidFile: open in write-only modeMax Kellermann2014-01-181-1/+1
|
* Daemon: move code to class PidFileMax Kellermann2014-01-183-19/+72
|
* Daemon: don't use daemon(), always require fork()Max Kellermann2014-01-182-12/+0
| | | | | | Prepare for more advanced daemonization code, which will not work with daemon(). Let's just require fork(). Everybody who supports daemon() also supports fork().
* Main: make variables more localMax Kellermann2014-01-181-13/+9
|
* Main: eliminate variable "success"Max Kellermann2014-01-181-10/+7
|
* pcm/Volume: make DSD a no-opMax Kellermann2014-01-171-2/+8
| | | | | Kludge to work around DSD playback failure because the ReplayGainFilterPlugin is always in the filter chain.
* Mapper: add function map_song_detach()Max Kellermann2014-01-177-5/+27
| | | | | | Make the DetachedSong(Song) conversion constructor private. Everybody should use map_song_detach() which will take over more responsibilities soon.
* QueueSave: use DatabaseDetachSong()Max Kellermann2014-01-171-11/+3
|
* DatabaseSong: new library merging duplicate codeMax Kellermann2014-01-176-35/+91
|
* db/upnp/Discovery: move callbacks and data structures into classMax Kellermann2014-01-173-72/+80
| | | | Eliminate global variables.
* db/upnp: split cluCallback()Max Kellermann2014-01-171-15/+29
|
* db/upnp: add local reference variablesMax Kellermann2014-01-171-11/+16
| | | | Prepare to refactor some code.
* db/upnp: move the LibUPnP instance to class UpnpDatabaseMax Kellermann2014-01-167-77/+49
| | | | Delete the object when closing the database.
* db/upnp: remove useless static MutexMax Kellermann2014-01-161-6/+0
|
* db/upnp: move the UPnPDeviceDirectory instance to class UpnpDatabaseMax Kellermann2014-01-163-19/+8
| | | | Delete the object when closing the database.
* db/upnp: don't initialize attributes to nullptrMax Kellermann2014-01-161-4/+0
| | | | Not necessary, these are not used.
* db/upnp: remove redundant m_root nullptr checksMax Kellermann2014-01-161-5/+1
|
* db/upnp/WorkQueue: use emplace() and std::move()Max Kellermann2014-01-161-3/+4
|
* db/upnp/WorkQueue: simplify start()Max Kellermann2014-01-161-4/+5
|
* Directory: initialize "mtime" and "have_stat"Max Kellermann2014-01-151-1/+3
|
* db/upnp/WorkQueue: fix pthread_t[] allocation sizeMax Kellermann2014-01-151-1/+1
| | | | Was using the wrong variable.
* db/upnp/Object: remove obsolete attribute "m_title"Max Kellermann2014-01-151-1/+0
|
* DetachedSong: add method Update()Max Kellermann2014-01-155-15/+55
| | | | | Don't create an intermediate Song instance when all we want is a DetachedSong.
* DetachedSong: remove misplaced std::move()Max Kellermann2014-01-151-1/+1
|
* Merge branch 'v0.18.x'Max Kellermann2014-01-152-1/+15
|\
| * decoder/ffmpeg: support libav v10_alpha1Max Kellermann2014-01-152-1/+13
| |
| * decoder/ffmpeg: include cleanupMax Kellermann2014-01-152-4/+1
| |
| * decoder/ffmpeg: check for av_samples_get_buffer_size() errorsMax Kellermann2014-01-151-0/+3
| | | | | | | | Fixes potential nullptr dereference.
| * util/PeakBuffer: fix nullptr dereference when peak_size==0Max Kellermann2014-01-151-2/+3
| |
| * SongFilter, TagConfig: cast TAG_NUM_OF_ITEM_TYPES to integerMax Kellermann2014-01-152-2/+2
| | | | | | | | Fixes clang warning.
| * OutputAPI: fix typo in include guardMax Kellermann2014-01-151-1/+1
| |
| * configure.ac: prepare for 0.18.8Max Kellermann2014-01-152-1/+3
| |
* | decoder/ffmpeg: check for av_samples_get_buffer_size() errorsMax Kellermann2014-01-141-0/+3
| | | | | | | | Fixes potential nullptr dereference.
* | util/PeakBuffer: fix nullptr dereference when peak_size==0Max Kellermann2014-01-141-2/+3
| |
* | SongFilter, TagConfig: cast TAG_NUM_OF_ITEM_TYPES to integerMax Kellermann2014-01-142-2/+2
| | | | | | | | Fixes clang warning.
* | input/alsa: fix memory leakMax Kellermann2014-01-141-1/+1
| | | | | | | | Don't duplicate the MIME type when it gets passed to a std::string.
* | decoder/sidplay: use free() instead of g_free()Max Kellermann2014-01-141-2/+2
| | | | | | | | This pointer was allocated by libc, not by GLib.
* | playlist/extm3u: allocate Tag instance on the stackMax Kellermann2014-01-141-12/+7
| | | | | | | | Automate the life cycle, making the code safer.
* | db/upnp/Object: add attribute "tag"Max Kellermann2014-01-143-82/+25
| | | | | | | | Replaces "m_title" and "m_props". More bloat removed.
* | db/upnp: move upnp_tags to Tags.cxxMax Kellermann2014-01-144-11/+63
| |
* | OutputAPI: fix typo in include guardMax Kellermann2014-01-141-1/+1
| |