Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | Merge branch 'v0.16.x' | Max Kellermann | 2012-04-05 | 2 | -1/+110 | |
|\ | | | | | | | | | | | Conflicts: src/output/osx_plugin.c src/text_input_stream.c | |||||
| * | encoder/vorbis: generate end-of-stream packet when playback ends | Max Kellermann | 2012-04-05 | 2 | -2/+2 | |
| | | | | | | | | | | Add the encoder_plugin method end(). This is important for the recorder plugin. | |||||
| * | test/test_vorbis_encoder: program to debug the vorbis encoder | Max Kellermann | 2012-04-04 | 1 | -0/+109 | |
| | | ||||||
| * | event_pipe, test: explicitly ignore write() return value | Max Kellermann | 2012-03-19 | 6 | -7/+9 | |
| | | | | | | | | | | Some compilers are very picky, but we really aren't interested in the return value. | |||||
| * | test/run_decoder: initialize GThread | Max Kellermann | 2012-02-13 | 1 | -0/+1 | |
| | | ||||||
| * | test/read_tags: call g_thread_init() | Max Kellermann | 2012-02-13 | 1 | -0/+1 | |
| | | ||||||
* | | pcm_export: use the byte_reverse library directly | Max Kellermann | 2012-03-21 | 3 | -72/+0 | |
| | | | | | | | | | | Delete the now-unused pcm_byteswap library, and optimize the pcm_export_state object. | |||||
* | | audio_format: remove the reverse_endian attribute | Max Kellermann | 2012-03-21 | 1 | -2/+2 | |
| | | | | | | | | | | | | Eliminate support for reverse endian samples from the MPD core. This moves a lot of complexity to the plugins that really need it (only ALSA and CDIO currently). | |||||
* | | test: add unit test for util/byte_reverse.c | Max Kellermann | 2012-03-21 | 2 | -0/+86 | |
| | | ||||||
* | | test/run_convert: allow the out format to be a mask | Max Kellermann | 2012-03-21 | 1 | -2/+6 | |
| | | ||||||
* | | test/dump_text_file: debug program for text_input_stream.c | Max Kellermann | 2012-03-19 | 1 | -0/+170 | |
| | | ||||||
* | | 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". |