Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Merge branch 'v0.16.x' | Max Kellermann | 2011-11-28 | 17 | -78/+410 |
|\ | | | | | | | | | | | | | | | | | | | Conflicts: Makefile.am NEWS configure.ac src/encoder/flac_encoder.c src/log.c src/pcm_buffer.c | ||||
| * | decoder/ffmpeg: work around bogus channel count | Max Kellermann | 2011-11-28 | 1 | -8/+12 |
| | | | | | | | | | | Initialize the audio_format before calling avcodec_open(), because avcodec_open() will fill bogus values. | ||||
| * | mapper: check "r" permission on music directory | Max Kellermann | 2011-11-28 | 1 | -0/+7 |
| | | | | | | | | Yet another common support case. | ||||
| * | mapper: check "x" permission on music directory | Max Kellermann | 2011-11-28 | 1 | -0/+8 |
| | | | | | | | | | | This is a common support case, and hopefully, the new error message will allow the user to understand the error without requiring support. | ||||
| * | mapper: fix the bogus "not a directory" error message | Max Kellermann | 2011-11-28 | 1 | -1/+13 |
| | | | | | | | | | | Use stat() instead of g_file_test() to detect other types of errors, such as "permission denied". | ||||
| * | mapper: move code to check_directory() | Max Kellermann | 2011-11-28 | 1 | -8/+11 |
| | | |||||
| * | log: print reason for failure | Max Kellermann | 2011-11-28 | 1 | -2/+2 |
| | | |||||
| * | encoder/wave: support packed 24 bit samples | Max Kellermann | 2011-11-28 | 1 | -0/+5 |
| | | | | | | | | Convert to padded 24 bit samples, instead of falling back to 16 bit. | ||||
| * | encoder/null: use fifo_buffer instead of pcm_buffer | Max Kellermann | 2011-11-28 | 1 | -19/+15 |
| | | | | | | | | | | | | This fixes a buffer corruption bug; pcm_buffer is not designed to be a persistent buffers, and will discard anything between two consecutive calls. | ||||
| * | encoder/wave: use fifo_buffer instead of pcm_buffer | Max Kellermann | 2011-11-28 | 1 | -19/+27 |
| | | | | | | | | | | | | This fixes a buffer corruption bug; pcm_buffer is not designed to be a persistent buffers, and will discard anything between two consecutive calls. | ||||
| * | encoder/flac: use fifo_buffer instead of pcm_buffer | Max Kellermann | 2011-11-28 | 1 | -16/+20 |
| | | | | | | | | | | | | This fixes a buffer corruption bug; pcm_buffer is not designed to be a persistent buffers, and will discard anything between two consecutive calls. | ||||
| * | growing_fifo: new utility library for growing fifo_buffer | Max Kellermann | 2011-11-28 | 2 | -0/+163 |
| | | |||||
| * | fifo_buffer: add function fifo_buffer_realloc() | Max Kellermann | 2011-11-28 | 2 | -2/+47 |
| | | | | | | | | For growing FIFO buffers. | ||||
| * | fifo_buffer: add functions _capacity() and _available() | Max Kellermann | 2011-11-27 | 2 | -0/+29 |
| | | |||||
| * | pcm_buffer: add assertions | Max Kellermann | 2011-11-27 | 2 | -0/+10 |
| | | |||||
| * | pcm_buffer: move formula to new function align_8k() | Max Kellermann | 2011-11-27 | 1 | -2/+11 |
| | | |||||
| * | pcm_buffer: un-inline pcm_buffer_get() | Max Kellermann | 2011-11-27 | 2 | -14/+38 |
| | | | | | | | | This method is too complex for inlining. | ||||
| * | directory: rename attribute "stat" to "have_stat" | Max Kellermann | 2011-11-27 | 2 | -3/+3 |
| | | | | | | | | | | "stat" is a macro on mingw32, which is a pretty stupid thing, and this commit works around this build failure. | ||||
| * | directory: convert "stat" to a bool | Max Kellermann | 2011-11-27 | 2 | -2/+2 |
| | | |||||
| * | stats: explicitly cast "time_t" to "long" | Max Kellermann | 2011-11-27 | 1 | -1/+1 |
| | | | | | | | | Fixes warning on mingw32. | ||||
| * | decoder_api: cancel initial seek when song is not seekable | Max Kellermann | 2011-11-27 | 1 | -0/+6 |
| | | | | | | | | Fixes assertion failure. | ||||
| * | path: autodetect filesystem encoding on Win32 | Denis Krjuchkov | 2011-10-23 | 1 | -0/+16 |
| | | | | | | | | | | | | | | WinAPI explicitly declares filesystem encoding. It can be determined by GetACP(). Use that instead of Glib routine that always "detects" UTF-8 on Win32, which is incorrect for MPD case. | ||||
| * | configure.ac: define WINVER | Max Kellermann | 2011-10-13 | 3 | -3/+0 |
| | | | | | | | | | | | | Ensure that WINVER is defined early enough, so other system headers won't fall back to their default value. Specifically, this solves a build failure (-Werror) with mingw-w64 ("WINVER redefined"). | ||||
| * | decoder_thread: add missing stdio.h include | Max Kellermann | 2011-10-13 | 1 | -0/+1 |
| | | |||||
| * | event_pipe: fix WIN32 regression | Max Kellermann | 2011-10-13 | 1 | -2/+5 |
| | | | | | | | | | | The event pipe is not a socket, and the patch that introduced g_io_channel_new_socket() to the event pipe library was wrong. | ||||
* | | io_thread: fix race condition during startup | Max Kellermann | 2011-11-27 | 1 | -0/+8 |
| | | | | | | | | | | Ensure that the io.thread variable is set before entering the event loop. | ||||
* | | decoder/dsdiff: provide floating point samples | Max Kellermann | 2011-10-20 | 1 | -30/+3 |
| | | | | | | | | | | Eliminate the conversion to integer samples, the MPD core can do this now. | ||||
* | | decoder/wavpack: read float samples as-is, don't convert to integer | Max Kellermann | 2011-10-20 | 1 | -5/+4 |
| | | | | | | | | | | For MPD's new floating point support: when a decoded wavpack file needs to be resampled, don't convert float to int and back to float. | ||||
* | | pcm_format: implement conversion to float | Max Kellermann | 2011-10-20 | 3 | -1/+218 |
| | | |||||
* | | pcm_convert: add function pcm_convert_channels() | Max Kellermann | 2011-10-20 | 1 | -0/+50 |
| | | | | | | | | For future internal use. | ||||
* | | pcm_mix: implement float samples | Max Kellermann | 2011-10-20 | 1 | -4/+31 |
| | | |||||
* | | pcm_volume: implement float samples | Max Kellermann | 2011-10-20 | 2 | -2/+19 |
| | | |||||
* | | audio_format: basic support for floating point samples | Max Kellermann | 2011-10-20 | 11 | -0/+138 |
| | | | | | | | | | | Support for conversion from float to 16, 24 and 32 bit integer samples. | ||||
* | | pcm_mix: return bool, make unimplemented format non-fatal | Max Kellermann | 2011-10-20 | 3 | -28/+43 |
| | | | | | | | | Let the caller deal with a failure. | ||||
* | | pcm_volume: pass an "end" pointer instead of a sample count | Max Kellermann | 2011-10-20 | 1 | -20/+13 |
| | | |||||
* | | pcm_volume: remove "default" statement | Max Kellermann | 2011-10-20 | 1 | -3/+9 |
| | | | | | | | | Don't suppress gcc warnings. | ||||
* | | pcm_volume: "length" is a "size_t", not "int" | Max Kellermann | 2011-10-20 | 2 | -2/+2 |
| | | |||||
* | | pcm_resample: add function pcm_resample_float() | Max Kellermann | 2011-10-20 | 4 | -0/+95 |
| | | | | | | | | | | A version of the resampler that doesn't need int->float->int conversion. | ||||
* | | pcm_format: move "case" code to separate functions | Max Kellermann | 2011-10-20 | 1 | -95/+166 |
| | | | | | | | | Reduce the mess with local variables inside switch{}. | ||||
* | | pcm_*: add "restrict" keywords | Max Kellermann | 2011-10-20 | 2 | -18/+29 |
| | | | | | | | | Allow more compiler optimizations. | ||||
* | | crossfade: include cleanup | Max Kellermann | 2011-10-20 | 1 | -1/+0 |
| | | |||||
* | | pcm_format: pass an "end" pointer instead of a sample count | Max Kellermann | 2011-10-19 | 1 | -58/+28 |
| | | |||||
* | | pcm_channels: pass an "end" pointer instead of a sample count | Max Kellermann | 2011-10-19 | 1 | -39/+40 |
| | | |||||
* | | pcm_{channels,resample}: pass channel count as integer, not uint8_t | Max Kellermann | 2011-10-19 | 7 | -27/+27 |
| | | | | | | | | Reduces number of implicit integer conversions. | ||||
* | | pcm_{channels,format}: add alignment assertions | Max Kellermann | 2011-10-19 | 2 | -0/+12 |
| | | |||||
* | | pcm_utils: add function pcm_end_pointer() | Max Kellermann | 2011-10-19 | 2 | -1/+13 |
| | | |||||
* | | pcm_byteswap: use "end" pointer instead of buffer size | Max Kellermann | 2011-10-10 | 1 | -6/+12 |
| | | |||||
* | | pcm_dither: pass an "end" pointer instead of a sample count | Max Kellermann | 2011-10-10 | 3 | -19/+14 |
| | | | | | | | | | | 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 | 4 | -10/+11 |
| | | |||||
* | | pcm_byteswap: use GLib byte swapping macros | Max Kellermann | 2011-10-10 | 1 | -15/+2 |
| | | | | | | | | | | GLib's macros are implemented with inline assembly, and probably a lot faster than our naive bit shifting implementation. |