Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | input/{curl,soup}: convert to C++ | Max Kellermann | 2013-01-10 | 1 | -473/+0 |
| | |||||
* | input/soup: use #pragma only with gcc 4.6+ | Max Kellermann | 2012-01-29 | 1 | -2/+2 |
| | | | | | | It seems gcc 4.5 does not allow #pragma within function: src/input/soup_input_plugin.c:284:9: error: #pragma GCC diagnostic not allowed inside functions | ||||
* | input/soup: disable -Wcast-qual to work around libsoup header problem | Max Kellermann | 2011-12-12 | 1 | -0/+13 |
| | |||||
* | input/soup: wait some more before resuming the stream | Max Kellermann | 2011-09-16 | 1 | -1/+6 |
| | |||||
* | input/soup: improve error messages | Max Kellermann | 2011-09-16 | 1 | -12/+43 |
| | | | | | Copy the reason_phrase from the SoupMessage, and check for transport errors in the session callback. | ||||
* | input_stream: non-blocking I/O | Max Kellermann | 2011-09-16 | 1 | -73/+29 |
| | | | | | | | | | 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. | ||||
* | input_plugin: add method check() | Max Kellermann | 2011-09-16 | 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. | ||||
* | input/{soup,curl}: free unused postponed_error | Max Kellermann | 2011-09-16 | 1 | -0/+3 |
| | | | | Fix memory leak. | ||||
* | input/soup: move libsoup calls to the I/O thread | Max Kellermann | 2011-09-16 | 1 | -4/+25 |
| | | | | | libsoup's asynchronous API is not thread safe. By moving the calls into the I/O thread, several crash bugs will be fixed. | ||||
* | input/soup: wait for _cancel_message() to complete | Max Kellermann | 2011-09-16 | 1 | -5/+21 |
| | | | | | Add the "complete" attribute, and set it in _session_callback(). _close() waits for it to become true. | ||||
* | input/soup: return real GErrors to the caller | Max Kellermann | 2011-09-16 | 1 | -3/+31 |
| | | | | | Add attribute postponed_error, pass this GError to the caller. | ||||
* | input/soup: set the "ready" flag on failure | Max Kellermann | 2011-09-16 | 1 | -0/+2 |
| | | | | Fix deadlock. | ||||
* | input/soup: remove redundant flag "ready" | Max Kellermann | 2011-09-16 | 1 | -6/+2 |
| | | | | | We'll add proper locking now, and there's no need to carry this duplicate flag. | ||||
* | input/soup: report failure in _read() | Max Kellermann | 2011-09-16 | 1 | -0/+1 |
| | | | | To report failures to callers who don't use _buffer(). | ||||
* | input/soup: unlock before cancelling the soup message | Max Kellermann | 2011-09-16 | 1 | -3/+5 |
| | | | | Avoid recursive deadlock in _session_callback(). | ||||
* | input/soup: fix "unused local variable" warnings | Max Kellermann | 2011-09-16 | 1 | -1/+1 |
| | |||||
* | input_stream: move input_stream_init(), _deinit() to _internal.c | Max Kellermann | 2011-09-14 | 1 | -0/+1 |
| | |||||
* | input/soup: free all resources in method close() | Max Kellermann | 2011-08-24 | 1 | -0/+10 |
| | |||||
* | input/soup: new input plugin based on libsoup | Max Kellermann | 2011-08-24 | 1 | -0/+370 |
To demonstrate the new I/O thread. libsoup is well-integrated into the GLib main loop, which made this plugin pretty easy to write. As a side effect, we have to initialize the I/O thread in all debug programs that use the input API. |