aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* | output_control: move code to audio_output_destruct()Max Kellermann2011-08-305-20/+60
| | | | | | | | .. and destruct the output object properly in test/run_output.
* | test/run_output: clean up after open failureMax Kellermann2011-08-301-50/+61
| |
* | output/raop: merge raopcl_close() into _finish()Max Kellermann2011-08-301-10/+4
| | | | | | | | .. and fix a double free bug.
* | output/raop: free the raop_data object in finish()Max Kellermann2011-08-301-0/+1
| |
* | output/raop: remove from the session when opening failsMax Kellermann2011-08-301-2/+6
| |
* | output/raop: move code to raop_output_remove()Max Kellermann2011-08-301-3/+14
| |
* | rtsp_client: increment "dp" after terminating the stringMax Kellermann2011-08-301-2/+3
| | | | | | | | This fixes a bug that caused all values to be an empty string.
* | rtsp_client: simplify whitespace eliminationMax Kellermann2011-08-301-4/+6
| | | | | | | | Just move a pointer, don't call strlen() in every iteration.
* | rtsp_client: check "new_kd" instead of "i"Max Kellermann2011-08-301-4/+2
| | | | | | | | Eliminate the redundant local variable "i".
* | rtsp_client: move "new_kd" out of the loopMax Kellermann2011-08-301-1/+1
| | | | | | | | This must persist iterations.
* | ntp_server: move code to udp_server.cMax Kellermann2011-08-307-142/+219
| |
* | output/raop: move RTSP client code to rtsp_client.cMax Kellermann2011-08-295-513/+738
| | | | | | | | Restore some of the original file structure from from raop_play.
* | ntp_server: use the I/O threadMax Kellermann2011-08-296-66/+80
| |
* | io_thread: add function io_thread_quit()Max Kellermann2011-08-292-2/+17
| |
* | test/run_ntp_server: quit on SIGINT or SIGTERMMax Kellermann2011-08-294-1/+104
| | | | | | | | Clean up the process before exiting.
* | ntp_server: check for select() failuresMax Kellermann2011-08-291-1/+3
| | | | | | | | Fix freeze after signal was handled.
* | ntp_server: fix socket typesMax Kellermann2011-08-291-3/+5
| | | | | | | | | | | | Cast recvfrom(), sendto() buffers to "void*" to avoid "char*" / "unsigned char*" confusion. Use ssize_t for the return value, and socklen_t for the socket address size.
* | io_thread: add function io_thread_run()Max Kellermann2011-08-292-2/+16
| |
* | configure.ac: add OpenSSL check for RAOP output pluginMax Kellermann2011-08-292-3/+7
| | | | | | | | Auto-enable the plugin when OpenSSL was found.
* | ntp_server: add debug program "run_ntp_server"Max Kellermann2011-08-293-0/+145
| |
* | output/raop: fallback for g_set_error_literal()Max Kellermann2011-08-292-0/+12
| | | | | | | | | | This function was added in GLib 2.18. Make the plugin compatible with older GLib versions.
* | output/raop: move NTP code to separate libraryMax Kellermann2011-08-285-79/+197
| |
* | rename 'Timer' to 'struct timer'Jonathan Neuschäfer2011-08-277-24/+24
| |
* | let doxygen find the source codeJonathan Neuschäfer2011-08-271-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [Unfortunately,] @top_srcdir@ is replaced by the package's top-level directory relative to the directory of the .in file being processed, e.g. if you unpack the MPD source to /usr/src/mpd, and build it in the same directory, @top_srcdir@/src/ in doc/doxygen.conf.in will be re- placed by "../src/", and, as doxygen is invoked from the top directory, is will expect the source code in /usr/src/src/, which is obviously wrong. To work around this problem, this patch changes @top_srcdir@ to @abs_top_srcdir@, which expands to the absolute path of the top source directory[1]. [1] http://www.gnu.org/s/hello/manual/autoconf/Preset-Output-Variables.html
* | input/curl: use the I/O threadMax Kellermann2011-08-251-222/+653
| | | | | | | | | | Background buffering and better timeout handling. This patch sort of obsoletes the input_plugin method buffer().
* | input/curl: eliminate attribute "eof"Max Kellermann2011-08-251-11/+4
| | | | | | | | | | | | Assume the flag is true when the "easy" CURL handle is NULL. That way, we don't need to keep track if CURL has sent us the "DONE" information yet.
* | input/curl: release "easy" CURL handle as early as possibleMax Kellermann2011-08-251-9/+10
| | | | | | | | | | | | Release it immediately when end-of-file has been reached. We don't need that handle anymore, because the rest is delivered from the buffers.
* | input/curl: move code to input_curl_flush_buffers()Max Kellermann2011-08-251-3/+9
| | | | | | | | Allow closing the handle while preserving the remaining buffers.
* | input/curl: pass input_curl to fill_buffer()Max Kellermann2011-08-251-4/+3
| | | | | | | | Remove a cast.
* | io_thread: add helper functionsMax Kellermann2011-08-252-0/+84
| |
* | io_thread: move global variables into a structMax Kellermann2011-08-251-25/+27
| |
* | glib_compat.h: add g_timeout_source_new_seconds()Max Kellermann2011-08-251-0/+6
| |
* | input/curl: set GError when init() failsMax Kellermann2011-08-251-2/+3
| | | | | | | | Let the caller know what happened, he's responsible for logging.
* | input/soup: free all resources in method close()Max Kellermann2011-08-241-0/+10
| |
* | valgrind.suppressions: suppress g_resolver_get_default()Max Kellermann2011-08-241-0/+8
| |
* | valgrind.suppressions: suppress g_data_initialize()Max Kellermann2011-08-241-0/+8
| | | | | | | | This function initializes global variables.
* | valgrind.suppressions: add libsoup suppressionsMax Kellermann2011-08-241-0/+40
| |
* | valgrind.suppressions: add GType suppressionsMax Kellermann2011-08-241-0/+88
| | | | | | | | libsoup uses GType.
* | valgrind.suppressions: suppress g_intern_static_string()Max Kellermann2011-08-241-0/+8
| |
* | valgrind.suppressions: use wildcardsMax Kellermann2011-08-241-498/+26
| |
* | input/soup: new input plugin based on libsoupMax Kellermann2011-08-2412-1/+500
| | | | | | | | | | | | | | | | 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.
* | io_thread: new thread for non-blocking background I/OMax Kellermann2011-08-244-0/+134
| | | | | | | | Try to eliminate the remaining blocking I/O.
* | input/curl: remove obsolete function input_curl_reinit()Max Kellermann2011-08-243-21/+0
| |
* | output/raop: use GLib byte order macrosMax Kellermann2011-08-241-5/+3
| |
* | output/raop: use fill_int() in fill_time_...()Max Kellermann2011-08-241-19/+14
| | | | | | | | Eliminate duplicate code.
* | output/raop: check if the "host" option is presentMax Kellermann2011-08-241-1/+8
| | | | | | | | Better than dereferencing NULL.
* | output/raop: remove excessive debug messagesMax Kellermann2011-08-242-9/+0
| |
* | output/raop: consistently use GErrorMax Kellermann2011-08-244-81/+157
| |
* | output/raop: use GLib heap functionsMax Kellermann2011-08-241-30/+22
| |
* | output/raop: functions that always succeed return voidMax Kellermann2011-08-241-22/+14
| | | | | | | | No point in returning true, and checking that.