aboutsummaryrefslogtreecommitdiffstats
path: root/src (follow)
Commit message (Collapse)AuthorAgeFilesLines
* 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-305-64/+211
|
* output/raop: move RTSP client code to rtsp_client.cMax Kellermann2011-08-294-513/+737
| | | | Restore some of the original file structure from from raop_play.
* ntp_server: use the I/O threadMax Kellermann2011-08-293-54/+58
|
* io_thread: add function io_thread_quit()Max Kellermann2011-08-292-2/+17
|
* 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
|
* 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-284-78/+194
|
* rename 'Timer' to 'struct timer'Jonathan Neuschäfer2011-08-277-24/+24
|
* 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
|
* input/soup: new input plugin based on libsoupMax Kellermann2011-08-244-1/+403
| | | | | | | | 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-243-0/+133
| | | | 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-243-80/+155
|
* 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.
* output/raop: rtspcl_connect() returns false on errorMax Kellermann2011-08-241-3/+9
| | | | .. and not -1, which is "true".
* output/raop: error checking in send_control_command()Max Kellermann2011-08-241-6/+13
|
* output/raop: make some allocations staticMax Kellermann2011-08-241-29/+29
| | | | Allocate objects on the stack to reduce heap overhead.
* output/raop: remove unused local variablesMax Kellermann2011-08-241-4/+2
|
* output/raop: make some exec_request parameters constMax Kellermann2011-08-241-7/+10
|
* output/raop: use "char*" for string buffersMax Kellermann2011-08-242-20/+20
| | | | Not unsigned char. Eliminate useless casts.
* output/raop: make send_control_command() staticMax Kellermann2011-08-242-4/+1
| | | | Only used internally.
* output/raop: remove useless test_default_device() implementationMax Kellermann2011-08-241-7/+0
| | | | This defaults to "false" when the method pointer is NULL.
* Merge branch 'v0.16.x'Max Kellermann2011-08-244-6/+122
|\
| * output/pulse: fix deadlock when the stream was suspendedMax Kellermann2011-08-231-0/+31
| | | | | | | | | | Check if the stream is suspended; wake up the main loop when it becomes suspended.
| * output/pulse: add assertionsMax Kellermann2011-08-231-0/+30
| |
| * output/pulse: return 0 on errorMax Kellermann2011-08-231-1/+1
| | | | | | | | Not a bool.
| * pulse/output: fix deadlock when resuming the streamMax Kellermann2011-08-231-1/+3
| | | | | | | | Unlock the mainloop in all code paths.