Commit Graph

5214 Commits

Author SHA1 Message Date
Max Kellermann ed0b48040c pcm_buffer: 8 kB alignment instead of 64 kB
Reduce the overhead.  Most buffers used by MPD are around 2 to 4 kB.
8 kB seems large enough to keep heap fragmentation low.

Additionally, this patch fixes an off-by-one error in the alignment
formula.
2010-05-20 09:31:51 +02:00
Max Kellermann 9aeed06964 test: enable binary mode on stdin/stdout
Declaring the global variable _CRT_fmode is a documented hack.  What
an ugly platform!
2010-05-20 09:20:30 +02:00
Max Kellermann eda46bc07f tag_{id3,ape}: explicitly open files in binary mode
Add the flag "b" to fopen().  Windows compatibility.
2010-05-20 09:14:11 +02:00
Max Kellermann c727e86980 input/file, output/{fifo,recorder}: add O_BINARY to open() flags
Windows compatibility.
2010-05-20 09:13:39 +02:00
Max Kellermann 57b4013306 client: use sprintf() on WIN32
On mingw32, snprintf() expects a 64 bit integer instead of a "long
int" for "%li" - this is not consistent with our expectation, so we're
using plain sprintf().
2010-05-19 13:12:37 +02:00
Max Kellermann fc5a7a8774 Makefile.am: disable test/read_mixer unless HAVE_ALSA 2010-05-19 11:47:55 +02:00
Max Kellermann 8248f498b2 event_pipe: use g_io_channel_read_chars() to drain the pipe
For some unknown reason, read() blocks on WIN32, even though it was
invoked inside the G_IO_IN callback.  By switching to GIOChannel
functions, this problem is solved, and it works on both Linux and
Windows.
2010-05-19 11:37:39 +02:00
Max Kellermann 22f3ffb099 event_pipe: call g_io_channel_win32_new_fd()
On WIN32, use g_io_channel_win32_new_fd() instead of
g_io_channel_unix_new().  There doesn't seem to be a practical
difference, but it seems more correct.
2010-05-19 11:37:22 +02:00
Max Kellermann 81bd8ef73c update_walk: don't check recursive symlinks on WIN32
inode numbers don't work on WIN32, and very few WIN32 users actually
use symlinks - seems ok to disable that check.
2010-05-19 11:36:07 +02:00
Max Kellermann bedc172eab crossfade: emulate strtok_r() on WIN32 with a function
Not a CPP macro.  This adds the "unused" attribute to "saveptr", which
eliminates one gcc warning.
2010-05-18 23:56:53 +02:00
Max Kellermann 0a9b0dd070 command: fallback strftime() formats on WIN32
On WIN32, "%F" and "%T" are not implemented.
2010-05-18 23:54:12 +02:00
Max Kellermann 6aa0f61e15 socket_util: fix setsockopt() argument type on WIN32
In the winsock headers, the setsockopt() argument is declared as
"const char *", not "const void *".
2010-05-18 23:13:05 +02:00
Max Kellermann 4461c3d5d1 daemon: include glib.h on WIN32 for g_error() 2010-05-18 23:13:05 +02:00
Max Kellermann fef46bcf49 fd_util: fd_set_cloexec() returns a value on WIN32
This function is empty on WIN32, but we need to return a value.
2010-05-18 23:09:07 +02:00
Max Kellermann fa2ff849c5 input/ffmpeg: new input plugin using libavformat's "avio" library 2010-05-18 21:20:31 +02:00
Max Kellermann 6b2b91ff01 input/mms: removed empty method buffer()
input_stream_buffer() has a check for "buffer==NULL", so we don't need
an explicit empty implementation.
2010-05-18 21:20:31 +02:00
Daniel Seuthe 733962db2f decoder_api: return effective replay gain
Pay attention to the ReplayGain mode "auto" and the
replay_gain_missing_preamp parameter inside of decoder_replay_gain().
2010-05-18 20:39:32 +02:00
Daniel Seuthe f824ecdfa1 replay_gain_config: added function replay_gain_get_real_mode() 2010-05-18 20:30:03 +02:00
Max Kellermann 6c831e04a2 output/oss: 24 bit support via OSS4
Added #ifdefs on the macros AFMT_S24_NE and other OSS4 extensions.
2010-05-14 09:48:02 +02:00
Max Kellermann 67c48f66a6 output/oss: rewrite of the audio format detection
Removed the "supported" / "unsupported" arrays, and auto-detect on
every open() call, just like the ALSA output plugin.
2010-05-13 14:42:09 +02:00
Max Kellermann 5fa1c703de output/oss: use the *_NE macros
Removed the macro AFMT_S16_MPD.
2010-05-13 14:34:22 +02:00
Avuton Olrich bead892e21 AudioCompress: include stdint.h for int16_t definition.
In mingw32, int16_t is not defined by sys/types.h, but it is by stdint.h,
and it is in the int16_t man page as being defined in stdint.h. Thanks to
mithi for help debugging.
2010-05-11 18:48:22 -07:00
Avuton Olrich 8341daca4a client_new: Send greeting using send() rather than write().
This is portable for win32 and fixes client logins there.
2010-05-08 16:48:01 -07:00
Tim Phipps 136759a298 mixramp: Remove maths from pcm_mix when using MixRamp overlaps. 2010-05-08 09:28:06 +02:00
Tim Phipps 0ac5b6e613 mixramp: Adjust MixRamp threshold to account for ReplayGain. 2010-05-08 00:19:44 -07:00
Avuton Olrich eb5208c4f9 log: /dev/null doesn't exist on win32. 2010-05-08 00:17:34 -07:00
Max Kellermann d88c3c8462 output_thread: call replay gain filter manually
Don't add it to the filter chain, because we need to apply replay gain
before cross-fading with the next song.  Add a second replay_gain
filter which is used for the song being faded in (chunk->other).
2010-05-02 18:21:16 +02:00
Max Kellermann 5399a72ec1 player_thread: move cross-fading to output thread
Remove cross_fade_apply(), and call pcm_mix() in the output thread,
mixing the chunk and chunk->other together.
2010-05-02 17:46:07 +02:00
Max Kellermann d093fb2441 chunk: added attribute "other"
Preparation for cross-fading support in the output thread.
2010-05-02 17:46:06 +02:00
Max Kellermann 0140804ef9 output_thread: moved code to ao_filter_open(), ao_filter_close() 2010-05-02 17:38:16 +02:00
Max Kellermann ecb5f68ba8 output_thread: moved filter invocation to ao_filter_chunk() 2010-05-02 17:34:35 +02:00
Max Kellermann 55bf242635 filter/replay_gain: removed duplicate *dest_size_r assignment 2010-05-02 17:34:27 +02:00
Avuton Olrich 7dba410c26 configure.ac: Move the encoders before the audio outputs.
Move encoder before audio outputs. Makes sense to keep them after
decoders and some audio outputs need to know wheather encoders are
present.
2010-04-26 06:49:12 -07:00
Daniel Seuthe 92e66e5ab2 replay_gain: added mode "auto" 2010-04-25 13:51:58 +02:00
Max Kellermann 54dedef9cf configure.ac: removed stray comma 2010-04-25 13:51:54 +02:00
Avuton Olrich b8b2ef3de1 configure.ac: Add libogg section
Add libogg section rather than checking for it every time it's necessary.
2010-04-23 06:53:26 -07:00
Avuton Olrich 681128def4 configure.ac: Fix an omission during moving oggvorbis to decoder plugins. 2010-04-22 20:00:25 -07:00
Avuton Olrich f4f4a908bb configure.ac: When compiling FLAC with ogg API, linking with ogg is mandatory. 2010-04-22 19:56:23 -07:00
Avuton Olrich 7c37f2879b configure.ac: Move LAME encoder subheader to correct spot. 2010-04-22 19:09:06 -07:00
Avuton Olrich 615ccd1070 configure.ac: Add optional third variable to results.
Add optional third value to results() to allow for non "yes" answers which are
considered positive.
2010-04-21 12:23:38 -07:00
Avuton Olrich 6ed69e6395 libOggFLAC.m4: Remove libOggFLAC.m4 as it's buggy. 2010-04-21 12:23:38 -07:00
Avuton Olrich f946a182a3 configure.ac: Rewrite the liboggflac tests.
Rewrite the liboggflac tests, the m4 macro is way too complicated for no
reason and it's buggy.
2010-04-21 12:23:38 -07:00
Avuton Olrich d3fcb81da0 configure.ac: Fix a couple of syntax errors created by the moves. 2010-04-21 12:23:37 -07:00
Avuton Olrich 7e42637b74 configure.ac: Clean up the wording and lines at the end of the file. 2010-04-21 12:23:37 -07:00
Avuton Olrich dbe93d4a6d configure.ac: Merge the streaming and nonstreaming sections. 2010-04-21 12:23:37 -07:00
Avuton Olrich 20bc25cdcc configure.ac: Move audio output tests to Post Audio Output Plugins section. 2010-04-21 12:23:37 -07:00
Avuton Olrich 13c0788334 configure.ac: Move protocol tests to the Post Protocol Tests section. 2010-04-21 12:23:37 -07:00
Avuton Olrich 672cf84a32 configure.ac: Remove errant header. 2010-04-21 12:23:37 -07:00
Avuton Olrich 2834f7802f configure.ac: Move decoder minimum test to Post Decoder Plugins tests. 2010-04-21 12:23:37 -07:00
Avuton Olrich b135483abc configure.ac: New pretty print results menu.
This commit adds a new pretty print menu, we've (far) outgrown the old
menu which because hard to traverse.
2010-04-21 12:23:37 -07:00