aboutsummaryrefslogtreecommitdiffstats
path: root/src/input/CurlInputPlugin.cxx (unfollow)
Commit message (Collapse)AuthorFilesLines
2013-10-21input/curl: don't use GLib's typedef "gushort"Max Kellermann1-1/+2
2013-10-21util/NumberParser: utilities for parsing numbers from ASCII stringsMax Kellermann1-3/+3
2013-10-20Util/ASCII: add function StringEqualsCaseASCII()Max Kellermann1-7/+8
Replaces GLib's g_ascii_strcasecmp().
2013-10-19*: use nullptr instead of NULLMax Kellermann1-34/+34
2013-10-19input/curl: use std::string for meta_nameMax Kellermann1-9/+5
Automatic memory management.
2013-10-19decoder/gme,input/curl,...: use static buffers instead of g_strdup_printf()Max Kellermann1-9/+7
2013-10-19Util/CharUtil: new library replacing g_ascii_isX()Max Kellermann1-2/+3
2013-10-18input/curl: use MultiSocketMonitor constants instead of GLibMax Kellermann1-3/+6
2013-10-17InputStream: use int64_t instead of goffsetMax Kellermann1-3/+4
Decouple some more from GLib.
2013-10-17input_plugin: rename struct to "InputPlugin"Max Kellermann1-2/+2
2013-10-14Mapper, ...: use memcmp() instead of strncmp() where appropriateMax Kellermann1-2/+2
Micro-optimization.
2013-10-02Log: new logging library APIMax Kellermann1-8/+8
Prepare to migrate away from GLib. Currently, we're still using GLib as a backend.
2013-09-26input/curl: fix EventLoop stall after curl_easy_pauseArtem Savkov1-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-05Tag, ...: move to libtag.aMax Kellermann1-1/+1
2013-09-05input/curl: enable httpsAles Guzik1-1/+2
2013-09-05conf.h: remove obsolete headerMax Kellermann1-1/+2
Use only ConfigData.hxx in plugin sources to reduce header dependencies.
2013-09-05InputLegacy: move functions to the input_stream classMax Kellermann1-1/+1
2013-09-04util/Error: new error passing libraryMax Kellermann1-69/+58
Replaces GLib's GError.
2013-08-10event/MultiSocketMonitor: eliminate virtual method CheckSockets()Max Kellermann1-28/+0
Handle timeout internally.
2013-08-10event/MultiSocketMonitor: PrepareSockets() returns timeoutMax Kellermann1-6/+7
Simplify the API, don't use GLib specific integer type.
2013-08-08event: add function BlockingCall()Max Kellermann1-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 GLibMax Kellermann1-4/+5
2013-08-04InputPlugin: pass config_param referenceMax Kellermann1-6/+5
2013-07-30tag: convert to C++Max Kellermann1-15/+13
2013-01-29require GLib 2.24Max Kellermann1-1/+0
2013-01-28InputStream: use std::stringMax Kellermann1-3/+2
2013-01-28InputStream: store references instead of pointersMax Kellermann1-12/+12
2013-01-28InputStream: add constructor/destructorMax Kellermann1-4/+2
Eliminate input_stream_init() and input_stream_deinit().
2013-01-27DecoderControl, InputStream: use Mutex/Cond instead of GMutex/GCondMax Kellermann1-22/+17
2013-01-26input_stream: forward-declare the structMax Kellermann1-1/+2
Hide the definition from C code, to prepare the transition to C++.
2013-01-25input_{internal,plugin}: convert to C++Max Kellermann1-2/+2
2013-01-21input_internal.h: add extern "C"Max Kellermann1-4/+0
2013-01-15input/Curl: break loop when remaining length becomes 0Max Kellermann1-0/+6
Fixes assertion failure (regression).
2013-01-15input/Curl: move code to class MultiSocketMonitorMax Kellermann1-116/+60
2013-01-15input/Curl: simpler GPollFD initialisationMax Kellermann1-5/+2
Using initializer list.
2013-01-15input/Curl: don't remove/add modified GPollFDMax Kellermann1-9/+2
Not necessary, GLib will pick up the updated GPollFD automatically.
2013-01-14Main, IOThread: move GMainLoop setup code to class EventLoopMax Kellermann1-1/+3
2013-01-10input/curl: use std::list instead of GQueueMax Kellermann1-93/+80
2013-01-10icy_metadata: convert to C++Max Kellermann1-13/+11
2013-01-10input/Curl: add constructor to input_curl classMax Kellermann1-32/+30
2013-01-10input/Curl: remove unused source/source_id attributesMax Kellermann1-7/+0
2013-01-10input/Curl: remove redundant attribute "url"Max Kellermann1-4/+2
Use the "url" attribute from the base class instead.
2013-01-10input/Curl: use std::forward_list instead of GSListMax Kellermann1-27/+21
2013-01-10input/Curl: remove unused attribute "fds"Max Kellermann1-3/+1
2013-01-10input/Curl: require libcurl 7.18Max Kellermann1-24/+4
2013-01-10io_thread: convert to C++Max Kellermann1-1/+1
2013-01-10input/{curl,soup}: convert to C++Max Kellermann1-37/+47
2012-04-04input/curl: use g_source_get_time()Max Kellermann1-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-16input_stream: non-blocking I/OMax Kellermann1-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-16input_plugin: add method check()Max Kellermann1-0/+18
To check for errors without reading. The decoder thread wants to do that, before it passes the input stream to the plugin.