aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* | event/Loop: remove unused method AddCall()Max Kellermann2014-01-042-28/+0
| |
* | event/Loop: non-recursive Break() implementationMax Kellermann2014-01-041-4/+2
| | | | | | | | | | | | Simply set the "quit" flag and wake up the thread. This works even if we're inside this thread. Setting "quit" to a new value without mutex protection is usually not safe, but good enough here.
* | mixer/alsa: use DeferredMonitor to update file descriptorsMax Kellermann2014-01-041-14/+7
| | | | | | | | | | EventLoop::AddCall() and EventLoop::AddIdle() are unsafe, because we can't cancel those calls.
* | event/BlockingCall: always use DeferredMonitor internallyMax Kellermann2014-01-041-24/+0
| | | | | | | | | | There is no advantage of using EventLoop::AddCall(), now that DeferredMonitor is thread-safe.
* | event/DeferredMonitor: make fully thread-safeMax Kellermann2014-01-044-54/+77
| | | | | | | | | | | | | | | | | | | | | | | | | | Instead of creating a new eventfd for each DeferredMonitor instance, reuse EventLoop's eventfd, and add a std::list to EventLoop that manages the list of pending DeferredMonitors. This std::list is protected by the same mutex as the "calls" list. The bottom line is: reduced overhead because the per-instance eventfd was eliminated, slightly added overhead due to Mutex usage (but negligible), and we're thread-safe now. This subsystem is now good enough to replace EventLoop::AddCall().
* | Added application key for soundcloud pluginJames McGlashan (DarkFox)2014-01-041-1/+2
| |
* | Added soundcloud documentationJames McGlashan (DarkFox)2014-01-041-0/+41
| |
* | Added user and search paramaters for SoundCloud pluginJames McGlashan (DarkFox)2014-01-041-0/+8
| |
* | http -> https for SoundCloud pluginJames McGlashan (DarkFox)2014-01-022-6/+8
| |
* | output/httpd: change "struct" to "class"Max Kellermann2013-12-313-4/+7
| |
* | output/httpd: move code to methods Delay(), Play(), Cancel()Max Kellermann2013-12-312-22/+46
| |
* | output/httpd: move Cast() into the classMax Kellermann2013-12-312-25/+23
| |
* | output/httpd: add methods Init(), Finish()Max Kellermann2013-12-312-12/+29
| |
* | output/httpd: use reference instead of pointerMax Kellermann2013-12-313-14/+14
| |
* | output/httpd: make the HttpdClient base class "private"Max Kellermann2013-12-311-1/+1
| |
* | event/*Monitor: document as not being thread-safeMax Kellermann2013-12-314-0/+15
| |
* | event/Loop: document that AddCall() is thread-safeMax Kellermann2013-12-311-0/+5
| |
* | command: "lsinfo" and "readcomments" allowed for remote filesMax Kellermann2013-12-296-0/+68
| |
* | SongUpdate: read tags from songs in an archiveMax Kellermann2013-12-295-5/+131
| | | | | | | | | | Add the TagStream.cxx library, similar to TagFile.cxx, and use it to load tags from song files inside archives.
* | InputStream: add static method OpenReady()Max Kellermann2013-12-2911-62/+47
| | | | | | | | Merge some duplicate code.
* | TagFile: rewind the stream before trying the next pluginMax Kellermann2013-12-291-1/+2
| | | | | | | | Got lost in commit c97685fe
* | DecoderList: add "pure" attributeMax Kellermann2013-12-291-0/+1
| |
* | DecoderList: add function decoder_plugins_supports_suffix()Max Kellermann2013-12-294-54/+20
| | | | | | | | Replaces decoder_plugin_from_suffix().
* | DecoderThread: use decoder_plugins_try()Max Kellermann2013-12-291-32/+44
| | | | | | | | | | .. instead of decoder_plugin_from_suffix(). This reduces overhead by walking the array only once.
* | UpdateContainer: pass suffix instead of DecoderPluginMax Kellermann2013-12-293-6/+18
| | | | | | | | | | Instead of using the first DecoderPlugin that supports the suffix, use the first one that actually implements the "container_scan" method.
* | TagFile: pass reference instead of pointerMax Kellermann2013-12-295-9/+6
| |
* | TagFile: use decoder_plugins_try()Max Kellermann2013-12-291-41/+54
| | | | | | | | | | | | .. instead of decoder_plugin_from_suffix(). This reduces overhead by walking the array only once.
* | DecoderList: remove unused function decoder_plugin_from_mime_type()Max Kellermann2013-12-292-25/+0
| |
* | Merge branch 'v0.18.x'Max Kellermann2013-12-293-9/+18
|\|
| * configure.ac: improved check for libyajl 1.0Max Kellermann2013-12-292-1/+3
| | | | | | | | | | | | | | | | If we have libyajl 2.0.1 (without a pkg-config file), our configure.ac would assume this is the libyajl 1.0 API, because the function yajl_alloc() exists in both. This commit changes the library check to the function yajl_parse_complete() which was removed in the 2.0 API. This fixes build failure with libyajl 2.0.1.
| * daemon: no initgroups() when already running as the configured userMax Kellermann2013-12-292-1/+7
| | | | | | | | | | We can assume that initgroups() would be a no-op in that case, however initgroups() is not allowed for unprivileged users anyway.
| * Daemon: fix typo in commentMax Kellermann2013-12-291-1/+1
| |
| * Daemon: simplify nested "if"Max Kellermann2013-12-291-5/+4
| |
| * Daemon: fix typo in castMax Kellermann2013-12-291-1/+1
| |
| * configure.ac: prepare for 0.18.7Max Kellermann2013-12-292-1/+3
| |
* | input/smbclient: new input pluginMax Kellermann2013-12-298-0/+274
| |
* | ls: add "pure" attributeMax Kellermann2013-12-291-0/+3
| |
* | pcm/Volume: remove unused function pcm_volume_dither()Max Kellermann2013-12-281-16/+0
| |
* | pcm/PcmMix: improved ditheringMax Kellermann2013-12-285-25/+48
| | | | | | | | Use the existing PcmDither library.
* | pcm/Volume: improved ditheringMax Kellermann2013-12-286-22/+59
| | | | | | | | | | Instead of just adding a rectangular random value before shifting back to the normal scale, use the existing PcmDither library.
* | pcm/PcmDither: inline Dither24To16() and Dither32To16()Max Kellermann2013-12-283-4/+5
| |
* | pcm/Volume: remove optimized i386 assemblyMax Kellermann2013-12-281-50/+0
| | | | | | | | | | This code is unable to dither. Until we implement that, let's remove the code for now. i386 isn't relevant anymore anyway.
* | pcm/Traits: use 32 bit integer for S8 long_typeMax Kellermann2013-12-251-1/+1
| | | | | | | | 16 bit is not enough for volume calculations.
* | pcm/Dither: add API documentationMax Kellermann2013-12-241-0/+18
| |
* | pcm/Dither: move shift from DitherConvert() to Dither()Max Kellermann2013-12-241-2/+2
| | | | | | | | All callers need this shift, so let's move it to the basic method.
* | pcm/Dither: rename DitherShift() to DitherConvert()Max Kellermann2013-12-242-11/+11
| |
* | test/*: use fprintf(stderr,...) and Log() instead of g_printerr()Max Kellermann2013-12-2412-110/+102
| | | | | | Avoid GLib.
* | test/*: remove GLib logging setupMax Kellermann2013-12-245-60/+0
| | | | | | | | Obsolete, our logging library doesn't ues GLib anymore.
* | Merge tag 'release-0.18.6'Max Kellermann2013-12-246-8/+21
|\|
| * release v0.18.6Max Kellermann2013-12-242-2/+2
| |