aboutsummaryrefslogtreecommitdiffstats
path: root/src (follow)
Commit message (Collapse)AuthorAgeFilesLines
* 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.
| * input/curl: limit the receive buffer sizeMax Kellermann2011-08-231-0/+30
| |
| * output/httpd: add assertionsMax Kellermann2011-08-231-1/+17
| |
| * output/httpd: don't warn on client disconnectMax Kellermann2011-08-231-1/+8
| | | | | | | | | | | | This warning should only be logged when we really received something. When the client disconnects, G_IO_IN is triggered, and the read returns G_IO_STATUS_EOF.
| * decoder/mpcdec: fix gcc warningMax Kellermann2011-08-231-2/+2
| | | | | | | | Move the variable "vbr_update_acc" into the #ifdef block.
* | output/raop: rewrite remove_char_from_stringJonathan Neuschäfer2011-07-251-14/+15
| |
* | Merge branch 'v0.16.x'Max Kellermann2011-07-2012-39/+95
|\| | | | | | | | | | | Conflicts: src/player_thread.c src/playlist_control.c
| * encoder_plugin: add method pre_tag()Max Kellermann2011-07-204-2/+37
| | | | | | | | | | | | | | In the "vorbis" plugin, this is a copy of the old flush() method, while flush() gets a lot of code remove, it just sets the "flush" flag and nothing else. It doesn't start a new stream now, which should fix a few problems in some players.
| * output/httpd: explicitly convert size_t to bool in pause()Max Kellermann2011-07-201-1/+2
| |
| * pipe: lock the mutex in music_pipe_size()Max Kellermann2011-07-201-1/+4
| |
| * pipe: make read-only functions "pure"Max Kellermann2011-07-201-0/+5
| | | | | | | | Enable gcc optimizations.
| * output_thread: unlock the mutex while calling cancel()Max Kellermann2011-07-201-1/+6
| | | | | | | | The method may take longer, and we shouldn't be holding the lock.
| * player_thread: lock the player while setting the bite_rateMax Kellermann2011-07-201-0/+2
| |
| * update_walk: apply follow_inside_symlinks to absolute symlinksMax Kellermann2011-07-201-2/+8
| |
| * wavpack: obey all decoder commands, stop at CUE track borderMax Kellermann2011-07-201-9/+6
| | | | | | | | It used to ignore the decoder_data() return value.
| * decoder/wavpack: use the correct integer typesMax Kellermann2011-07-201-10/+5
| | | | | | | | | | libwavpack provides int32_t samples, and wants uin32_t for sample counts.
| * decoder/wavpack: simplify the WavpackUnpackSamples()==0 checkMax Kellermann2011-07-201-17/+14
| | | | | | | | .. and remove one indent level.