Commit Graph

3032 Commits

Author SHA1 Message Date
Max Kellermann 7950a6d612 configure.ac: disable the mikmod plugin by default
libmikmod seems to be unmaintained, and has several critical bugs
which make MPD crash.

 http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=461519
 http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=476339

Disable the plugin by default to minimize harm.  Users should
explicitly enable the mikmod decoder (--enable-mod) if they wish to
have it anyway.
2008-12-24 03:24:23 +01:00
Max Kellermann 0d9d82a932 pcm_utils: check pcm_convert()==0
It is illegal to pass an empty audio buffer around.  pcm_resample()
sometimes seems to result in 0 samples, maybe related to
libsamplerate.  To work around that problem, add special checks after
both pcm_convert() invocations.  Removed the pcm_resample()==0 checks
from pcm_convert().
2008-12-24 03:08:39 +01:00
Max Kellermann d2d11d70a8 client: always attempt to flush deferred buffers
When a response is very long (e.g. a large playlist > 100k songs),
most of it will end up in the deferred buffers.  Filling the deferred
queue is very expensive currently, because a new buffer is allocated
for every client_write() operation.  This may lead to long delays, and
the client might give up and disconnect meanwhile.  This patch makes
MPD attempt to flush the deferred queue as often as possible, to work
around this problem.  Due to the MPD 0.14 code freeze, we should not
optimize the buffering code now.
2008-12-24 03:00:08 +01:00
Viliam Mateicka d96cda95a1 shout: fixed bad error message printout 2008-12-23 18:05:25 +01:00
Qball Cow fe4a9a6d67 Build makefiles after checking available outputs and decoder plugins
Move the AC_OUTPUT below the checks. So you nicely see what goes wrong.
2008-12-22 12:02:12 +01:00
Max Kellermann 3b2a752d0e Merge branch 'http_buffer_remove' of git://git.musicpd.org/avuton/mpd 2008-12-21 19:40:06 +01:00
Max Kellermann bc31d7a0ee Merge branch 'master' of git://git.musicpd.org/avuton/mpd
Conflicts:

	doc/mpdconf.example
2008-12-21 19:39:08 +01:00
Avuton Olrich 143b46caf5 Fix AUTHORS UTF-8 compliance. 2008-12-21 06:10:47 -08:00
Avuton Olrich e75e40085f Remove obsolete http_buffer* stuff that went away with the new curl backend. 2008-12-20 22:16:02 -08:00
Avuton Olrich 04561b604b Huge mpdconf update.
Over time mpdconf has evolved and has been maintained and contributed to by many different folks at different
times. Try to give it some unity. Attempt to clear up some language and make things crystal clear. Add more
examples. Use tabs when it makes sense. Make better borders. Remove obsolete options. Try to put more defaults
when it makes sense.
2008-12-20 22:09:06 -08:00
Avuton Olrich cc279f115b More clarification in the INSTALL file 2008-12-20 19:29:55 -08:00
Avuton Olrich b1838b4976 Word wrap to 80 char lines 2008-12-20 19:27:02 -08:00
Avuton Olrich f2aa7c4d15 Start off with a disclaimer about the NEWS file information 2008-12-20 19:20:19 -08:00
Avuton Olrich d97c7d6aae Clarify some very messy documentation in the installation. 2008-12-20 19:17:34 -08:00
Avuton Olrich 6821f2b774 Update the text of the GPLv2, this fixes the address and a few other oddities. 2008-12-20 19:02:09 -08:00
Max Kellermann a6e981c08d doc: clarify "user" setting (starting as root / unprivileged)
The "user" option does not work if MPD is started by an unprivileged
user.
2008-12-20 17:37:12 +01:00
Max Kellermann bfaaf425c2 log: map log level "SECURE" to GLib's "INFO"
Make "secure" a log level different from "default".  "secure" should be
right between "default" and "verbose".  Map "default" to Glib's
"MESSAGE" log level.
2008-12-20 17:26:49 +01:00
Avuton Olrich 5c0c66d676 MPD version 0.14~beta3 2008-12-20 06:49:31 -08:00
Max Kellermann c41fa6cf5e configure.ac: check lame availability before shout_mp3 test
If lame was not available, the shout_mp3 plugin was enabled anyway,
and triggered compiler errors.
2008-12-17 17:16:24 +01:00
Max Kellermann caf601199b configure.ac: disable shout when no encoder is found
First check if an ecoder plugin is available, then determine whether
to enable the shout output plugin.
2008-12-17 16:57:48 +01:00
Emanuele Giaquinta 213c021eac Remove useless statement. 2008-12-17 16:49:33 +01:00
Max Kellermann 5d56b6ced8 player_control: check if errored_song is set
getPlayerErrorStr() assumes that pc.errored_song is set when an error
occured.  Since the song may have been deleted meanwhile, add a NULL
check.
2008-12-17 16:46:12 +01:00
Max Kellermann 13192546a8 playlist: clear pc.errored_song on delete
When a (remote) song is deleted from the playlist, there may still be
a reference to it in pc.errored_song.  Clear this reference.
2008-12-17 16:45:49 +01:00
Emanuele Giaquinta 25c04a97d3 Remove useless computation. After the pthread_cond_wait loop there are at least MIN(od->bufferSize, size) free bytes in the buffer. Thus MIN(od->bufferSize - od->len, size) is always equal to MIN(od->bufferSize, size). 2008-12-17 15:56:43 +01:00
Emanuele Giaquinta c584d6b087 Remove useless statement, curpos is initialized at the beginning of the loop. 2008-12-17 15:56:43 +01:00
Emanuele Giaquinta c36a6b0aee Factor computation. 2008-12-17 15:56:43 +01:00
Emanuele Giaquinta a4f0c7b457 Use MIN. 2008-12-17 15:56:43 +01:00
Emanuele Giaquinta df80ae86ee Call CloseComponent after AudioUnitUninitialize. 2008-12-17 15:56:43 +01:00
Max Kellermann f5bbb2b819 man: document Unix domain socket configuration in the manual
Additionally, add an example in mpdconf.example.
2008-12-16 21:31:52 +01:00
Max Kellermann 5aa1afe693 command: reject unsupported URI schemes
When a client-specified URI has a scheme which is not supported, do
not try to open it as a local file, but provide a meaningful error
message.
2008-12-16 21:23:29 +01:00
Max Kellermann c50115f9a2 ls: added uri_has_scheme()
uri_has_scheme() checks if an URI contains the sub string "://", which
makes MPD assume that it is a remote URI.
2008-12-16 21:22:10 +01:00
Max Kellermann e0be4400cf ls: don't return suffix from parent directory name
When a file had no file name extension, getSuffix() could return the
extension of the parent directory (if it had one).
2008-12-16 21:22:08 +01:00
Max Kellermann b765c62f2f ls: reimplement getSuffix() with strrchr()
The old getSuffix() code was quite wasteful, and can be replaced
completely with strrchr().
2008-12-16 21:20:09 +01:00
Max Kellermann d0024c077d ls: use bool
Use the C99 "bool" data type instead of "int".
2008-12-16 21:18:33 +01:00
Max Kellermann 1d82edc6d3 ls: make printRemoteUrlHandlers() return void
printRemoteUrlHandlers() cannot fail, and does not need a return
value.
2008-12-16 21:18:31 +01:00
Max Kellermann 3287726736 ls: removed isValidRemoteUtf8Url()
The function didn't do anything useful, it was just several lines
obfuscating that it was only forwarding isRemoteUrl()'s return value.
2008-12-16 21:15:20 +01:00
Max Kellermann 3d4fb9a9a6 ls: don't include time.h
ls.h does not need time.h, do not include it.
2008-12-16 21:05:02 +01:00
Viliam Mateicka 88ab54d3d4 ffmpeg: fixing ffmpeg_send_packet to allow multipackets 2008-12-15 19:37:10 +01:00
Viliam Mateicka 8a412aaa27 ffmpeg: adding APE support 2008-12-15 19:34:58 +01:00
jefromi 9deecd219e configure.ac: added libcurl to configure summary
When updating from a version before libcurl was used for streaming
support, this is confusing - streaming will work with the old version
(e.g. 0.13.2) but will give "no such file" errors with the new due to
the missing dependency. However, the missing dependency will not be
obvious when running the configure script.
2008-12-14 22:05:06 +01:00
Max Kellermann dedaf7033b locate: ignore case when searching in song paths
The function strstrSearchTag() used g_utf8_casefold() to generate the
(pseudo-)lowercase version of the song's URL, but it never used the
variable.
2008-12-13 01:54:11 +01:00
Max Kellermann 0dab2c5bc1 ao: use 16 bit sample format
There have been bug reports on MPD regarding 24 bit output via
libao/esd.  The "ao" plugin does not attempt fall back to 16 bit
currently, and thus fails to play 24 bit audio (i.e. all mp3 files).
Make it always use 16 bit samples for now, until more bits are
well-tested.
2008-12-09 07:39:24 +01:00
Max Kellermann 4288cc069a osx: use 16 bit sample format
The OS X output does not seem to support 24 bit audio in the way MPD
implements it currently.  Fall back to 16 bit for now, and schedule
24 bit support on OS X for MPD 0.15.
2008-12-08 23:23:37 +01:00
Max Kellermann a4512d3b9a osx: use GLib instead of utils.h/log.h
One my_usleep() invocation remains, until we find out if we can delete
it.
2008-12-08 23:23:30 +01:00
Max Kellermann b0f46c2076 osx: don't use void pointer in arithmetic
Cast AudioBuffer.mData to a "unsigned char*" before adding "curpos".
This fixes a gcc warning.
2008-12-08 23:23:28 +01:00
Max Kellermann 87f6f57bf6 mp3: declare variables as "enum mp3_action"
Variables which hold one of the DECODE_* values should be declared as
"enum mp3_action" instead of "int".
2008-12-08 16:49:19 +01:00
Avuton Olrich a25b8acd82 update: default to follow all symlinks
MPD 0.13 and older followed all symbolic links.  Although this can be
a security problem (as it has always been), 0.14 should offer the same
default behaviour as 0.13.
2008-12-08 10:01:20 +01:00
Max Kellermann 5b11d5a332 pcm_utils: always round up resampling buffer size
libsamplerate produces cracks in the sound output when the destination
buffer is too small.  This is the case when pcm_convert_size() rounds
down.  Use ceil(x) instead of floor(0.5+x) there to prevent a buffer
overrun.
2008-12-08 08:58:27 +01:00
Max Kellermann 0128a9e910 stored_playlist: include time.h for the time_t type
On some systems, the time_t data type was not present, because
stored_playlist.h didn't include the time.h header directly.
2008-12-04 23:19:31 +01:00
Avuton Olrich fe6292fa5c MPD version 0.14~beta2 2008-12-02 20:01:50 -08:00