Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | | Merge branch 'v0.17.x' | Max Kellermann | 2012-08-25 | 1 | -1/+1 | |
|\| | | | | | | | | | Conflicts: src/queue_save.c | |||||
| * | queue_save: save song priorities | Max Kellermann | 2012-08-21 | 1 | -1/+1 | |
| | | ||||||
* | | test/test_queue_priority: fix SIGABRT | Max Kellermann | 2012-08-25 | 1 | -0/+15 | |
| | | ||||||
* | | queue: duplicate all song objects | Max Kellermann | 2012-08-15 | 1 | -0/+33 | |
| | | | | | | | | | | Make sure the queue "owns" all song objects, so nobody else can free them. | |||||
* | | tag_pool: use GStaticMutex | Max Kellermann | 2012-08-08 | 5 | -17/+2 | |
| | | | | | | | | Eliminates explicit global initialisation. | |||||
* | | db_selection: rename to DatabaseSelection | Max Kellermann | 2012-08-07 | 1 | -3/+2 | |
| | | ||||||
* | | Database{Plugin,Visitor}: pass references | Max Kellermann | 2012-08-07 | 1 | -8/+8 | |
| | | ||||||
* | | test/DumpDatabase: new debug program | Max Kellermann | 2012-08-07 | 1 | -0/+154 | |
| | | ||||||
* | | DatabaseVisitor, ...: use GError forward declaration | Max Kellermann | 2012-08-02 | 1 | -0/+2 | |
|/ | ||||||
* | test/test_pcm: add pcm_volume tests | Max Kellermann | 2012-07-10 | 3 | -0/+211 | |
| | ||||||
* | require GLib 2.16 | Max Kellermann | 2012-07-10 | 6 | -65/+0 | |
| | | | | | 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 | 2 | -90/+0 | |
| | | | | | | | | | 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 | 1 | -0/+109 | |
| | ||||||
* | 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. |