Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | test/run_input: use input_stream_*lock() | Max Kellermann | 2012-03-19 | 1 | -4/+4 |
| | |||||
* | event_pipe, test: explicitly ignore write() return value | Max Kellermann | 2012-03-19 | 7 | -8/+10 |
| | | | | | Some compilers are very picky, but we really aren't interested in the return value. | ||||
* | use g_strerror() instead of strerror() | Max Kellermann | 2012-03-06 | 2 | -2/+2 |
| | | | | Make sure we get a UTF-8 encoded string. | ||||
* | playlist/embcue: new plugin for reading embedded cue sheets | Max Kellermann | 2012-02-12 | 1 | -0/+93 |
| | | | | | Parses CUE data from the "CUESHEET" tag. Needs further integration in the update thread. | ||||
* | tag_handler: handle arbitrary name/value pairs | Max Kellermann | 2012-02-12 | 1 | -1/+8 |
| | | | | | The new method pair() receives an arbitrary name/value pair. Support for this is being added to a few decoder plugins. | ||||
* | decoder_plugin: scan tags with callback table | Max Kellermann | 2012-02-11 | 1 | -30/+25 |
| | | | | | Pass a callback table to scan_file() and scan_stream(), instead of returning a tag object. | ||||
* | Merge branch 'v0.16.x' | Max Kellermann | 2012-02-04 | 1 | -0/+5 |
|\ | | | | | | | | | | | | | Conflicts: src/decoder/ffmpeg_decoder_plugin.c test/read_tags.c test/run_decoder.c | ||||
| * | test/run_decoder: initialize the tag_pool library | Max Kellermann | 2012-02-04 | 1 | -0/+5 |
| | | |||||
| * | test/read_tags: initialize the tag_pool library | Max Kellermann | 2012-02-04 | 1 | -0/+5 |
| | | |||||
* | | test/run_output: enable and disable the output | Max Kellermann | 2011-12-24 | 1 | -0/+10 |
| | | |||||
* | | pcm_buffer, output_plugin, ...: include config.h | Max Kellermann | 2011-12-13 | 2 | -0/+2 |
| | | |||||
* | | pcm_volume: "length" is a "size_t", not "int" | Max Kellermann | 2011-10-20 | 3 | -3/+3 |
| | | |||||
* | | test: add GLib testing compatibility header | Max Kellermann | 2011-10-19 | 6 | -0/+62 |
| | | | | | | | | Didn't compile on GLib < 2.16. | ||||
* | | pcm_dither: pass an "end" pointer instead of a sample count | Max Kellermann | 2011-10-10 | 1 | -2/+2 |
| | | | | | | | | | | This is easier and more efficient to loop on, because only two variables get modified (src and dest). | ||||
* | | pcm_pack: pass an "end" pointer instead of a sample count | Max Kellermann | 2011-10-10 | 1 | -2/+2 |
| | | |||||
* | | pcm_{mix,volume}: pass only sample_format to pcm_mix() | Max Kellermann | 2011-10-10 | 4 | -4/+4 |
| | | | | | | | | The other audio_format attributes are not used. | ||||
* | | test: add unit test for the PCM library | Max Kellermann | 2011-10-10 | 6 | -0/+415 |
| | | |||||
* | | don't define WINVER in *.c files | Max Kellermann | 2011-10-09 | 3 | -3/+0 |
| | | | | | | | | | | In a C file, that is too late, because _mingw.h defaults to 0x0502, and ours would be illegal redefintion. | ||||
* | | test/run_decoder: initialize GThread | Max Kellermann | 2011-10-03 | 1 | -0/+1 |
| | | | | | | | | Needed for the I/O thread. | ||||
* | | tcp_connect: generic library for establishing TCP connections | Max Kellermann | 2011-09-20 | 1 | -0/+165 |
| | | |||||
* | | resolver: add function resolve_host_port() | Max Kellermann | 2011-09-20 | 1 | -0/+67 |
| | | |||||
* | | output_plugin: the plugin allocates the audio_output object | Max Kellermann | 2011-09-19 | 1 | -14/+14 |
| | | | | | | | | | | | | Pass audio_output objects around instead of void pointers. This will give some more control to the plugin, and prepares for non-blocking audio outputs. | ||||
* | | output/pulse: don't expose internal struct in public header | Max Kellermann | 2011-09-17 | 1 | -0/+10 |
| | | | | | | | | | | Provide _lock() and _unlock() to wrap all accesses from the mixer plugin. | ||||
* | | output/roar: export volume methods | Max Kellermann | 2011-09-17 | 1 | -0/+18 |
| | | | | | | | | Use these instead of exposing the internal roar_t struct. | ||||
* | | input_stream: non-blocking I/O | Max Kellermann | 2011-09-16 | 4 | -31/+45 |
| | | | | | | | | | | | | | | | | | | 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 Kellermann | 2011-09-16 | 1 | -0/+6 |
| | | | | | | | | | | To check for errors without reading. The decoder thread wants to do that, before it passes the input stream to the plugin. | ||||
* | | test/test_queue_priority: work around "set but not used" warning | Max Kellermann | 2011-09-16 | 1 | -0/+1 |
| | | |||||
* | | test/read_tags: initialize the tag_pool library | Max Kellermann | 2011-09-13 | 1 | -0/+5 |
| | | |||||
* | | test/read_tags: call g_thread_init() | Max Kellermann | 2011-09-13 | 1 | -0/+1 |
| | | | | | | | | Needed for the I/O thread. | ||||
* | | conf: move duplicate check to _read_name_value() | Max Kellermann | 2011-09-09 | 1 | -1/+1 |
| | | | | | | | | config_add_block_param() cannot fail, which makes it easier to use. | ||||
* | | output_control: move code to audio_output_destruct() | Max Kellermann | 2011-08-30 | 1 | -2/+1 |
| | | | | | | | | .. and destruct the output object properly in test/run_output. | ||||
* | | test/run_output: clean up after open failure | Max Kellermann | 2011-08-30 | 1 | -50/+61 |
| | | |||||
* | | ntp_server: move code to udp_server.c | Max Kellermann | 2011-08-30 | 1 | -78/+5 |
| | | |||||
* | | ntp_server: use the I/O thread | Max Kellermann | 2011-08-29 | 2 | -12/+20 |
| | | |||||
* | | test/run_ntp_server: quit on SIGINT or SIGTERM | Max Kellermann | 2011-08-29 | 3 | -1/+103 |
| | | | | | | | | Clean up the process before exiting. | ||||
* | | ntp_server: add debug program "run_ntp_server" | Max Kellermann | 2011-08-29 | 1 | -0/+137 |
| | | |||||
* | | input/soup: new input plugin based on libsoup | Max Kellermann | 2011-08-24 | 4 | -0/+42 |
| | | | | | | | | | | | | | | | | 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. | ||||
* | | output/raop: consistently use GError | Max Kellermann | 2011-08-24 | 1 | -1/+2 |
| | | |||||
* | | queue: implement song "priorities" | Max Kellermann | 2011-07-19 | 1 | -0/+174 |
| | | | | | | | | | | Sorts remaining songs by priority. This can be used for the much-demanded "queue feature". | ||||
* | | Merge branch 'v0.16.x' | Max Kellermann | 2011-07-19 | 2 | -13/+8 |
|\| | | | | | | | | | | | Conflicts: NEWS configure.ac | ||||
| * | test/run_filter: remove unused variable "frame_size" | Max Kellermann | 2011-07-03 | 1 | -3/+0 |
| | | |||||
| * | test/read_conf: make variables more local | Max Kellermann | 2011-07-03 | 1 | -9/+7 |
| | | |||||
| * | test/read_conf: fix -Wunused-but-set-variable | Max Kellermann | 2011-07-03 | 1 | -1/+1 |
| | | |||||
* | | test/read_mixer: add workaround for missing RAOP symbols | Max Kellermann | 2011-01-29 | 1 | -0/+18 |
| | | |||||
* | | copyright year 2011 | Max Kellermann | 2011-01-29 | 14 | -14/+14 |
| | | |||||
* | | player_control: removed the global variable "pc" | Max Kellermann | 2011-01-10 | 1 | -1/+4 |
|/ | | | | | | | Allocate a player_control object where needed, and pass it around. Each "client" object is associated with a "player_control" instance. This prepares multi-player support. | ||||
* | test/run_decoder: dump replay gain | Max Kellermann | 2010-07-20 | 1 | -1/+12 |
| | |||||
* | test/dump_playlist: print open-ended range | Max Kellermann | 2010-06-25 | 1 | -1/+5 |
| | |||||
* | test: added debug program "run_inotify" | Max Kellermann | 2010-05-30 | 1 | -0/+93 |
| | |||||
* | test: enable binary mode on stdin/stdout | Max Kellermann | 2010-05-20 | 9 | -0/+37 |
| | | | | | Declaring the global variable _CRT_fmode is a documented hack. What an ugly platform! |