Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | event/SocketMonitor: don't close the socket automatically | Max Kellermann | 2014-01-06 | 1 | -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 library | Max Kellermann | 2014-01-06 | 1 | -1/+2 |
| | |||||
* | output/httpd: move the clients.clear() call to the IOThread | Max Kellermann | 2014-01-05 | 1 | -1/+3 |
| | | | | This call is not thread-safe. | ||||
* | output/httpd: import GetEventLoop() | Max Kellermann | 2014-01-05 | 2 | -3/+5 |
| | |||||
* | output/httpd: move Bind()/Unbind() to the IOThread | Max Kellermann | 2014-01-04 | 1 | -4/+8 |
| | | | | Fixes more thread-safety bugs. | ||||
* | output/httpd: move all broadcast operations to the IOThread | Max Kellermann | 2014-01-04 | 2 | -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 IOThread | Max Kellermann | 2014-01-04 | 1 | -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 Kellermann | 2014-01-04 | 3 | -18/+6 |
| | | | | Don't let the server care for client problems. | ||||
* | output/httpd: wrap the std::list in std::queue | Max Kellermann | 2014-01-04 | 2 | -6/+16 |
| | |||||
* | output/httpd: merge duplicate code to ClearQueue() | Max Kellermann | 2014-01-04 | 2 | -5/+15 |
| | |||||
* | output/httpd: keep track of queue size | Max Kellermann | 2014-01-04 | 2 | -13/+14 |
| | | | | Don't iterate the std::list each time. | ||||
* | output/httpd: change "struct" to "class" | Max Kellermann | 2013-12-31 | 3 | -4/+7 |
| | |||||
* | output/httpd: move code to methods Delay(), Play(), Cancel() | Max Kellermann | 2013-12-31 | 2 | -22/+46 |
| | |||||
* | output/httpd: move Cast() into the class | Max Kellermann | 2013-12-31 | 2 | -25/+23 |
| | |||||
* | output/httpd: add methods Init(), Finish() | Max Kellermann | 2013-12-31 | 2 | -12/+29 |
| | |||||
* | output/httpd: use reference instead of pointer | Max Kellermann | 2013-12-31 | 3 | -14/+14 |
| | |||||
* | output/httpd: make the HttpdClient base class "private" | Max Kellermann | 2013-12-31 | 1 | -1/+1 |
| | |||||
* | output/osx: fix typo | Max Kellermann | 2013-12-19 | 1 | -1/+1 |
| | |||||
* | output/osx: use DynamicFifoBuffer instead of struct fifo_buffer | Max Kellermann | 2013-12-19 | 1 | -26/+21 |
| | |||||
* | output/alsa: use new[] instead of g_malloc() | Max Kellermann | 2013-12-14 | 1 | -6/+5 |
| | |||||
* | Merge branch 'v0.18.x' | Max Kellermann | 2013-12-14 | 2 | -4/+4 |
|\ | |||||
| * | output/osx: fix build failure | Lukas Stabe | 2013-12-10 | 1 | -3/+3 |
| | | |||||
| * | output/openal: check __APPLE__ instead of HAVE_OSX | Lukas Stabe | 2013-12-02 | 1 | -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 Kellermann | 2013-12-04 | 1 | -8/+3 |
| | | | | | | | | No GLib memory allocation. | ||||
* | | include cleanup using iwyu | Max Kellermann | 2013-11-28 | 4 | -10/+1 |
| | | |||||
* | | HttpdOutputPlugin.cxx: fix null pointer dereference | Denis Krjuchkov | 2013-11-26 | 1 | -1/+2 |
|/ | |||||
* | output/httpd: don't use incomplete template argument with libc++ | Max Kellermann | 2013-11-11 | 1 | -0/+5 |
| | |||||
* | output/alsa: avoid endless loop in Raspberry Pi workaround | Max Kellermann | 2013-11-04 | 1 | -1/+17 |
| | | | | See code comment. | ||||
* | Log: add level "DEFAULT" | Max Kellermann | 2013-11-04 | 1 | -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 2013 | Max Kellermann | 2013-10-30 | 2 | -2/+2 |
| | |||||
* | *: use nullptr instead of NULL | Max Kellermann | 2013-10-28 | 2 | -18/+18 |
| | |||||
* | output/httpd: accept icy-metadata with and without space | Oddegamra | 2013-10-26 | 1 | -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 requests | Max Kellermann | 2013-10-25 | 2 | -5/+29 |
| | |||||
* | output/httpd: remove bogus assertion | Max Kellermann | 2013-10-25 | 1 | -1/+0 |
| | |||||
* | Util/ASCII: add StringEqualsCaseASCII() overload with length | Max Kellermann | 2013-10-21 | 1 | -3/+3 |
| | | | | Replaces GLib's g_ascii_strncasecmp(). | ||||
* | TagType: rename enum tag_type to TagType | Max Kellermann | 2013-10-20 | 2 | -2/+2 |
| | |||||
* | util/FormatString: new library to replace g_strdup_printf() | Max Kellermann | 2013-10-19 | 1 | -4/+2 |
| | |||||
* | fs/Path: rename to AllocatedPath | Max Kellermann | 2013-10-17 | 1 | -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 / endianess | Max Kellermann | 2013-10-16 | 2 | -7/+5 |
| | | | | Replacing GLib macros. | ||||
* | output/roar: use const_cast instead of g_strdup() | Max Kellermann | 2013-10-15 | 1 | -9/+3 |
| | |||||
* | output/roar: use std::string | Max Kellermann | 2013-10-15 | 1 | -12/+10 |
| | |||||
* | output/roar: move code into the RoarOutput class | Max Kellermann | 2013-10-15 | 2 | -96/+137 |
| | |||||
* | output/pipe: use std::string | Max Kellermann | 2013-10-15 | 1 | -8/+6 |
| | |||||
* | event/BufferedSocket: pass writable pointer to OnSocketInput() | Max Kellermann | 2013-10-15 | 2 | -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 Kellermann | 2013-10-15 | 2 | -10/+12 |
| | |||||
* | output/winmm: use delete instead of g_free() | Max Kellermann | 2013-10-15 | 1 | -2/+2 |
| | |||||
* | gcc.h: rename to Compiler.h | Max Kellermann | 2013-10-15 | 2 | -2/+2 |
| | |||||
* | Mapper, ...: use memcmp() instead of strncmp() where appropriate | Max Kellermann | 2013-10-14 | 1 | -2/+2 |
| | | | | Micro-optimization. | ||||
* | output/httpd: don't include glib.h in header | Max Kellermann | 2013-10-02 | 3 | -4/+6 |
| | |||||
* | Log: new logging library API | Max Kellermann | 2013-10-02 | 16 | -124/+131 |
| | | | | | Prepare to migrate away from GLib. Currently, we're still using GLib as a backend. |