Commit message (Collapse) | Author | Files | Lines | ||
---|---|---|---|---|---|
2014-11-10 | input/curl: ignore ResponseBoundary() while seeking | Max Kellermann | 1 | -0/+4 | |
While seeking, metadata must not be updated. ResponseBoundary() was added in MPD 0.19.1, but I forgot to add the IsSeeking() check there. This caused the "seekable" flag to reset. | |||||
2014-11-02 | input/curl: forget Content-Length (and more) after redirect | Max Kellermann | 1 | -0/+26 | |
Fixes playback of redirected streams. | |||||
2014-11-01 | input/curl: fix curl_easy_setopt() parameter types | Max Kellermann | 1 | -3/+3 | |
2014-09-16 | CurlInputPlugin: fix crash after second init call | Thomas Guillem | 1 | -0/+1 | |
The second time init was called, http_200_aliases pointed to a freed pointer and leaded to a SEGFAULT. | |||||
2014-08-07 | util/StringUtil: add StripRight() overload with "end" argument | Max Kellermann | 1 | -6/+3 | |
2014-07-11 | input/curl: options "verify_peer" and "verify_host" | Max Kellermann | 1 | -0/+8 | |
2014-06-17 | input/curl: hold mutex while writing to postponed_error | Max Kellermann | 1 | -3/+4 | |
2014-05-24 | input/curl: move code to AsyncInputStream | Max Kellermann | 1 | -211/+48 | |
New base class for other InputStream implementations that run in the I/O thread. | |||||
2014-05-24 | input/curl: call SetReady() only if not yet ready | Max Kellermann | 1 | -1/+2 | |
Fixes assertion failure. | |||||
2014-05-24 | input/curl: include cleanup | Max Kellermann | 1 | -7/+0 | |
2014-05-22 | InputStream: make Seek() always absolute | Max Kellermann | 1 | -24/+3 | |
Remove the "whence" parameter that is not actually necessary, and only complicates the InputStream implementations. | |||||
2014-05-21 | input/curl: relock mutex in error paths | Max Kellermann | 1 | -2/+7 | |
2014-05-21 | input/curl: pass remaining size to CircularBuffer::Append() | Max Kellermann | 1 | -1/+1 | |
2014-05-21 | input/curl: move code to IcyInputStream | Max Kellermann | 1 | -86/+16 | |
2014-05-11 | InputStream: remove attribute "plugin" | Max Kellermann | 1 | -1/+1 | |
2014-05-11 | InputStream: make various methods abstract | Max Kellermann | 1 | -71/+19 | |
Replace InputPlugin attributes. | |||||
2014-05-11 | InputStream: add virtual destructor | Max Kellermann | 1 | -9/+0 | |
Replaces the method Close(). | |||||
2014-05-11 | input/plugins: make InputStream the base class | Max Kellermann | 1 | -51/+49 | |
Prepare for adding virtual methods. | |||||
2014-05-11 | InputStream: convert to class | Max Kellermann | 1 | -7/+4 | |
2014-03-16 | input/curl: use CircularBuffer | Max Kellermann | 1 | -133/+75 | |
Replaces its own weird buffering code. | |||||
2014-03-15 | input/curl: add method CurlInputStream::Open() | Max Kellermann | 1 | -12/+17 | |
2014-03-15 | input/curl: move _seek() into the CurlInputStream class | Max Kellermann | 1 | -38/+44 | |
2014-03-15 | input/curl: move _easy_init() into the CurlInputStream class | Max Kellermann | 1 | -30/+30 | |
2014-03-15 | input/curl: pass std::string&& to HeaderReceived() | Max Kellermann | 1 | -25/+8 | |
Code simplification. | |||||
2014-03-15 | input/curl: move code to CurlInputStream methods | Max Kellermann | 1 | -178/+231 | |
2014-03-15 | input/curl: rename "error" to "error_buffer" | Max Kellermann | 1 | -3/+3 | |
2014-03-15 | input/curl: rename struct input_curl to CurlInputStream | Max Kellermann | 1 | -32/+32 | |
2014-03-02 | InputPlugin: allow init() to soft-fail | Max Kellermann | 1 | -4/+6 | |
Add enum InputResult which is a tri-state. Input plugins may now fail and just become unavailable. | |||||
2014-02-22 | input/curl: include cleanup | Max Kellermann | 1 | -1/+0 | |
2014-01-24 | Input*: move to input/ | Max Kellermann | 1 | -2/+2 | |
2014-01-24 | Config*: move to config/ | Max Kellermann | 1 | -2/+2 | |
2014-01-13 | copyright year 2014 | Max Kellermann | 1 | -1/+1 | |
2014-01-08 | tag/TagBuilder: overload Commit() returning a Tag object | Max Kellermann | 1 | -1/+1 | |
2014-01-08 | tag/TagBuilder: rename Commit() to CommitNew() | Max Kellermann | 1 | -1/+1 | |
2014-01-06 | event/SocketMonitor: don't close the socket automatically | Max Kellermann | 1 | -2/+0 | |
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. | |||||
2013-12-03 | input/curl: use class TagBuilder | Max Kellermann | 1 | -4/+10 | |
2013-11-23 | input/curl: work around stream resume bug (fixed in libcurl 7.32.0) | Max Kellermann | 1 | -0/+17 | |
2013-11-23 | input/curl: add global variable "curl_version" | Max Kellermann | 1 | -0/+7 | |
2013-11-23 | input/curl: dump version number | Max Kellermann | 1 | -0/+8 | |
2013-11-07 | input/curl: unregister removed sockets from epoll | Max Kellermann | 1 | -1/+9 | |
Fixes a crash bug. See code comment. | |||||
2013-11-06 | input/curl: fix bug with redirected streams | Max Kellermann | 1 | -110/+138 | |
Migrate from the old curl_multi_perform() API to the newer curl_multi_socket_action() API (since CURL 7.16). This allows working around a bug with HTTP redirections with epoll: when CURL closes a socket and the new one happens to have the same file number, MPD did not have a chance to remove the old one from epoll and subsequently attempted to use EPOLL_CTL_MOD, which was not allowed by epoll, because it's a new socket now. | |||||
2013-11-06 | input/curl: move code into class CurlMulti | Max Kellermann | 1 | -43/+66 | |
Move all global variables there, and keep just one global variable: the pointer to the CurlMulti instance. Prepares for the next commit. | |||||
2013-11-06 | input/curl: remove the global list of requests | Max Kellermann | 1 | -13/+0 | |
Unused. | |||||
2013-11-06 | input/curl: don't abort all requests on curl_multi_perform() error | Max Kellermann | 1 | -40/+7 | |
Eliminate some complicated code that's not worth the trouble. | |||||
2013-11-06 | input/curl: use CURLOPT_PRIVATE | Max Kellermann | 1 | -5/+7 | |
Replaces the loop in input_curl_find_request(). | |||||
2013-10-23 | input_stream: rename struct to InputStream | Max Kellermann | 1 | -10/+10 | |
2013-10-23 | InputInternal: remove obsolete library | Max Kellermann | 1 | -1/+0 | |
2013-10-21 | input/curl: don't use GLib's typedef "gushort" | Max Kellermann | 1 | -1/+2 | |
2013-10-21 | util/NumberParser: utilities for parsing numbers from ASCII strings | Max Kellermann | 1 | -3/+3 | |
2013-10-20 | Util/ASCII: add function StringEqualsCaseASCII() | Max Kellermann | 1 | -7/+8 | |
Replaces GLib's g_ascii_strcasecmp(). |