Commit message (Collapse) | Author | Files | Lines | ||
---|---|---|---|---|---|
2013-10-19 | Util/CharUtil: new library replacing g_ascii_isX() | Max Kellermann | 1 | -2/+3 | |
2013-10-18 | input/curl: use MultiSocketMonitor constants instead of GLib | Max Kellermann | 1 | -3/+6 | |
2013-10-17 | InputStream: use int64_t instead of goffset | Max Kellermann | 1 | -3/+4 | |
Decouple some more from GLib. | |||||
2013-10-17 | input_plugin: rename struct to "InputPlugin" | Max Kellermann | 1 | -2/+2 | |
2013-10-14 | Mapper, ...: use memcmp() instead of strncmp() where appropriate | Max Kellermann | 1 | -2/+2 | |
Micro-optimization. | |||||
2013-10-02 | Log: new logging library API | Max Kellermann | 1 | -8/+8 | |
Prepare to migrate away from GLib. Currently, we're still using GLib as a backend. | |||||
2013-09-26 | input/curl: fix EventLoop stall after curl_easy_pause | Artem Savkov | 1 | -0/+1 | |
When playing finite http streams, e.g. something from soundcloud, eventloop stalls after pausing writefunc. TimeoutMonitor is cancelled by the time resume happens, so when enough data is consumed writefunc is called only once. Calling InvalidateSockets() from input_curl_resume() seems to fix the issue. | |||||
2013-09-05 | Tag, ...: move to libtag.a | Max Kellermann | 1 | -1/+1 | |
2013-09-05 | input/curl: enable https | Ales Guzik | 1 | -1/+2 | |
2013-09-05 | conf.h: remove obsolete header | Max Kellermann | 1 | -1/+2 | |
Use only ConfigData.hxx in plugin sources to reduce header dependencies. | |||||
2013-09-05 | InputLegacy: move functions to the input_stream class | Max Kellermann | 1 | -1/+1 | |
2013-09-04 | util/Error: new error passing library | Max Kellermann | 1 | -69/+58 | |
Replaces GLib's GError. | |||||
2013-08-10 | event/MultiSocketMonitor: eliminate virtual method CheckSockets() | Max Kellermann | 1 | -28/+0 | |
Handle timeout internally. | |||||
2013-08-10 | event/MultiSocketMonitor: PrepareSockets() returns timeout | Max Kellermann | 1 | -6/+7 | |
Simplify the API, don't use GLib specific integer type. | |||||
2013-08-08 | event: add function BlockingCall() | Max Kellermann | 1 | -52/+21 | |
Replaces io_thread_call(). This approach is more generic and easier to use due to std::function. | |||||
2013-08-04 | *: use gcc.h macros instead of GLib | Max Kellermann | 1 | -4/+5 | |
2013-08-04 | InputPlugin: pass config_param reference | Max Kellermann | 1 | -6/+5 | |
2013-07-30 | tag: convert to C++ | Max Kellermann | 1 | -15/+13 | |
2013-01-29 | require GLib 2.24 | Max Kellermann | 1 | -1/+0 | |
2013-01-28 | InputStream: use std::string | Max Kellermann | 1 | -3/+2 | |
2013-01-28 | InputStream: store references instead of pointers | Max Kellermann | 1 | -12/+12 | |
2013-01-28 | InputStream: add constructor/destructor | Max Kellermann | 1 | -4/+2 | |
Eliminate input_stream_init() and input_stream_deinit(). | |||||
2013-01-27 | DecoderControl, InputStream: use Mutex/Cond instead of GMutex/GCond | Max Kellermann | 1 | -22/+17 | |
2013-01-26 | input_stream: forward-declare the struct | Max Kellermann | 1 | -1/+2 | |
Hide the definition from C code, to prepare the transition to C++. | |||||
2013-01-25 | input_{internal,plugin}: convert to C++ | Max Kellermann | 1 | -2/+2 | |
2013-01-21 | input_internal.h: add extern "C" | Max Kellermann | 1 | -4/+0 | |
2013-01-15 | input/Curl: break loop when remaining length becomes 0 | Max Kellermann | 1 | -0/+6 | |
Fixes assertion failure (regression). | |||||
2013-01-15 | input/Curl: move code to class MultiSocketMonitor | Max Kellermann | 1 | -116/+60 | |
2013-01-15 | input/Curl: simpler GPollFD initialisation | Max Kellermann | 1 | -5/+2 | |
Using initializer list. | |||||
2013-01-15 | input/Curl: don't remove/add modified GPollFD | Max Kellermann | 1 | -9/+2 | |
Not necessary, GLib will pick up the updated GPollFD automatically. | |||||
2013-01-14 | Main, IOThread: move GMainLoop setup code to class EventLoop | Max Kellermann | 1 | -1/+3 | |
2013-01-10 | input/curl: use std::list instead of GQueue | Max Kellermann | 1 | -93/+80 | |
2013-01-10 | icy_metadata: convert to C++ | Max Kellermann | 1 | -13/+11 | |
2013-01-10 | input/Curl: add constructor to input_curl class | Max Kellermann | 1 | -32/+30 | |
2013-01-10 | input/Curl: remove unused source/source_id attributes | Max Kellermann | 1 | -7/+0 | |
2013-01-10 | input/Curl: remove redundant attribute "url" | Max Kellermann | 1 | -4/+2 | |
Use the "url" attribute from the base class instead. | |||||
2013-01-10 | input/Curl: use std::forward_list instead of GSList | Max Kellermann | 1 | -27/+21 | |
2013-01-10 | input/Curl: remove unused attribute "fds" | Max Kellermann | 1 | -3/+1 | |
2013-01-10 | input/Curl: require libcurl 7.18 | Max Kellermann | 1 | -24/+4 | |
2013-01-10 | io_thread: convert to C++ | Max Kellermann | 1 | -1/+1 | |
2013-01-10 | input/{curl,soup}: convert to C++ | Max Kellermann | 1 | -37/+47 | |
2012-04-04 | input/curl: use g_source_get_time() | Max Kellermann | 1 | -12/+5 | |
g_source_get_current_time() is deprecated since GLib 2.28. This patch adds a compatibility wrapper for older GLib versions to glib_compat.h. | |||||
2011-09-16 | input_stream: non-blocking I/O | Max Kellermann | 1 | -72/+36 | |
Add GMutex, GCond attributes which will be used by callers to conditionally wait on the stream. Remove the (now-useless) plugin method buffer(), wait on GCond instead. Lock the input_stream before each method call. Do the same with the playlist plugins. | |||||
2011-09-16 | input_plugin: add method check() | Max Kellermann | 1 | -0/+18 | |
To check for errors without reading. The decoder thread wants to do that, before it passes the input stream to the plugin. | |||||
2011-09-16 | input/{soup,curl}: free unused postponed_error | Max Kellermann | 1 | -0/+5 | |
Fix memory leak. | |||||
2011-09-16 | input/curl: wait some more before resuming the stream | Max Kellermann | 1 | -1/+6 | |
Pausing and resuming after every little chunk adds lots of overhead. Add a lower level for resuming the stream. | |||||
2011-09-16 | input/curl: clear the "paused" flag before resuming | Max Kellermann | 1 | -1/+1 | |
curl_easy_pause(CURLPAUSE_CONT) may have added enough data to go into pause again. | |||||
2011-09-16 | input/curl: remove _schedule_update() | Max Kellermann | 1 | -48/+1 | |
Call _update_fds() directly. This is possible because it's only called from within the I/O thread. | |||||
2011-09-16 | input/curl: unlock the mutex for io_thread_call() | Max Kellermann | 1 | -1/+4 | |
Fix deadlock. | |||||
2011-09-16 | input/curl, output/pulse: fix "unused local variable" warnings | Max Kellermann | 1 | -1/+1 | |