Commit Graph

8411 Commits

Author SHA1 Message Date
Max Kellermann b330aa8dd5 db/upnp: remove unnecessary empty string checks from CharacterData() 2014-01-10 22:59:46 +01:00
Max Kellermann 1b8053a618 db/upnp/Directory: simplify checkobjok() 2014-01-10 22:59:28 +01:00
Max Kellermann 70e5ab3fde db/upnp/Directory: don't log unknown items 2014-01-10 22:59:16 +01:00
Max Kellermann f4490f6918 db/upnp/Directory: eliminate the "attributes" std::map
Look up attributes in the "atts" array.  Reduce bloat.
2014-01-10 22:59:01 +01:00
Max Kellermann dadd987bf4 db/upnp/Directory: move "res" attributes to array
Reduce bloat.
2014-01-10 22:58:37 +01:00
Max Kellermann a1ced29279 db/upnp: use nullptr-terminated array
Reduce bloat.
2014-01-10 22:58:23 +01:00
Max Kellermann 791d6c1336 db/upnp/Directory: eliminate struct StackEl, use std::string
Reduces bloat.
2014-01-10 22:57:57 +01:00
Max Kellermann 10abb07960 db/upnp/Directory: make "attributes" a local variable
We only need it inside StartElement().  Reduces bloat.
2014-01-10 22:57:46 +01:00
Max Kellermann 040a5ddad5 db/upnp/Directory: move "res" tag handler to StartElement()
No need to handle this in EndElement() - in StartElement(), we already
have all we need.
2014-01-10 22:57:22 +01:00
Max Kellermann e7eb04954d db/upnp/Directory: don't use std::map to parse upnp:class
Reduce excessive bloat.
2014-01-10 22:57:16 +01:00
Max Kellermann 09b00fa4e3 db/upnp/Object: use strictly-typed enums
At the same time, rename the enum types and the class attributes, and
add an "UNKNOWN" type/class.  The latter avoids the "-1" hack.
2014-01-10 22:56:52 +01:00
Max Kellermann 74842fd6d4 db/upnp: getprop() returns const char *
Return the return value, instead returning it in a reference
parameter.  Reduces bloat by reducing unnecessary std::string usage.
2014-01-10 22:56:45 +01:00
Max Kellermann f23b47ba17 Expat: attributes come in name/value pairs (bug fix)
I wrongfully assumed that each array element is a name and a value
concatenated.
2014-01-10 22:56:28 +01:00
Max Kellermann 15eedfbb12 db/upnp: don't set mtime, start_ms, end_ms
Not necessary or useful.
2014-01-10 09:01:28 +01:00
Max Kellermann cfc25e08dc db/upnp: use TagTable in upnpItemToSong()
Reduces bloat by eliminating one std::map.
2014-01-10 08:57:31 +01:00
Max Kellermann 1583eb36e4 doc/user: mention the upnp database plugin 2014-01-09 20:59:51 +01:00
Jean-Francois Dockes 406452f019 UPnP database plugin
[mk: renamed source files, applied coding style, reduced bloat, using
MPD's threading library, using MPD's error reporting and logging
library and refactoring, fixed lots of bugs]
2014-01-09 20:56:00 +01:00
Max Kellermann 12b139beaf ExpatParser: add Parse() overload with buffer 2014-01-09 20:56:00 +01:00
Max Kellermann 2ed1c22227 ExpatParser: add helper class CommonExpatParser 2014-01-09 20:56:00 +01:00
Max Kellermann eb23ef1747 event/Loop: allow AddTimer() after Run() has returned
Kludge for libavahi-client quirk.
2014-01-09 20:56:00 +01:00
Max Kellermann 970b10d01b tag/TagTable: add lookup TagType -> name 2014-01-09 19:01:03 +01:00
Max Kellermann 61b938d6fa event/Loop: allow scheduling events before Run()
Add the debug-only flag "virgin" which gets checked by assert()
calls.  Fixes assertion failures when using zeroconf/avahi.
2014-01-09 17:52:55 +01:00
Max Kellermann 0c34555b02 Directory: remove method Free() 2014-01-09 13:21:56 +01:00
Max Kellermann 83a988e2e4 db/proxy: allocate Directory instance on the stack 2014-01-09 13:21:09 +01:00
Max Kellermann 91efe1cb5a Directory: convert to fixed-size struct
Using a variable-size struct with embedded string is not worth the
trouble here.  There are not so many Directory objects.
2014-01-09 13:14:14 +01:00
Max Kellermann 735241f049 Timer: remove unused method Synchronize() 2014-01-09 12:56:57 +01:00
Max Kellermann dd82370a80 playlist/{asx,rss,xspf}: use Expat instead of GLib to parse XML 2014-01-09 12:19:52 +01:00
Max Kellermann dab052e53d playlist/asx: make variables more local 2014-01-09 12:18:13 +01:00
Max Kellermann 322b061632 DetachedSong: fork of struct Song
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.
2014-01-09 09:05:58 +01:00
Max Kellermann 43847f2244 test/DumpDatabase: fix nullptr dereference 2014-01-09 09:05:58 +01:00
Max Kellermann 8f9ba96c59 SongUpdate: move code to handle_lsinfo()
Don't create a temporary Song object in handle_lsinfo().  Instead,
print all tags while parsing the remote file.
2014-01-08 23:35:37 +01:00
Max Kellermann 10406c73b3 SongSave: make variables more local 2014-01-08 23:10:24 +01:00
Steven O'Brien 67a6a12916 doc/user.xml: add alsa input section 2014-01-08 23:02:21 +01:00
Max Kellermann 139122c57f Merge branch 'v0.18.x' 2014-01-08 22:14:12 +01:00
Max Kellermann fdd76b3461 decoder/faad: fix memory leak 2014-01-08 22:11:00 +01:00
Max Kellermann 959d7ca9d0 valgrind.suppressions: add libsmbclient suppressions 2014-01-08 20:57:53 +01:00
Max Kellermann e490e5d0ab playlist/pls: don't free stack buffer 2014-01-08 19:50:44 +01:00
Max Kellermann 3b568b0943 playlist/pls: make variables more local 2014-01-08 19:50:10 +01:00
Max Kellermann b2e1b38864 playlist/pls: convert "while" loop to "for" loop 2014-01-08 19:50:05 +01:00
Max Kellermann 5c6fe97b35 playlist/pls: simplify error handler
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.
2014-01-08 19:49:34 +01:00
Max Kellermann 2071070f39 DespotifyUtils: return Tag, not pointer 2014-01-08 19:49:27 +01:00
Max Kellermann 89a78a5f3c DespotifyUtils: pass const ds_track reference 2014-01-08 19:49:21 +01:00
Max Kellermann bc23a6bb05 tag/TagBuilder: overload Commit() returning a Tag object 2014-01-08 19:49:08 +01:00
Max Kellermann ac1983eae3 tag/TagBuilder: rename Commit() to CommitNew() 2014-01-08 19:48:55 +01:00
Steven O'Brien 33c5fc95b4 input/AlsaInputPlugin: remove unnecessary alsa s/w param setting to fix high CPU load issue 2014-01-08 14:00:42 +01:00
Max Kellermann 6a953394f4 SongSticker: use Song references 2014-01-08 00:41:08 +01:00
Max Kellermann c152a88ff6 PlayerThread: use Song references 2014-01-08 00:36:59 +01:00
Max Kellermann cbf57e7421 DecoderThread: use Song references 2014-01-08 00:35:28 +01:00
Max Kellermann 3f3ae48ff4 test: add missing includes 2014-01-07 23:57:39 +01:00
Max Kellermann 27ca0db7a6 util/Alloc: new library replacing GLib's g_malloc() 2014-01-07 23:35:18 +01:00