aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* DatabasePrint: don't print zero mtimeMax Kellermann2014-01-221-1/+3
| | | | Zero means "unknown".
* db/upnp: append characters instead of single-character stringsMax Kellermann2014-01-221-2/+2
|
* db/upnp: use string::push_back() instead of string::append()Max Kellermann2014-01-221-5/+5
|
* db/upnp/Discovery: unlock mutex before deleting DiscoveredTaskMax Kellermann2014-01-221-1/+2
|
* db/upnp/Discovery: eliminate two strlen() callsMax Kellermann2014-01-221-4/+4
|
* db/upnp: use std::list instead of std::set for SearchCapabilitiesMax Kellermann2014-01-224-9/+7
| | | | Reduce bloat. We never used the set lookup.
* db/upnp: check offset<total at end of loopMax Kellermann2014-01-221-16/+7
|
* db/upnp: break when zero objects have been returnedMax Kellermann2014-01-221-0/+3
|
* db/upnp: free responses manuallyMax Kellermann2014-01-221-21/+6
|
* db/upnp: break when count==0Max Kellermann2014-01-221-6/+3
| | | | Make this non-fatal. Just stop reading more objects.
* db/upnp: use ParseUnsigned() instead of atoi()Max Kellermann2014-01-221-16/+10
|
* db/upnp: pass unsigned integers to readDirSlice()Max Kellermann2014-01-222-17/+17
|
* db/upnp: inline ContentDirectoryService::readDirSlice()Max Kellermann2014-01-221-1/+1
|
* db/upnp: remove special case for "*"Max Kellermann2014-01-221-3/+1
| | | | Passing this to csvToStrings() will do the same.
* db/upnp: obtain char* from ixmlwrap::getFirstElementValue()Max Kellermann2014-01-221-9/+13
| | | | Fixes crash when there's no SearchCaps element.
* db/upnp/Util: pass char* to csvToStrings()Max Kellermann2014-01-223-8/+12
|
* db/upnp: require an empty input capability setMax Kellermann2014-01-221-1/+2
|
* db/upnp/Util: handle absolute URI paths properly in caturl()Max Kellermann2014-01-221-7/+20
| | | | Fixes problems with some UPnP servers.
* db/upnp/Util: use string::back(), string::front()Max Kellermann2014-01-221-5/+5
|
* db/upnp/Device: clear the "value" pointer on unknown elementMax Kellermann2014-01-221-0/+2
| | | | Avoid appending to an obsolete string object.
* Main: glue_mapper_init() returns true if GetUserMusicDir() failsMax Kellermann2014-01-221-1/+1
| | | | Not a fatal error. Fixes assertion failure.
* db/upnp/Device: replace std::vector with a std::string pointerMax Kellermann2014-01-223-47/+50
|
* db/upnp/Device: remove unused UPnPService attributesMax Kellermann2014-01-222-16/+0
|
* db/upnp/Directory: "emplace" items into the vectorMax Kellermann2014-01-221-1/+1
|
* db/upnp/Device: emplace/move the UPnPService into the vectorMax Kellermann2014-01-221-1/+1
| | | | Reduce overhead.
* db/upnp/Util: "emplace" items into the listMax Kellermann2014-01-221-3/+3
| | | | Reduce overhead.
* db/upnp/Directory: replace std::vector with a simple enumMax Kellermann2014-01-221-20/+34
| | | | Reduce bloat.
* db/upnp/Directory: join all CDATA nodes for tag valuesMax Kellermann2014-01-221-11/+43
| | | | | | Expat can call CharacterData() multiple times if the CDATA contains entity references. We need to collect all of them in one large string.
* db/upnp/Directory: make "m_dir" privateMax Kellermann2014-01-221-1/+2
|
* db/upnp: merge duplicate branches in Namei()Max Kellermann2014-01-211-25/+10
|
* db/upnp: simplify Namei()Max Kellermann2014-01-211-7/+6
|
* db/upnp: use std::list instead of std::vectorMax Kellermann2014-01-213-10/+11
| | | | Reduce overhead.
* db/upnp: use iterator in Namei()Max Kellermann2014-01-211-4/+5
|
* db/upnp: move "objid" declaration downMax Kellermann2014-01-211-2/+2
| | | | Don't allocate the object when it's not needed.
* db/upnp: eliminate redundant Namei() parameter "oobjid"Max Kellermann2014-01-211-12/+7
| | | | | The caller should better obtain the object id from the returned UPnPDirObject instance.
* db/upnp: remove redundant objid.empty() check from VisitServer()Max Kellermann2014-01-211-4/+0
| | | | If Namei() succeeds, the object id is guaranteed to be set.
* db/upnp: use std::move() to extract server nameMax Kellermann2014-01-211-1/+1
| | | | Reduce runtime overhead.
* db/upnp: use vector::front() instead of [0]Max Kellermann2014-01-211-5/+5
|
* db/upnp: don't use stringToTokens() in ParseDuration()Max Kellermann2014-01-211-4/+20
| | | Reduce bloat.
* db/upnp: don't construct redundant empty vector<string> in Visit()Max Kellermann2014-01-211-1/+1
| | | | We know already that vpath is empty, let's use this instance.
* db/upnp: simplify GetSong()Max Kellermann2014-01-211-20/+18
|
* LightSong: add attribute "real_uri"Max Kellermann2014-01-214-25/+30
| | | | | The UPnP database plugin can now show relative song URIs for remote songs.
* DetachedSong: add attribute "real_uri"Max Kellermann2014-01-217-11/+62
| | | | Prepare for UPnP songs that retain there database identity.
* DetachedSong: remove parameter names from "defaulted" constructorsMax Kellermann2014-01-211-2/+2
| | | Suppresses gcc warnings.
* db/upnp: fix empty song URIMax Kellermann2014-01-211-3/+6
| | | | Fall back to UPnPDirObject::url if there is no override.
* DetachedSong: use "default" copy/move constructorsMax Kellermann2014-01-211-10/+2
| | | | Remove unnecessary explicit code.
* pcm/SoxrResampler: Add configurable quality levelsChase Geigle2014-01-214-4/+111
|
* PlaylistSong: modify the given song object in-placeMax Kellermann2014-01-215-122/+86
| | | | Reduce bloat.
* test: add unit test for playlist_check_translate_song()Max Kellermann2014-01-212-0/+306
|
* PlaylistSong: remove redundant "secure" checkMax Kellermann2014-01-211-3/+3
| | | | This has been verified already in the caller.