Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | | input/alsa: fix memory leak | Max Kellermann | 2014-01-14 | 1 | -1/+1 | |
| | | | | | | | | Don't duplicate the MIME type when it gets passed to a std::string. | |||||
* | | decoder/sidplay: use free() instead of g_free() | Max Kellermann | 2014-01-14 | 1 | -2/+2 | |
| | | | | | | | | This pointer was allocated by libc, not by GLib. | |||||
* | | playlist/extm3u: allocate Tag instance on the stack | Max Kellermann | 2014-01-14 | 1 | -12/+7 | |
| | | | | | | | | Automate the life cycle, making the code safer. | |||||
* | | db/upnp/Object: add attribute "tag" | Max Kellermann | 2014-01-14 | 3 | -82/+25 | |
| | | | | | | | | Replaces "m_title" and "m_props". More bloat removed. | |||||
* | | db/upnp: move upnp_tags to Tags.cxx | Max Kellermann | 2014-01-14 | 3 | -11/+62 | |
| | | ||||||
* | | OutputAPI: fix typo in include guard | Max Kellermann | 2014-01-14 | 1 | -1/+1 | |
| | | ||||||
* | | db/upnp/Object: disallow copying, always move | Max Kellermann | 2014-01-14 | 4 | -8/+11 | |
| | | | | | | | | Reduce bloat. | |||||
* | | db/upnp: getTagValue() returns string pointer | Max Kellermann | 2014-01-14 | 1 | -19/+13 | |
| | | | | | | | | Reduce bloat. | |||||
* | | db/upnp/Directory: merge m_containers and m_items | Max Kellermann | 2014-01-14 | 3 | -63/+73 | |
| | | | | | | | | | | There is no use in duplicating these containers. It only means that we have to search both, duplicating the code. | |||||
* | | db/upnp: pass const reference to getTagValue() | Max Kellermann | 2014-01-14 | 1 | -1/+1 | |
| | | ||||||
* | | db/upnp: Namei() returns error when no object was found | Max Kellermann | 2014-01-14 | 1 | -2/+5 | |
| | | | | | | | | Don't fail silently. | |||||
* | | db/upnp/Directory: eliminate one std::string copy with std::move() | Max Kellermann | 2014-01-14 | 1 | -2/+2 | |
| | | ||||||
* | | db/upnp/Object: add attribute "name" | Max Kellermann | 2014-01-14 | 3 | -24/+33 | |
| | | | | | | | | Call titleToPathElt() only once for each object. | |||||
* | | db/upnp: use std::replace() in titleToPath() | Max Kellermann | 2014-01-14 | 1 | -10/+4 | |
| | | ||||||
* | | db/upnp: pass std::string to titleToPathElt() | Max Kellermann | 2014-01-14 | 1 | -2/+2 | |
| | | ||||||
* | | db/upnp: don't sanitize the title tag | Max Kellermann | 2014-01-14 | 1 | -2/+2 | |
| | | | | | | We need this only for path names. | |||||
* | | db/upnp/WorkQueue: remove unused attributes "high", "low" | Max Kellermann | 2014-01-14 | 1 | -17/+3 | |
| | | ||||||
* | | db/upnp/WorkQueue: initialize "ok" to false, eliminate redundant checks | Max Kellermann | 2014-01-14 | 1 | -21/+10 | |
| | | ||||||
* | | db/upnp/WorkQueue: remove IsOK() check from put() | Max Kellermann | 2014-01-14 | 1 | -6/+0 | |
| | | | | | | | | Not necessary, not worth the check. | |||||
* | | db/upnp/WorkQueue: remove redundant n_workers_exited check from IsOK() | Max Kellermann | 2014-01-14 | 1 | -1/+1 | |
| | | ||||||
* | | db/upnp/WorkQueue: include cleanup | Max Kellermann | 2014-01-14 | 1 | -3/+0 | |
| | | ||||||
* | | db/upnp/WorkQueue: remove unnecessary "waiting" attributes | Max Kellermann | 2014-01-14 | 1 | -24/+9 | |
| | | ||||||
* | | db/upnp/WorkQueue: remove unused method waitIdle() | Max Kellermann | 2014-01-14 | 1 | -42/+0 | |
| | | | | | | | | | | Contrary to setTerminateAndWait()'s documentation, the method does wait for worker threads to exit via pthread_join(). | |||||
* | | db/upnp/WorkQueue: use array instead of std::list | Max Kellermann | 2014-01-14 | 1 | -15/+19 | |
| | | | | | | | | Reduce bloat further. | |||||
* | | db/upnp/WorkQueue: use std::list instead of std::unordered_map | Max Kellermann | 2014-01-14 | 1 | -18/+6 | |
| | | | | | | | | Reduce bloat. | |||||
* | | db/upnp/WorkQueue: rename attributes | Max Kellermann | 2014-01-14 | 1 | -78/+78 | |
| | | ||||||
* | | db/upnp/WorkQueue: pass reference to take() | Max Kellermann | 2014-01-14 | 2 | -3/+3 | |
| | | ||||||
* | | db/upnp/WorkQueue: remove unused method qsize() | Max Kellermann | 2014-01-14 | 1 | -8/+0 | |
| | | ||||||
* | | db/upnp/WorkQueue: remove unused "szp" parameter from take() | Max Kellermann | 2014-01-14 | 2 | -5/+2 | |
| | | ||||||
* | | db/upnp/WorkQueue: remove unused statistics | Max Kellermann | 2014-01-14 | 1 | -17/+2 | |
| | | ||||||
* | | 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. |