Commit message (Collapse) | Author | Age | |
---|---|---|---|
* | test/dump_playlist: add missing newline to error message | Max Kellermann | 2012-10-02 |
| | |||
* | output/recorder, test/*: invoke encoder_read() after _open() | Max Kellermann | 2012-10-02 |
| | | | | | Make sure the file header gets written at the beginning, before _write() gets called. | ||
* | test/run_encoder: fix encoder_open() call | Max Kellermann | 2012-10-02 |
| | |||
* | queue_save: save song priorities | Max Kellermann | 2012-08-21 |
| | |||
* | test/test_pcm: add pcm_volume tests | Max Kellermann | 2012-07-10 |
| | |||
* | require GLib 2.16 | Max Kellermann | 2012-07-10 |
| | | | | | GLib 2.16 was released more than 4 years ago. Let's remove some cruft from the glib_compat.h header, and avoid new cruft to it. | ||
* | output/raop: delete the RAOP plugin | Max Kellermann | 2012-05-29 |
| | | | | | | | | | This plugin is horrible code, I mean it. Last year, I tried hard to fix it, but I figured would take less time to do a full rewrite. Given that I don't even have any device that supports RAOP, I can't do that properly. After 16 months, nobody volunteered for fixing it. Hereby, I delete it, because having no RAOP plugin is better than having this mess. Sorry. | ||
* | test/read_rva2: new debug program for the RVA2 library | Max Kellermann | 2012-04-23 |
| | |||
* | Merge branch 'v0.16.x' | Max Kellermann | 2012-04-05 |
|\ | | | | | | | | | | | 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 |
| | | | | | | | | | | 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 |
| | | |||
| * | event_pipe, test: explicitly ignore write() return value | Max Kellermann | 2012-03-19 |
| | | | | | | | | | | 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 |
| | | |||
| * | test/read_tags: call g_thread_init() | Max Kellermann | 2012-02-13 |
| | | |||
* | | pcm_export: use the byte_reverse library directly | Max Kellermann | 2012-03-21 |
| | | | | | | | | | | 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 |
| | | | | | | | | | | | | 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 |
| | | |||
* | | test/run_convert: allow the out format to be a mask | Max Kellermann | 2012-03-21 |
| | | |||
* | | test/dump_text_file: debug program for text_input_stream.c | Max Kellermann | 2012-03-19 |
| | | |||
* | | test/run_input: use input_stream_*lock() | Max Kellermann | 2012-03-19 |
| | | |||
* | | event_pipe, test: explicitly ignore write() return value | Max Kellermann | 2012-03-19 |
| | | | | | | | | | | 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 |
| | | | | | | | | Make sure we get a UTF-8 encoded string. | ||
* | | playlist/embcue: new plugin for reading embedded cue sheets | Max Kellermann | 2012-02-12 |
| | | | | | | | | | | 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 |
| | | | | | | | | | | 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 |
| | | | | | | | | | | 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 |
|\| | | | | | | | | | | | | | 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 |
| | | |||
| * | test/read_tags: initialize the tag_pool library | Max Kellermann | 2012-02-04 |
| | | |||
* | | test/run_output: enable and disable the output | Max Kellermann | 2011-12-24 |
| | | |||
* | | pcm_buffer, output_plugin, ...: include config.h | Max Kellermann | 2011-12-13 |
| | | |||
* | | pcm_volume: "length" is a "size_t", not "int" | Max Kellermann | 2011-10-20 |
| | | |||
* | | test: add GLib testing compatibility header | Max Kellermann | 2011-10-19 |
| | | | | | | | | Didn't compile on GLib < 2.16. | ||
* | | pcm_dither: pass an "end" pointer instead of a sample count | Max Kellermann | 2011-10-10 |
| | | | | | | | | | | 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 |
| | | |||
* | | pcm_{mix,volume}: pass only sample_format to pcm_mix() | Max Kellermann | 2011-10-10 |
| | | | | | | | | The other audio_format attributes are not used. | ||
* | | test: add unit test for the PCM library | Max Kellermann | 2011-10-10 |
| | | |||
* | | don't define WINVER in *.c files | Max Kellermann | 2011-10-09 |
| | | | | | | | | | | 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 |
| | | | | | | | | Needed for the I/O thread. | ||
* | | tcp_connect: generic library for establishing TCP connections | Max Kellermann | 2011-09-20 |
| | | |||
* | | resolver: add function resolve_host_port() | Max Kellermann | 2011-09-20 |
| | | |||
* | | output_plugin: the plugin allocates the audio_output object | Max Kellermann | 2011-09-19 |
| | | | | | | | | | | | | 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 |
| | | | | | | | | | | Provide _lock() and _unlock() to wrap all accesses from the mixer plugin. | ||
* | | output/roar: export volume methods | Max Kellermann | 2011-09-17 |
| | | | | | | | | Use these instead of exposing the internal roar_t struct. | ||
* | | input_stream: non-blocking I/O | Max Kellermann | 2011-09-16 |
| | | | | | | | | | | | | | | | | | | 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 |
| | | | | | | | | | | 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 |
| | | |||
* | | test/read_tags: initialize the tag_pool library | Max Kellermann | 2011-09-13 |
| | | |||
* | | test/read_tags: call g_thread_init() | Max Kellermann | 2011-09-13 |
| | | | | | | | | Needed for the I/O thread. | ||
* | | conf: move duplicate check to _read_name_value() | Max Kellermann | 2011-09-09 |
| | | | | | | | | 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 |
| | | | | | | | | .. and destruct the output object properly in test/run_output. |