aboutsummaryrefslogtreecommitdiffstats
path: root/src (follow)
Commit message (Collapse)AuthorAgeFilesLines
...
* | decoder/ffmpeg: check for av_samples_get_buffer_size() errorsMax Kellermann2014-01-141-0/+3
| | | | | | | | Fixes potential nullptr dereference.
* | util/PeakBuffer: fix nullptr dereference when peak_size==0Max Kellermann2014-01-141-2/+3
| |
* | SongFilter, TagConfig: cast TAG_NUM_OF_ITEM_TYPES to integerMax Kellermann2014-01-142-2/+2
| | | | | | | | Fixes clang warning.
* | input/alsa: fix memory leakMax Kellermann2014-01-141-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 Kellermann2014-01-141-2/+2
| | | | | | | | This pointer was allocated by libc, not by GLib.
* | playlist/extm3u: allocate Tag instance on the stackMax Kellermann2014-01-141-12/+7
| | | | | | | | Automate the life cycle, making the code safer.
* | db/upnp/Object: add attribute "tag"Max Kellermann2014-01-143-82/+25
| | | | | | | | Replaces "m_title" and "m_props". More bloat removed.
* | db/upnp: move upnp_tags to Tags.cxxMax Kellermann2014-01-143-11/+62
| |
* | OutputAPI: fix typo in include guardMax Kellermann2014-01-141-1/+1
| |
* | db/upnp/Object: disallow copying, always moveMax Kellermann2014-01-144-8/+11
| | | | | | | | Reduce bloat.
* | db/upnp: getTagValue() returns string pointerMax Kellermann2014-01-141-19/+13
| | | | | | | | Reduce bloat.
* | db/upnp/Directory: merge m_containers and m_itemsMax Kellermann2014-01-143-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 Kellermann2014-01-141-1/+1
| |
* | db/upnp: Namei() returns error when no object was foundMax Kellermann2014-01-141-2/+5
| | | | | | | | Don't fail silently.
* | db/upnp/Directory: eliminate one std::string copy with std::move()Max Kellermann2014-01-141-2/+2
| |
* | db/upnp/Object: add attribute "name"Max Kellermann2014-01-143-24/+33
| | | | | | | | Call titleToPathElt() only once for each object.
* | db/upnp: use std::replace() in titleToPath()Max Kellermann2014-01-141-10/+4
| |
* | db/upnp: pass std::string to titleToPathElt()Max Kellermann2014-01-141-2/+2
| |
* | db/upnp: don't sanitize the title tagMax Kellermann2014-01-141-2/+2
| | | | | | We need this only for path names.
* | db/upnp/WorkQueue: remove unused attributes "high", "low"Max Kellermann2014-01-141-17/+3
| |
* | db/upnp/WorkQueue: initialize "ok" to false, eliminate redundant checksMax Kellermann2014-01-141-21/+10
| |
* | db/upnp/WorkQueue: remove IsOK() check from put()Max Kellermann2014-01-141-6/+0
| | | | | | | | Not necessary, not worth the check.
* | db/upnp/WorkQueue: remove redundant n_workers_exited check from IsOK()Max Kellermann2014-01-141-1/+1
| |
* | db/upnp/WorkQueue: include cleanupMax Kellermann2014-01-141-3/+0
| |
* | db/upnp/WorkQueue: remove unnecessary "waiting" attributesMax Kellermann2014-01-141-24/+9
| |
* | db/upnp/WorkQueue: remove unused method waitIdle()Max Kellermann2014-01-141-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::listMax Kellermann2014-01-141-15/+19
| | | | | | | | Reduce bloat further.
* | db/upnp/WorkQueue: use std::list instead of std::unordered_mapMax Kellermann2014-01-141-18/+6
| | | | | | | | Reduce bloat.
* | db/upnp/WorkQueue: rename attributesMax Kellermann2014-01-141-78/+78
| |
* | db/upnp/WorkQueue: pass reference to take()Max Kellermann2014-01-142-3/+3
| |
* | db/upnp/WorkQueue: remove unused method qsize()Max Kellermann2014-01-141-8/+0
| |
* | db/upnp/WorkQueue: remove unused "szp" parameter from take()Max Kellermann2014-01-142-5/+2
| |
* | db/upnp/WorkQueue: remove unused statisticsMax Kellermann2014-01-141-17/+2
| |
* | OutputThread: use real-time priorityMax Kellermann2014-01-142-0/+16
| |
* | UpdateGlue: let the update thread run at "idle" priorityMax Kellermann2014-01-142-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/mpdMax Kellermann2014-01-131-5/+17
|\ \
| * | encoder/shine: fix segfault workaroundAndrée Ekroth2014-01-131-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 Kellermann2014-01-131-1/+1
| | | | | | | | | | | | The name "spt" didn't make much sense for this plugin.
* | | CommandLine: print list of database pluginsMax Kellermann2014-01-131-0/+8
| | |
* | | copyright year 2014Max Kellermann2014-01-13756-757/+757
| | |
* | | db/upnp: add fallback for emplace()Max Kellermann2014-01-132-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 callbackMax Kellermann2014-01-133-31/+16
| | | | | | | | | | | | Replaces the bloated std::map.
* | | db/upnp: fix "upnp:class" parserMax Kellermann2014-01-131-7/+7
|/ / | | | | | | | | "upnp:class" is an element, not an attribute of element "item". This fixes a regression from commit 65ebfb16
* | encoder/shine: remove unnecessary bufferAndrée Ekroth2014-01-131-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 pluginAndrée Ekroth2014-01-133-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 StartElementMax Kellermann2014-01-111-12/+8
| | | | | | | | Don't add to the std::map.
* | db/upnp/Object: add attribute "url"Max Kellermann2014-01-113-2/+4
| | | | | | | | Don't store in the std::map.
* | db/upnp/Directory: parse durationMax Kellermann2014-01-113-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.cxxMax Kellermann2014-01-113-36/+44
| |
* | db/upnp: move lazy Open() call to new class LazyDatabaseMax Kellermann2014-01-113-29/+181
| | | | | | | | Generic approach for the workaround.