Commit message (Collapse) | Author | Files | Lines | ||
---|---|---|---|---|---|
2014-01-19 | Directory: use Song::Export() | Max Kellermann | 1 | -15/+1 | |
2014-01-19 | LightSong: new class to be used by DatabasePlugin callbacks | Max Kellermann | 42 | -223/+404 | |
Detach the Song class completely from the public API, only to be used by SimpleDatabase and the update thread. | |||||
2014-01-19 | db/proxy: simplify error handling in GetSong() | Max Kellermann | 1 | -11/+9 | |
Check mpd_response_finish() before using mpd_song. Don't skip this check even if the mpd_song is non-nullptr. | |||||
2014-01-19 | db/simple: make borrowed_song_count "mutable" | Max Kellermann | 2 | -3/+3 | |
Simpler to use than const_cast. | |||||
2014-01-19 | Tag: pack attributes tighter | Max Kellermann | 2 | -7/+7 | |
This saves another 3% memory. | |||||
2014-01-19 | Song: embed the Tag object statically into class Song | Max Kellermann | 14 | -47/+26 | |
Reduces overhead because we need to manage only one memory allocation. According to valgrind/massif, we save 7%. | |||||
2014-01-18 | Song: use the VarSize library | Max Kellermann | 2 | -13/+19 | |
2014-01-18 | db/upnp: move Tag from UPnPDirObject to Song | Max Kellermann | 1 | -11/+14 | |
The UPnPDirObject is a temporary object, we can move its contents. This reduces runtime overhead. | |||||
2014-01-18 | db/upnp/Discovery: eliminate attribute "last_seen" | Max Kellermann | 2 | -6/+4 | |
2014-01-18 | db/upnp/Discovery: use monotonic clock instead of time() | Max Kellermann | 2 | -10/+18 | |
2014-01-18 | db/upnp/Discovery: eliminate full copy in getServer() | Max Kellermann | 2 | -9/+17 | |
2014-01-18 | db/upnp: use getServer() in Visit() | Max Kellermann | 1 | -17/+9 | |
Reduce bloat. | |||||
2014-01-18 | db/upnp/Discovery: eliminate Error attribute | Max Kellermann | 3 | -51/+32 | |
Move code to method Start() and add Error& parameters to several methods. | |||||
2014-01-18 | db/upnp: remove unnecessary m_superdir nullptr checks | Max Kellermann | 1 | -3/+3 | |
2014-01-18 | db/upnp: pass ContentDirectoryService references | Max Kellermann | 1 | -27/+27 | |
2014-01-18 | db/upnp: cache m_path.back() | Max Kellermann | 2 | -16/+18 | |
2014-01-18 | db/upnp: add UpnpMakeAction() helper function | Max Kellermann | 2 | -30/+78 | |
2014-01-18 | db/upnp/ixmlwrap: getFirstElementValue() returns const char * | Max Kellermann | 5 | -27/+33 | |
Eliminate the std::string bloat. | |||||
2014-01-18 | db/upnp: merge duplicate nullptr check | Max Kellermann | 1 | -2/+2 | |
2014-01-18 | db/upnp: free IXML_Document *request manually | Max Kellermann | 1 | -38/+40 | |
2014-01-18 | db/upnp/Device: move code to method Parse() | Max Kellermann | 4 | -31/+39 | |
Forward the Error to the caller. | |||||
2014-01-18 | db/upnp/Device: use ContentDirectoryDescriptor's move operator | Max Kellermann | 3 | -7/+7 | |
Reduce bloat. | |||||
2014-01-18 | db/upnp/Discovery: don't copy XML to std::string | Max Kellermann | 3 | -4/+4 | |
Pass "const char *" to Expat. | |||||
2014-01-18 | db/upnp/Discovery: fix memory leak | Max Kellermann | 1 | -0/+1 | |
2014-01-18 | db/upnp: remove unused typedef DevServIt | Max Kellermann | 1 | -2/+0 | |
2014-01-18 | db/upnp: use move operator to assign XML CDATA | Max Kellermann | 2 | -12/+12 | |
Reduce runtime bloat. | |||||
2014-01-18 | db/upnp/Util: trimstring() constructs string from buffer | Max Kellermann | 4 | -17/+15 | |
Reduce overhead by omitting the part of the buffer that consists only of whitespace. | |||||
2014-01-18 | db/upnp/Discovery: free the response body | Max Kellermann | 1 | -0/+1 | |
Memory leak. | |||||
2014-01-18 | db/upnp/Discovery: don't copy the response body | Max Kellermann | 1 | -2/+1 | |
Bloat. | |||||
2014-01-18 | db/upnp: don't hold mutex while downloading device description | Max Kellermann | 1 | -1/+1 | |
Must not perform blocking I/O while holding a mutex. | |||||
2014-01-18 | db/upnp: don't use WorkQueue for _ADVERTISEMENT_BYEBYE | Max Kellermann | 2 | -36/+30 | |
Remove the ContentDirectoryDescriptor right away. Reduces bloat. | |||||
2014-01-18 | db/upnp: include cleanup | Max Kellermann | 1 | -1/+0 | |
2014-01-18 | db/upnp: don't use LazyDatabase | Max Kellermann | 1 | -2/+1 | |
Now that MPD forks early, this workaround is obsolete. | |||||
2014-01-18 | Daemon: fork as early as possible | Max Kellermann | 4 | -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. | |||||
2014-01-18 | PidFile: open in write-only mode | Max Kellermann | 1 | -1/+1 | |
2014-01-18 | Daemon: move code to class PidFile | Max Kellermann | 2 | -19/+71 | |
2014-01-18 | Daemon: don't use daemon(), always require fork() | Max Kellermann | 1 | -11/+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(). | |||||
2014-01-18 | Main: make variables more local | Max Kellermann | 1 | -13/+9 | |
2014-01-18 | Main: eliminate variable "success" | Max Kellermann | 1 | -10/+7 | |
2014-01-17 | pcm/Volume: make DSD a no-op | Max Kellermann | 1 | -2/+8 | |
Kludge to work around DSD playback failure because the ReplayGainFilterPlugin is always in the filter chain. | |||||
2014-01-17 | Mapper: add function map_song_detach() | Max Kellermann | 7 | -5/+27 | |
Make the DetachedSong(Song) conversion constructor private. Everybody should use map_song_detach() which will take over more responsibilities soon. | |||||
2014-01-17 | QueueSave: use DatabaseDetachSong() | Max Kellermann | 1 | -11/+3 | |
2014-01-17 | DatabaseSong: new library merging duplicate code | Max Kellermann | 5 | -35/+90 | |
2014-01-17 | db/upnp/Discovery: move callbacks and data structures into class | Max Kellermann | 3 | -72/+80 | |
Eliminate global variables. | |||||
2014-01-17 | db/upnp: split cluCallback() | Max Kellermann | 1 | -15/+29 | |
2014-01-17 | db/upnp: add local reference variables | Max Kellermann | 1 | -11/+16 | |
Prepare to refactor some code. | |||||
2014-01-16 | db/upnp: move the LibUPnP instance to class UpnpDatabase | Max Kellermann | 7 | -77/+49 | |
Delete the object when closing the database. | |||||
2014-01-16 | db/upnp: remove useless static Mutex | Max Kellermann | 1 | -6/+0 | |
2014-01-16 | db/upnp: move the UPnPDeviceDirectory instance to class UpnpDatabase | Max Kellermann | 3 | -19/+8 | |
Delete the object when closing the database. | |||||
2014-01-16 | db/upnp: don't initialize attributes to nullptr | Max Kellermann | 1 | -4/+0 | |
Not necessary, these are not used. |