Max Kellermann
cead5e5bd7
mapper: fix the bogus "not a directory" error message
...
Use stat() instead of g_file_test() to detect other types of errors,
such as "permission denied".
2011-11-28 09:50:44 +01:00
Max Kellermann
cf15629aea
mapper: move code to check_directory()
2011-11-28 09:35:50 +01:00
Max Kellermann
a727d0bb0b
log: print reason for failure
2011-11-28 09:31:43 +01:00
Max Kellermann
0a218ee56a
encoder/wave: support packed 24 bit samples
...
Convert to padded 24 bit samples, instead of falling back to 16 bit.
2011-11-28 09:25:42 +01:00
Max Kellermann
74beefcaf6
encoder/null: use fifo_buffer instead of pcm_buffer
...
This fixes a buffer corruption bug; pcm_buffer is not designed to be a
persistent buffers, and will discard anything between two consecutive
calls.
2011-11-28 09:23:36 +01:00
Max Kellermann
399a3abefc
encoder/wave: use fifo_buffer instead of pcm_buffer
...
This fixes a buffer corruption bug; pcm_buffer is not designed to be a
persistent buffers, and will discard anything between two consecutive
calls.
2011-11-28 09:23:12 +01:00
Max Kellermann
cee5036aca
encoder/flac: use fifo_buffer instead of pcm_buffer
...
This fixes a buffer corruption bug; pcm_buffer is not designed to be a
persistent buffers, and will discard anything between two consecutive
calls.
2011-11-28 09:21:32 +01:00
Max Kellermann
790823abb4
growing_fifo: new utility library for growing fifo_buffer
2011-11-28 09:11:11 +01:00
Max Kellermann
f546849352
fifo_buffer: add function fifo_buffer_realloc()
...
For growing FIFO buffers.
2011-11-28 07:45:15 +01:00
Max Kellermann
a85af593f1
fifo_buffer: add functions _capacity() and _available()
2011-11-27 21:11:47 +01:00
Max Kellermann
07067f8b95
pcm_buffer: add assertions
2011-11-27 20:17:52 +01:00
Max Kellermann
a1e824ada0
pcm_buffer: move formula to new function align_8k()
2011-11-27 20:17:14 +01:00
Max Kellermann
f5f1bfbef1
pcm_buffer: un-inline pcm_buffer_get()
...
This method is too complex for inlining.
2011-11-27 20:17:12 +01:00
Max Kellermann
cd108ba3aa
directory: rename attribute "stat" to "have_stat"
...
"stat" is a macro on mingw32, which is a pretty stupid thing, and this
commit works around this build failure.
2011-11-27 20:15:25 +01:00
Max Kellermann
2bb5bfa74e
directory: convert "stat" to a bool
2011-11-27 20:11:45 +01:00
Max Kellermann
624e7a447d
stats: explicitly cast "time_t" to "long"
...
Fixes warning on mingw32.
2011-11-27 20:07:14 +01:00
Max Kellermann
37420c342b
io_thread: fix race condition during startup
...
Ensure that the io.thread variable is set before entering the event
loop.
2011-11-27 19:28:26 +01:00
Max Kellermann
ef40e362c9
decoder_api: cancel initial seek when song is not seekable
...
Fixes assertion failure.
2011-11-27 19:19:43 +01:00
Avuton Olrich
ef369c2e2b
Makefile.am: Add PULSE_LIBS for linking the mixer when compiling with pulse
...
Commit 3a3158 introduced a small bug where the pulseaudio mixer would not link
with the main binary in some situations.
2011-11-14 05:09:18 -08:00
Denis Krjuchkov
6452461c39
path: autodetect filesystem encoding on Win32
...
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.
2011-10-23 16:29:58 +02:00
Max Kellermann
1e89ca0994
decoder/dsdiff: provide floating point samples
...
Eliminate the conversion to integer samples, the MPD core can do this
now.
2011-10-20 03:01:31 +02:00
Max Kellermann
92bb10eed8
decoder/wavpack: read float samples as-is, don't convert to integer
...
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.
2011-10-20 02:55:05 +02:00
Max Kellermann
8465c5fe0e
pcm_format: implement conversion to float
2011-10-20 02:55:05 +02:00
Max Kellermann
42e248a8da
pcm_convert: add function pcm_convert_channels()
...
For future internal use.
2011-10-20 02:55:05 +02:00
Max Kellermann
e71a652985
pcm_mix: implement float samples
2011-10-20 02:36:26 +02:00
Max Kellermann
bfef0fbff3
pcm_volume: implement float samples
2011-10-20 02:33:51 +02:00
Max Kellermann
545685bc32
audio_format: basic support for floating point samples
...
Support for conversion from float to 16, 24 and 32 bit integer
samples.
2011-10-20 02:32:39 +02:00
Max Kellermann
13ad2b4dc2
pcm_mix: return bool, make unimplemented format non-fatal
...
Let the caller deal with a failure.
2011-10-20 02:27:41 +02:00
Max Kellermann
d019343017
pcm_volume: pass an "end" pointer instead of a sample count
2011-10-20 02:27:41 +02:00
Max Kellermann
e977ec924c
pcm_volume: remove "default" statement
...
Don't suppress gcc warnings.
2011-10-20 02:24:25 +02:00
Max Kellermann
b7d5652bf6
pcm_volume: "length" is a "size_t", not "int"
2011-10-20 02:24:25 +02:00
Max Kellermann
725e48fce4
pcm_resample: add function pcm_resample_float()
...
A version of the resampler that doesn't need int->float->int
conversion.
2011-10-20 02:24:25 +02:00
Max Kellermann
43816c268b
pcm_format: move "case" code to separate functions
...
Reduce the mess with local variables inside switch{}.
2011-10-20 02:24:25 +02:00
Max Kellermann
72e80db823
pcm_*: add "restrict" keywords
...
Allow more compiler optimizations.
2011-10-20 02:24:25 +02:00
Max Kellermann
7b33c343f8
crossfade: include cleanup
2011-10-20 02:24:25 +02:00
Jonathan Neuschäfer
6d0601b99f
doc/protocol.xml: the replay gain "auto" mode was added in MPD 0.16
2011-10-19 23:59:44 +02:00
Jonathan Neuschäfer
b6e713711d
doc/protocol.xml: document {en,dis}ableoutput's parameter
2011-10-19 23:32:19 +02:00
Max Kellermann
c53edeeb6c
pcm_format: pass an "end" pointer instead of a sample count
2011-10-19 22:36:47 +02:00
Max Kellermann
dfb98417b3
pcm_channels: pass an "end" pointer instead of a sample count
2011-10-19 22:17:30 +02:00
Max Kellermann
9716c3a30e
pcm_{channels,resample}: pass channel count as integer, not uint8_t
...
Reduces number of implicit integer conversions.
2011-10-19 22:14:43 +02:00
Max Kellermann
c4c44c4445
pcm_{channels,format}: add alignment assertions
2011-10-19 22:14:08 +02:00
Max Kellermann
0debe9bd6f
pcm_utils: add function pcm_end_pointer()
2011-10-19 22:13:23 +02:00
Max Kellermann
f1da118a6c
test: add GLib testing compatibility header
...
Didn't compile on GLib < 2.16.
2011-10-19 21:14:14 +02:00
Max Kellermann
c30c46cd5f
configure.ac: define WINVER
...
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").
2011-10-13 09:23:32 +02:00
Max Kellermann
d394017926
decoder_thread: add missing stdio.h include
2011-10-13 09:09:58 +02:00
Max Kellermann
04525c0259
event_pipe: fix WIN32 regression
...
The event pipe is not a socket, and the patch that introduced
g_io_channel_new_socket() to the event pipe library was wrong.
2011-10-13 09:08:37 +02:00
Max Kellermann
08a0bb756d
pcm_byteswap: use "end" pointer instead of buffer size
2011-10-10 10:24:06 +02:00
Max Kellermann
20c6159c04
pcm_dither: pass an "end" pointer instead of a sample count
...
This is easier and more efficient to loop on, because only two
variables get modified (src and dest).
2011-10-10 10:24:06 +02:00
Max Kellermann
a47e9d1a4b
pcm_pack: pass an "end" pointer instead of a sample count
2011-10-10 10:24:05 +02:00
Max Kellermann
e93dd374a4
pcm_byteswap: use GLib byte swapping macros
...
GLib's macros are implemented with inline assembly, and probably a lot
faster than our naive bit shifting implementation.
2011-10-10 10:24:05 +02:00