Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | OutputThread: use real-time priority | Max Kellermann | 2014-01-14 | 2 | -0/+16 |
| | |||||
* | UpdateGlue: let the update thread run at "idle" priority | Max Kellermann | 2014-01-14 | 2 | -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. | ||||
* | Merge branch 'shine' of git://github.com/ekroth/mpd | Max Kellermann | 2014-01-13 | 1 | -5/+17 |
|\ | |||||
| * | encoder/shine: fix segfault workaround | Andrée Ekroth | 2014-01-13 | 1 | -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. | ||||
* | | input/despotify: change name to "despotify" | Max Kellermann | 2014-01-13 | 1 | -1/+1 |
| | | | | | | | | The name "spt" didn't make much sense for this plugin. | ||||
* | | CommandLine: print list of database plugins | Max Kellermann | 2014-01-13 | 1 | -0/+8 |
| | | |||||
* | | copyright year 2014 | Max Kellermann | 2014-01-13 | 756 | -757/+757 |
| | | |||||
* | | db/upnp: add fallback for emplace() | Max Kellermann | 2014-01-13 | 2 | -1/+10 |
| | | | | | | | | | | The method emplace() was added in gcc 4.8. This commit restores compatibility with gcc 4.7. | ||||
* | | db/upnp: use std::function for the libupnp callback | Max Kellermann | 2014-01-13 | 3 | -31/+16 |
| | | | | | | | | Replaces the bloated std::map. | ||||
* | | db/upnp: fix "upnp:class" parser | Max Kellermann | 2014-01-13 | 1 | -7/+7 |
|/ | | | | | "upnp:class" is an element, not an attribute of element "item". This fixes a regression from commit 65ebfb16 | ||||
* | encoder/shine: remove unnecessary buffer | Andrée Ekroth | 2014-01-13 | 1 | -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. | ||||
* | Shine encoding plugin | Andrée Ekroth | 2014-01-13 | 3 | -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 } | ||||
* | db/upnp/Directory: parse item_class in StartElement | Max Kellermann | 2014-01-11 | 1 | -12/+8 |
| | | | | Don't add to the std::map. | ||||
* | db/upnp/Object: add attribute "url" | Max Kellermann | 2014-01-11 | 3 | -2/+4 |
| | | | | Don't store in the std::map. | ||||
* | db/upnp/Directory: parse duration | Max Kellermann | 2014-01-11 | 3 | -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. | ||||
* | db/upnp: move stringToTokens() to Util.cxx | Max Kellermann | 2014-01-11 | 3 | -36/+44 |
| | |||||
* | db/upnp: move lazy Open() call to new class LazyDatabase | Max Kellermann | 2014-01-11 | 3 | -29/+181 |
| | | | | Generic approach for the workaround. | ||||
* | db/upnp/discovery: convert std::strings to const char * | Max Kellermann | 2014-01-11 | 1 | -11/+13 |
| | | | | Reduce bloat. | ||||
* | db/upnp: remove unnecessary Mutex | Max Kellermann | 2014-01-11 | 2 | -4/+0 |
| | |||||
* | db/proxy: forward "idle" events | Max Kellermann | 2014-01-11 | 1 | -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. | ||||
* | DatabasePlugin: add interface DatabaseListener | Max Kellermann | 2014-01-11 | 11 | -12/+77 |
| | | | | Allow database plugins to announce that they have been modified. | ||||
* | db/proxy: move code to Disconnect() | Max Kellermann | 2014-01-11 | 1 | -6/+15 |
| | |||||
* | UpdateGlue: move stats_invalidate() call to Instance::DatabaseModified() | Max Kellermann | 2014-01-11 | 2 | -3/+2 |
| | |||||
* | Stats: lazy initialization | Max Kellermann | 2014-01-10 | 4 | -11/+37 |
| | | | | | Ask the DatabasePlugin for stats when the first client requests them, not at startup. | ||||
* | db/upnp: remove unused method setMaxContentLength() | Max Kellermann | 2014-01-10 | 2 | -10/+1 |
| | |||||
* | db/upnp: remove "upnplog" option | Max Kellermann | 2014-01-10 | 3 | -44/+2 |
| | | | | | We have removed all libupnp logging calls, and we don't need to debug libupnp. | ||||
* | db/upnp: remove unused macro PLOGINF() | Max Kellermann | 2014-01-10 | 1 | -9/+0 |
| | |||||
* | db/upnp: remove unused method errAsString() | Max Kellermann | 2014-01-10 | 2 | -12/+0 |
| | |||||
* | db/upnp/Device: remove unused attribute "m_tabs" | Max Kellermann | 2014-01-10 | 1 | -4/+1 |
| | |||||
* | db/upnp: remove unnecessary empty string checks from CharacterData() | Max Kellermann | 2014-01-10 | 2 | -5/+0 |
| | |||||
* | db/upnp/Directory: simplify checkobjok() | Max Kellermann | 2014-01-10 | 1 | -9/+9 |
| | |||||
* | db/upnp/Directory: don't log unknown items | Max Kellermann | 2014-01-10 | 1 | -8/+0 |
| | |||||
* | db/upnp/Directory: eliminate the "attributes" std::map | Max Kellermann | 2014-01-10 | 3 | -11/+40 |
| | | | | Look up attributes in the "atts" array. Reduce bloat. | ||||
* | db/upnp/Directory: move "res" attributes to array | Max Kellermann | 2014-01-10 | 1 | -7/+15 |
| | | | | Reduce bloat. | ||||
* | db/upnp: use nullptr-terminated array | Max Kellermann | 2014-01-10 | 1 | -6/+4 |
| | | | | Reduce bloat. | ||||
* | db/upnp/Directory: eliminate struct StackEl, use std::string | Max Kellermann | 2014-01-10 | 1 | -11/+6 |
| | | | | Reduces bloat. | ||||
* | db/upnp/Directory: make "attributes" a local variable | Max Kellermann | 2014-01-10 | 1 | -14/+14 |
| | | | | We only need it inside StartElement(). Reduces bloat. | ||||
* | db/upnp/Directory: move "res" tag handler to StartElement() | Max Kellermann | 2014-01-10 | 1 | -12/+16 |
| | | | | | No need to handle this in EndElement() - in StartElement(), we already have all we need. | ||||
* | db/upnp/Directory: don't use std::map to parse upnp:class | Max Kellermann | 2014-01-10 | 1 | -9/+18 |
| | | | | Reduce excessive bloat. | ||||
* | db/upnp/Object: use strictly-typed enums | Max Kellermann | 2014-01-10 | 3 | -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. | ||||
* | db/upnp: getprop() returns const char * | Max Kellermann | 2014-01-10 | 2 | -21/+19 |
| | | | | | Return the return value, instead returning it in a reference parameter. Reduces bloat by reducing unnecessary std::string usage. | ||||
* | Expat: attributes come in name/value pairs (bug fix) | Max Kellermann | 2014-01-10 | 1 | -2/+2 |
| | | | | | I wrongfully assumed that each array element is a name and a value concatenated. | ||||
* | db/upnp: don't set mtime, start_ms, end_ms | Max Kellermann | 2014-01-10 | 1 | -5/+0 |
| | | | | Not necessary or useful. | ||||
* | db/upnp: use TagTable in upnpItemToSong() | Max Kellermann | 2014-01-10 | 1 | -25/+14 |
| | | | | Reduces bloat by eliminating one std::map. | ||||
* | UPnP database plugin | Jean-Francois Dockes | 2014-01-09 | 21 | -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] | ||||
* | ExpatParser: add Parse() overload with buffer | Max Kellermann | 2014-01-09 | 2 | -9/+22 |
| | |||||
* | ExpatParser: add helper class CommonExpatParser | Max Kellermann | 2014-01-09 | 1 | -0/+48 |
| | |||||
* | event/Loop: allow AddTimer() after Run() has returned | Max Kellermann | 2014-01-09 | 1 | -1/+3 |
| | | | | Kludge for libavahi-client quirk. | ||||
* | tag/TagTable: add lookup TagType -> name | Max Kellermann | 2014-01-09 | 2 | -0/+19 |
| | |||||
* | event/Loop: allow scheduling events before Run() | Max Kellermann | 2014-01-09 | 3 | -5/+29 |
| | | | | | Add the debug-only flag "virgin" which gets checked by assert() calls. Fixes assertion failures when using zeroconf/avahi. |