Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | | output: rename "chunk" to "current_chunk" | Max Kellermann | 2014-01-29 | 4 | -28/+30 | |
| | | ||||||
* | | output: move functions into the AudioOutput struct | Max Kellermann | 2014-01-29 | 23 | -328/+281 | |
| | | ||||||
* | | AudioOutput: make "plugin" a reference | Max Kellermann | 2014-01-29 | 5 | -37/+37 | |
| | | ||||||
* | | AudioOutput: pass plugin to constructor | Max Kellermann | 2014-01-29 | 18 | -45/+68 | |
| | | | | | | | | Make it "const". | |||||
* | | AudioOutput: add constructor and destructor | Max Kellermann | 2014-01-28 | 19 | -101/+27 | |
| | | ||||||
* | | output: rename source files | Max Kellermann | 2014-01-28 | 16 | -19/+19 | |
| | | ||||||
* | | output: rename struct audio_output to AudioOutput | Max Kellermann | 2014-01-28 | 31 | -267/+268 | |
| | | ||||||
* | | OutputPlugin: rename struct audio_output_plugin to AudioOutputPlugin | Max Kellermann | 2014-01-28 | 38 | -49/+52 | |
| | | ||||||
* | | OutputAll: convert to class, move instance to class Partition | Max Kellermann | 2014-01-28 | 10 | -815/+791 | |
| | | | | | | | | Another big chunk of code for multi-player support. | |||||
* | | Mixer*: move to mixer/ | Max Kellermann | 2014-01-24 | 9 | -13/+13 | |
| | | ||||||
* | | Filter*: move to filter/ | Max Kellermann | 2014-01-24 | 4 | -11/+11 | |
| | | ||||||
* | | Client*: move to client/ | Max Kellermann | 2014-01-24 | 1 | -1/+1 | |
| | | ||||||
* | | Config*: move to config/ | Max Kellermann | 2014-01-24 | 8 | -11/+11 | |
| | | ||||||
* | | output/*: move to output/plugins/ | Max Kellermann | 2014-01-23 | 57 | -17/+3501 | |
| | | ||||||
* | | Encoder*: move to src/encoder | Max Kellermann | 2014-01-23 | 3 | -6/+6 | |
| | | | | | | | | .. and move the plugins to src/encoder/plugins/. | |||||
* | | copyright year 2014 | Max Kellermann | 2014-01-13 | 35 | -35/+35 | |
| | | ||||||
* | | util/Alloc: new library replacing GLib's g_malloc() | Max Kellermann | 2014-01-07 | 1 | -1/+1 | |
| | | ||||||
* | | 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 | |
| |