aboutsummaryrefslogtreecommitdiffstats
path: root/src/output (follow)
Commit message (Collapse)AuthorAgeFilesLines
* event/SocketMonitor: don't close the socket automaticallyMax Kellermann2014-01-061-0/+3
| | | | | | Users now have to call Close() explicitly. This simplifies using the class, as most users have automatic socket management already, and Steal() had to be used often.
* util/Cast: new utility libraryMax Kellermann2014-01-061-1/+2
|
* output/httpd: move the clients.clear() call to the IOThreadMax Kellermann2014-01-051-1/+3
| | | | This call is not thread-safe.
* output/httpd: import GetEventLoop()Max Kellermann2014-01-052-3/+5
|
* output/httpd: move Bind()/Unbind() to the IOThreadMax Kellermann2014-01-041-4/+8
| | | | Fixes more thread-safety bugs.
* output/httpd: move all broadcast operations to the IOThreadMax Kellermann2014-01-042-11/+76
| | | | | | | Add a Page queue to class HttpdOutput, and use DeferredMonitor to flush this queue inside the IOThread. This fixes a thread-safety issue: much of EventLoop is not thread-safe, and the httpd plugin ignored that problem.
* output/httpd: use the IOThreadMax Kellermann2014-01-041-2/+2
| | | | | Do all I/O in the IOThread and not in the main thread. This solves an upcoming deadlock problem.
* output/httpd: move queue size check to HttpdClient::PushPage()Max Kellermann2014-01-043-18/+6
| | | | Don't let the server care for client problems.
* output/httpd: wrap the std::list in std::queueMax Kellermann2014-01-042-6/+16
|
* output/httpd: merge duplicate code to ClearQueue()Max Kellermann2014-01-042-5/+15
|
* output/httpd: keep track of queue sizeMax Kellermann2014-01-042-13/+14
| | | | Don't iterate the std::list each time.
* 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
|
* output/osx: fix typoMax Kellermann2013-12-191-1/+1
|
* output/osx: use DynamicFifoBuffer instead of struct fifo_bufferMax Kellermann2013-12-191-26/+21
|
* output/alsa: use new[] instead of g_malloc()Max Kellermann2013-12-141-6/+5
|
* Merge branch 'v0.18.x'Max Kellermann2013-12-142-4/+4
|\
| * output/osx: fix build failureLukas Stabe2013-12-101-3/+3
| |
| * output/openal: check __APPLE__ instead of HAVE_OSXLukas Stabe2013-12-021-1/+1
| | | | | | | | | | | | | | | | | | | | On OSX, the configure-flag --enable-osx is used to enable the unsupported osx output. It sets the HAVE_OSX preprocessor define. src/output/OpenALOutputPlugin.cxx uses this define to determine wether it is building on OSX, and imports different headers (which have nothing to do with the osx output) depending on wether or not it is set.
* | system/Resolver: sockaddr_to_string() returns std::string()Max Kellermann2013-12-041-8/+3
| | | | | | | | No GLib memory allocation.
* | include cleanup using iwyuMax Kellermann2013-11-284-10/+1
| |
* | HttpdOutputPlugin.cxx: fix null pointer dereferenceDenis Krjuchkov2013-11-261-1/+2
|/
* output/httpd: don't use incomplete template argument with libc++Max Kellermann2013-11-111-0/+5
|
* output/alsa: avoid endless loop in Raspberry Pi workaroundMax Kellermann2013-11-041-1/+17
| | | | See code comment.
* Log: add level "DEFAULT"Max Kellermann2013-11-041-1/+1
| | | | | | Map LogLevel::INFO to G_LOG_LEVEL_INFO, and LogLevel::DEFAULT to G_LOG_LEVEL_MESSAGE. Now client connect/disconnect message are only logged on log_level "secure".
* *: update copyright year to 2013Max Kellermann2013-10-302-2/+2
|
* *: use nullptr instead of NULLMax Kellermann2013-10-282-18/+18
|
* output/httpd: accept icy-metadata with and without spaceOddegamra2013-10-261-1/+2
| | | | | | | | | | | Some, or most, Win32 audio players will pass "icy-metadata:1" to streaming servers. MPD expects a space between ":" and "1" at this point, and thus does not send any stream metadata. This applies to foobar2k and Winamp, for example. According to forums.radiotoolbox.com/viewtopic.php?t=74 not having a space there is expected behavior, so maybe MPD could accept both forms to determine if metadata should be sent or not.
* output/httpd: support HEAD requestsMax Kellermann2013-10-252-5/+29
|
* output/httpd: remove bogus assertionMax Kellermann2013-10-251-1/+0
|
* Util/ASCII: add StringEqualsCaseASCII() overload with lengthMax Kellermann2013-10-211-3/+3
| | | | Replaces GLib's g_ascii_strncasecmp().
* TagType: rename enum tag_type to TagTypeMax Kellermann2013-10-202-2/+2
|
* util/FormatString: new library to replace g_strdup_printf()Max Kellermann2013-10-191-4/+2
|
* fs/Path: rename to AllocatedPathMax Kellermann2013-10-171-3/+4
| | | | | | | The new class Path only holds a string pointer without being responsible for allocation/deallocation. The FileSystem.hxx library accepts Path arguments instead of AllocatedPath, to avoid forcing callers to allocate another string object.
* system/ByteOrder: new library for byte ordering / endianessMax Kellermann2013-10-162-7/+5
| | | | Replacing GLib macros.
* output/roar: use const_cast instead of g_strdup()Max Kellermann2013-10-151-9/+3
|
* output/roar: use std::stringMax Kellermann2013-10-151-12/+10
|
* output/roar: move code into the RoarOutput classMax Kellermann2013-10-152-96/+137
|
* output/pipe: use std::stringMax Kellermann2013-10-151-8/+6
|
* event/BufferedSocket: pass writable pointer to OnSocketInput()Max Kellermann2013-10-152-8/+6
| | | | | Remove the const_cast from HttpdClient.cxx, and avoid one allocation in ClientRead.cxx.
* Util/Macros: replacement for GLib's G_N_ELEMENTS()Max Kellermann2013-10-152-10/+12
|
* output/winmm: use delete instead of g_free()Max Kellermann2013-10-151-2/+2
|
* gcc.h: rename to Compiler.hMax Kellermann2013-10-152-2/+2
|
* Mapper, ...: use memcmp() instead of strncmp() where appropriateMax Kellermann2013-10-141-2/+2
| | | | Micro-optimization.
* output/httpd: don't include glib.h in headerMax Kellermann2013-10-023-4/+6
|
* Log: new logging library APIMax Kellermann2013-10-0216-124/+131
| | | | | Prepare to migrate away from GLib. Currently, we're still using GLib as a backend.