aboutsummaryrefslogtreecommitdiffstats
path: root/src (unfollow)
Commit message (Collapse)AuthorFilesLines
2014-01-14db/upnp/WorkQueue: remove unused "szp" parameter from take()Max Kellermann2-5/+2
2014-01-14db/upnp/WorkQueue: remove unused statisticsMax Kellermann1-17/+2
2014-01-14OutputThread: use real-time priorityMax Kellermann2-0/+16
2014-01-14UpdateGlue: let the update thread run at "idle" priorityMax Kellermann2-0/+75
The update thread should not affect the rest of the system, therefore set "idle" priority, and let it only run when nobody else is using the resources.
2014-01-13input/despotify: change name to "despotify"Max Kellermann1-1/+1
The name "spt" didn't make much sense for this plugin.
2014-01-13CommandLine: print list of database pluginsMax Kellermann1-0/+8
2014-01-13copyright year 2014Max Kellermann756-757/+757
2014-01-13encoder/shine: fix segfault workaroundAndrée Ekroth1-5/+17
Initializing and closing the Shine library without writing any data results in a segmentation fault. The current workaround writes zeroes if there was no actual data.
2014-01-13db/upnp: add fallback for emplace()Max Kellermann2-1/+10
The method emplace() was added in gcc 4.8. This commit restores compatibility with gcc 4.7.
2014-01-13db/upnp: use std::function for the libupnp callbackMax Kellermann3-31/+16
Replaces the bloated std::map.
2014-01-13db/upnp: fix "upnp:class" parserMax Kellermann1-7/+7
"upnp:class" is an element, not an attribute of element "item". This fixes a regression from commit 65ebfb16
2014-01-13encoder/shine: remove unnecessary bufferAndrée Ekroth1-42/+44
Now writes to the de-interleaved buffers directly, instead of writing to an intermediate fifo buffer. Fix indentation and 80 char width lines.
2014-01-13Shine encoding pluginAndrée Ekroth3-0/+286
This encoding plugin features a fixed-point mp3 encoder, with faster encoding on architectures without a FPU. Right now the encoder is limited to stereo and 16 bit depth. The bitrate and sample rate can be modified in audio_output. audio_output { type "httpd" name "My shine stream" encoder "shine" port "8000" format "44100:16:2" bitrate "320" # default: 128 }
2014-01-11db/upnp/Directory: parse item_class in StartElementMax Kellermann1-12/+8
Don't add to the std::map.
2014-01-11db/upnp/Object: add attribute "url"Max Kellermann3-2/+4
Don't store in the std::map.
2014-01-11db/upnp/Directory: parse durationMax Kellermann3-28/+22
Don't put all <res/> attributes to the attributes map; parse the "duration" attribute as soon as we receive it, and store it in an integer attribute. This reduces bloat.
2014-01-11db/upnp: move stringToTokens() to Util.cxxMax Kellermann3-36/+44
2014-01-11db/upnp: move lazy Open() call to new class LazyDatabaseMax Kellermann3-29/+181
Generic approach for the workaround.
2014-01-11db/upnp/discovery: convert std::strings to const char *Max Kellermann1-11/+13
Reduce bloat.
2014-01-11db/upnp: remove unnecessary MutexMax Kellermann2-4/+0
2014-01-11db/proxy: forward "idle" eventsMax Kellermann1-4/+115
Send "idle" to the other MPD whenever there's nothing else to do and forward incoming "idle database" events to all our MPD clients.
2014-01-11DatabasePlugin: add interface DatabaseListenerMax Kellermann11-12/+77
Allow database plugins to announce that they have been modified.
2014-01-11db/proxy: move code to Disconnect()Max Kellermann1-6/+15
2014-01-11UpdateGlue: move stats_invalidate() call to Instance::DatabaseModified()Max Kellermann2-3/+2
2014-01-10Stats: lazy initializationMax Kellermann4-11/+37
Ask the DatabasePlugin for stats when the first client requests them, not at startup.
2014-01-10db/upnp: remove unused method setMaxContentLength()Max Kellermann2-10/+1
2014-01-10db/upnp: remove "upnplog" optionMax Kellermann3-44/+2
We have removed all libupnp logging calls, and we don't need to debug libupnp.
2014-01-10db/upnp: remove unused macro PLOGINF()Max Kellermann1-9/+0
2014-01-10db/upnp: remove unused method errAsString()Max Kellermann2-12/+0
2014-01-10db/upnp/Device: remove unused attribute "m_tabs"Max Kellermann1-4/+1
2014-01-10db/upnp: remove unnecessary empty string checks from CharacterData()Max Kellermann2-5/+0
2014-01-10db/upnp/Directory: simplify checkobjok()Max Kellermann1-9/+9
2014-01-10db/upnp/Directory: don't log unknown itemsMax Kellermann1-8/+0
2014-01-10db/upnp/Directory: eliminate the "attributes" std::mapMax Kellermann3-11/+40
Look up attributes in the "atts" array. Reduce bloat.
2014-01-10db/upnp/Directory: move "res" attributes to arrayMax Kellermann1-7/+15
Reduce bloat.
2014-01-10db/upnp: use nullptr-terminated arrayMax Kellermann1-6/+4
Reduce bloat.
2014-01-10db/upnp/Directory: eliminate struct StackEl, use std::stringMax Kellermann1-11/+6
Reduces bloat.
2014-01-10db/upnp/Directory: make "attributes" a local variableMax Kellermann1-14/+14
We only need it inside StartElement(). Reduces bloat.
2014-01-10db/upnp/Directory: move "res" tag handler to StartElement()Max Kellermann1-12/+16
No need to handle this in EndElement() - in StartElement(), we already have all we need.
2014-01-10db/upnp/Directory: don't use std::map to parse upnp:classMax Kellermann1-9/+18
Reduce excessive bloat.
2014-01-10db/upnp/Object: use strictly-typed enumsMax Kellermann3-44/+74
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-10db/upnp: getprop() returns const char *Max Kellermann2-21/+19
Return the return value, instead returning it in a reference parameter. Reduces bloat by reducing unnecessary std::string usage.
2014-01-10Expat: attributes come in name/value pairs (bug fix)Max Kellermann1-2/+2
I wrongfully assumed that each array element is a name and a value concatenated.
2014-01-10db/upnp: don't set mtime, start_ms, end_msMax Kellermann1-5/+0
Not necessary or useful.
2014-01-10db/upnp: use TagTable in upnpItemToSong()Max Kellermann1-25/+14
Reduces bloat by eliminating one std::map.
2014-01-09UPnP database pluginJean-Francois Dockes21-0/+3236
[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-09ExpatParser: add Parse() overload with bufferMax Kellermann2-9/+22
2014-01-09ExpatParser: add helper class CommonExpatParserMax Kellermann1-0/+48
2014-01-09event/Loop: allow AddTimer() after Run() has returnedMax Kellermann1-1/+3
Kludge for libavahi-client quirk.
2014-01-09tag/TagTable: add lookup TagType -> nameMax Kellermann2-0/+19