aboutsummaryrefslogtreecommitdiffstats
path: root/src/input/SoupInputPlugin.cxx (unfollow)
Commit message (Collapse)AuthorFilesLines
2013-04-17input/soup: plugin removedMax Kellermann1-492/+0
This plugin is cumbersome to support, now that MPD is migrating away from GLib and the GLib event loop. It has no practical advantages over the CURL plugin. Soup requires the bloated GType library.
2013-01-28InputStream: store references instead of pointersMax Kellermann1-18/+18
2013-01-28InputStream: add constructor/destructorMax Kellermann1-6/+2
Eliminate input_stream_init() and input_stream_deinit().
2013-01-28input/Soup: move code into the classMax Kellermann1-92/+109
2013-01-28input/soup: rename the classMax Kellermann1-15/+15
2013-01-27DecoderControl, InputStream: use Mutex/Cond instead of GMutex/GCondMax Kellermann1-20/+19
2013-01-26input_stream: forward-declare the structMax Kellermann1-0/+1
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-14Main, IOThread: move GMainLoop setup code to class EventLoopMax Kellermann1-1/+2
2013-01-10io_thread: convert to C++Max Kellermann1-1/+1
2013-01-10input/{curl,soup}: convert to C++Max Kellermann1-22/+31
2012-01-29input/soup: use #pragma only with gcc 4.6+Max Kellermann1-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
2011-12-12input/soup: disable -Wcast-qual to work around libsoup header problemMax Kellermann1-0/+13
2011-09-16input/soup: wait some more before resuming the streamMax Kellermann1-1/+6
2011-09-16input/soup: improve error messagesMax Kellermann1-12/+43
Copy the reason_phrase from the SoupMessage, and check for transport errors in the session callback.
2011-09-16input_stream: non-blocking I/OMax Kellermann1-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.
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.
2011-09-16input/{soup,curl}: free unused postponed_errorMax Kellermann1-0/+3
Fix memory leak.
2011-09-16input/soup: move libsoup calls to the I/O threadMax Kellermann1-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.
2011-09-16input/soup: wait for _cancel_message() to completeMax Kellermann1-5/+21
Add the "complete" attribute, and set it in _session_callback(). _close() waits for it to become true.
2011-09-16input/soup: return real GErrors to the callerMax Kellermann1-3/+31
Add attribute postponed_error, pass this GError to the caller.
2011-09-16input/soup: set the "ready" flag on failureMax Kellermann1-0/+2
Fix deadlock.
2011-09-16input/soup: remove redundant flag "ready"Max Kellermann1-6/+2
We'll add proper locking now, and there's no need to carry this duplicate flag.
2011-09-16input/soup: report failure in _read()Max Kellermann1-0/+1
To report failures to callers who don't use _buffer().
2011-09-16input/soup: unlock before cancelling the soup messageMax Kellermann1-3/+5
Avoid recursive deadlock in _session_callback().
2011-09-16input/soup: fix "unused local variable" warningsMax Kellermann1-1/+1
2011-09-14input_stream: move input_stream_init(), _deinit() to _internal.cMax Kellermann1-0/+1
2011-08-24input/soup: free all resources in method close()Max Kellermann1-0/+10
2011-08-24input/soup: new input plugin based on libsoupMax Kellermann1-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.