aboutsummaryrefslogtreecommitdiffstats
path: root/src/input (follow)
Commit message (Collapse)AuthorAgeFilesLines
...
* Main, IOThread: move GMainLoop setup code to class EventLoopMax Kellermann2013-01-142-2/+5
|
* input/curl: use std::list instead of GQueueMax Kellermann2013-01-101-93/+80
|
* icy_metadata: convert to C++Max Kellermann2013-01-101-13/+11
|
* input/Curl: add constructor to input_curl classMax Kellermann2013-01-101-32/+30
|
* input/Curl: remove unused source/source_id attributesMax Kellermann2013-01-101-7/+0
|
* input/Curl: remove redundant attribute "url"Max Kellermann2013-01-101-4/+2
| | | | Use the "url" attribute from the base class instead.
* input/Curl: use std::forward_list instead of GSListMax Kellermann2013-01-101-27/+21
|
* input/Curl: remove unused attribute "fds"Max Kellermann2013-01-101-3/+1
|
* input/Curl: require libcurl 7.18Max Kellermann2013-01-101-24/+4
|
* io_thread: convert to C++Max Kellermann2013-01-102-2/+2
|
* input/{curl,soup}: convert to C++Max Kellermann2013-01-104-65/+84
|
* input/file: use errno_quark()Max Kellermann2012-10-041-11/+6
|
* input/ffmpeg: remove fallback AV_VERSION_INT definitionMax Kellermann2012-08-141-4/+1
| | | | This is part of libavutil.
* input/curl: use g_source_get_time()Max Kellermann2012-04-041-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.
* input/cdio_paranoia: whitespace-fix a commentJonathan Neuschäfer2012-02-151-2/+2
|
* input/soup: use #pragma only with gcc 4.6+Max Kellermann2012-01-291-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
* Merge branch 'v0.16.x'Max Kellermann2012-01-051-0/+4
|\ | | | | | | | | | | Conflicts: src/decoder/ffmpeg_decoder_plugin.c src/input/ffmpeg_input_plugin.c
| * input/ffmpeg: use the new AVIOContext APIMax Kellermann2012-01-041-1/+37
| | | | | | | | URLContext is deprecated.
| * input/ffmpeg: define AV_VERSION_INT if not presentMax Kellermann2012-01-041-0/+4
| | | | | | | | Support ancient ffmpeg versions.
* | input/soup: disable -Wcast-qual to work around libsoup header problemMax Kellermann2011-12-121-0/+13
| |
* | input/cdio_paranoia: pass byte order swapping to the PCM "decoder"Max Kellermann2011-10-101-32/+11
| | | | | | | | | | | | Send another "magic" MIME type when the byte order must be reversed. This also fixes byte order issues when big-endian was involved (input data or host byte order) - that was completely broken.
* | input/soup: wait some more before resuming the streamMax Kellermann2011-09-161-1/+6
| |
* | input/soup: improve error messagesMax Kellermann2011-09-161-12/+43
| | | | | | | | | | Copy the reason_phrase from the SoupMessage, and check for transport errors in the session callback.
* | input_stream: non-blocking I/OMax Kellermann2011-09-169-166/+101
| | | | | | | | | | | | | | | | | | 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 Kellermann2011-09-163-0/+45
| | | | | | | | | | 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_errorMax Kellermann2011-09-162-0/+8
| | | | | | | | Fix memory leak.
* | input/soup: move libsoup calls to the I/O threadMax Kellermann2011-09-161-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 completeMax Kellermann2011-09-161-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 callerMax Kellermann2011-09-161-3/+31
| | | | | | | | | | Add attribute postponed_error, pass this GError to the caller.
* | input/soup: set the "ready" flag on failureMax Kellermann2011-09-161-0/+2
| | | | | | | | Fix deadlock.
* | input/soup: remove redundant flag "ready"Max Kellermann2011-09-161-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 Kellermann2011-09-161-0/+1
| | | | | | | | To report failures to callers who don't use _buffer().
* | input/soup: unlock before cancelling the soup messageMax Kellermann2011-09-161-3/+5
| | | | | | | | Avoid recursive deadlock in _session_callback().
* | input/curl: wait some more before resuming the streamMax Kellermann2011-09-161-1/+6
| | | | | | | | | | Pausing and resuming after every little chunk adds lots of overhead. Add a lower level for resuming the stream.
* | input/curl: clear the "paused" flag before resumingMax Kellermann2011-09-161-1/+1
| | | | | | | | | | curl_easy_pause(CURLPAUSE_CONT) may have added enough data to go into pause again.
* | input/curl: remove _schedule_update()Max Kellermann2011-09-161-48/+1
| | | | | | | | | | Call _update_fds() directly. This is possible because it's only called from within the I/O thread.
* | input/curl: unlock the mutex for io_thread_call()Max Kellermann2011-09-161-1/+4
| | | | | | | | Fix deadlock.
* | input/soup: fix "unused local variable" warningsMax Kellermann2011-09-161-1/+1
| |
* | Merge branch 'v0.16.x'Max Kellermann2011-09-161-1/+1
|\|
| * input/curl, output/pulse: fix "unused local variable" warningsMax Kellermann2011-09-161-1/+1
| |
* | Merge branch 'v0.16.x'Max Kellermann2011-09-151-1/+3
|\| | | | | | | | | | | Conflicts: NEWS configure.ac
| * input/rewind: copy the MIME type only onceMax Kellermann2011-09-151-1/+3
| | | | | | | | Reduce heap usage by reducing the number of malloc() / free() calls.
* | input/curl: per-request mutex/condMax Kellermann2011-09-151-33/+35
| | | | | | | | | | | | | | The global data structures are now lock-free, because they are accessed only from the I/O thread. By using per-request locks, we have finer grained locking, preparing for locks shared with the client.
* | input/curl: move all libCURL calls to the I/O threadMax Kellermann2011-09-151-29/+69
| | | | | | | | | | | | This adds some overheads for indirect calls to the I/O thread, but reduces the amount of global locks. Next step will be switching to per-request locks.
* | input/file: return NULL instead of "false"Max Kellermann2011-09-151-4/+4
| |
* | input/curl: don't set "ready" on _easy_free()Max Kellermann2011-09-151-3/+2
| | | | | | | | | | Move the assignment to _request_done(), right before the GCond is signalled. This might fix spurious wakeups.
* | input/curl: add assertions on io_thread_inside()Max Kellermann2011-09-151-0/+9
| |
* | input/curl: merge _request_abort() into _request_done()Max Kellermann2011-09-151-31/+19
| | | | | | | | | | This is a trivial function. Merge some duplicate code, e.g. the g_cond_broadcast() call.
* | input/curl: API documentation fixMax Kellermann2011-09-151-1/+1
| |
* | input_plugin: add method update()Max Kellermann2011-09-141-0/+10
| | | | | | | | | | Update the struct attributes, important for facades like the "rewind" plugin. To replace buffer().