aboutsummaryrefslogtreecommitdiffstats
path: root/src (unfollow)
Commit message (Collapse)AuthorFilesLines
2011-09-01decoder/oggflac: delete this obsolete pluginMax Kellermann2-355/+1
libOggFLAC has been deprecated for 5 years now, and we havn't been testing it for a long time. Let's delete it.
2011-09-01output/osx: don't drain the buffer when closingMax Kellermann1-6/+0
Eliminate an unnecessary source of deadlocks.
2011-09-01output/osx: signal the GCond while mutex is lockedMax Kellermann1-1/+1
2011-09-01output_all: move _lock_signal() to output_control.cMax Kellermann3-21/+23
Better name, better documentation.
2011-09-01output_thread: reimplement CANCEL synchronizationMax Kellermann6-14/+34
The output thread could hang indefinitely after finishing CANCEL, because it could have missed the signal while the output was not unlocked in ao_command_finished(). This patch removes the wait() call after CANCEL, and adds the flag "allow_play" instead. While this flag is set, playback is skipped. With this flag, there will not be any excess wait() call after the pipe has been cleared. This patch fixes a bug that causes mpd to discontinue playback after seeking, due to the race condition described above.
2011-08-31output/pulse: reset callbacks before closing stream/contextMax Kellermann1-0/+10
Fixes assertion failure when a stream callback is invoked too late after a format change.
2011-08-31output/pulse: add function _delete_stream()Max Kellermann1-5/+16
Merge common code.
2011-08-31output/pulse: use _delete_context()Max Kellermann1-16/+15
Eliminate duplicate code.
2011-08-31output/raop: remove Audio-Jack-Status checkMax Kellermann2-27/+7
The value of this is not used, the code is commented out - let's get rid of it.
2011-08-31output/raop: remove empty function raopcl_stream_connect()Max Kellermann1-8/+0
2011-08-31rtsp_client: use the I/O threadMax Kellermann4-56/+615
Make the code portable.
2011-08-31udp_server: don't use MSG_DONTWAIT on WIN32Max Kellermann1-0/+4
Doesn't exist on mingw32.
2011-08-31mixer/raop: include cleanupMax Kellermann1-12/+2
2011-08-31output/raop: cast sendto() parameter to void pointerMax Kellermann1-2/+4
Fix compilation on mingw32.
2011-08-31rtsp_client: use g_usleep()Max Kellermann1-3/+1
usleep() is not portable.
2011-08-31rtsp_client: allow parameter "kd" to be NULLMax Kellermann3-8/+17
When the caller isn't interested in the values.
2011-08-31rtsp_client: don't wait if packet is over dueMax Kellermann1-2/+3
Check if the time difference is negative. That would have caused sleeping forever.
2011-08-31io_thread: allow _call() from inside the threadMax Kellermann2-0/+20
2011-08-31rtsp_client: free attribute "kd" in _close()Max Kellermann1-0/+1
Fix yet another memory leak.
2011-08-30output/raop: move code to raop_session_new()Max Kellermann1-40/+74
.. and fix a few memory leaks.
2011-08-30output_control: move code to audio_output_destruct()Max Kellermann3-17/+57
.. and destruct the output object properly in test/run_output.
2011-08-30output/raop: merge raopcl_close() into _finish()Max Kellermann1-10/+4
.. and fix a double free bug.
2011-08-30output/raop: free the raop_data object in finish()Max Kellermann1-0/+1
2011-08-30output/raop: remove from the session when opening failsMax Kellermann1-2/+6
2011-08-30output/raop: move code to raop_output_remove()Max Kellermann1-3/+14
2011-08-30rtsp_client: increment "dp" after terminating the stringMax Kellermann1-2/+3
This fixes a bug that caused all values to be an empty string.
2011-08-30rtsp_client: simplify whitespace eliminationMax Kellermann1-4/+6
Just move a pointer, don't call strlen() in every iteration.
2011-08-30rtsp_client: check "new_kd" instead of "i"Max Kellermann1-4/+2
Eliminate the redundant local variable "i".
2011-08-30rtsp_client: move "new_kd" out of the loopMax Kellermann1-1/+1
This must persist iterations.
2011-08-30ntp_server: move code to udp_server.cMax Kellermann5-64/+211
2011-08-29output/raop: move RTSP client code to rtsp_client.cMax Kellermann4-513/+737
Restore some of the original file structure from from raop_play.
2011-08-29ntp_server: use the I/O threadMax Kellermann3-54/+58
2011-08-29io_thread: add function io_thread_quit()Max Kellermann2-2/+17
2011-08-29ntp_server: check for select() failuresMax Kellermann1-1/+3
Fix freeze after signal was handled.
2011-08-29ntp_server: fix socket typesMax Kellermann1-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.
2011-08-29io_thread: add function io_thread_run()Max Kellermann2-2/+16
2011-08-29output/raop: fallback for g_set_error_literal()Max Kellermann2-0/+12
This function was added in GLib 2.18. Make the plugin compatible with older GLib versions.
2011-08-28output/raop: move NTP code to separate libraryMax Kellermann4-78/+194
2011-08-27rename 'Timer' to 'struct timer'Jonathan Neuschäfer7-24/+24
2011-08-26input/curl: implement a hard-coded timeout of 10 secondsMax Kellermann1-0/+3
Be sure to stop the operation at some point when the server isn't responding.
2011-08-25input/curl: use the I/O threadMax Kellermann1-222/+653
Background buffering and better timeout handling. This patch sort of obsoletes the input_plugin method buffer().
2011-08-25input/curl: eliminate attribute "eof"Max Kellermann1-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.
2011-08-25input/curl: release "easy" CURL handle as early as possibleMax Kellermann1-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.
2011-08-25input/curl: move code to input_curl_flush_buffers()Max Kellermann1-3/+9
Allow closing the handle while preserving the remaining buffers.
2011-08-25input/curl: pass input_curl to fill_buffer()Max Kellermann1-4/+3
Remove a cast.
2011-08-25io_thread: add helper functionsMax Kellermann2-0/+84
2011-08-25io_thread: move global variables into a structMax Kellermann1-25/+27
2011-08-25glib_compat.h: add g_timeout_source_new_seconds()Max Kellermann1-0/+6
2011-08-25input/curl: set GError when init() failsMax Kellermann1-2/+3
Let the caller know what happened, he's responsible for logging.
2011-08-24input/soup: free all resources in method close()Max Kellermann1-0/+10