Max Kellermann
9220e0edff
Merge branch 'experimental' of git://git.musicpd.org/metyl/mpd
...
Conflicts:
configure.ac
src/ls.h
src/output/shout_plugin.c
2008-12-27 13:34:51 +01:00
Max Kellermann
1bd3cde062
playlist: fix stored playlist modifications with absolute paths
...
When save_absolute_paths_in_playlists was enabled in mpd.conf, MPD
broke all playlists when manipulated using the "playlistdelete"
command. The reason was that map_directory_child_fs() was used, which
doesn't accept slashes in the file name. Use the new map_uri_fs()
function instead.
2008-12-24 22:04:24 +01:00
Max Kellermann
a94e59ca21
stored_playlist: fix integer overflow in length estimation
...
With a large maximum playlist length, the integer multiplication
"playlist_max_length * MPD_PATH_MAX" may overflow. Change that to a
division. This was not a dangerous bug, since it was only used for
a quick estimate.
2008-12-24 17:40:41 +01:00
Max Kellermann
7f98ba24c7
ffmpeg: case AV_NOPTS_VALUE to int64_t
...
The old code casted it to a 32 bit integer, which cut off bits.
AVFormatContext.duration is a int64_t, so use this type.
2008-12-24 11:56:53 +01:00
Max Kellermann
82ef85a309
ffmpeg: don't assign "0" to pointer
...
Use NULL instead. Found by sparse.
2008-12-24 11:49:37 +01:00
Max Kellermann
fefd3d6fb7
Makefile.am: fix sparse invocation
...
Added missing includes.
2008-12-24 11:49:09 +01:00
Max Kellermann
fc723803a4
mp3: "tag" argument is unused when libid3tag is disabled
...
Add G_GNUC_UNUSED attributes.
2008-12-24 11:07:58 +01:00
Max Kellermann
4716ef1014
listen: "port" argument is unused when TCP support is disabled
...
Add a G_GNUC_UNUSED attribute.
2008-12-24 11:07:58 +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
Viliam Mateicka
4674d0442a
shout: fixed bad error message printout
2008-12-23 18:00:37 +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
Avuton Olrich
e75e40085f
Remove obsolete http_buffer* stuff that went away with the new curl backend.
2008-12-20 22:16:02 -08: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
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
Viliam Mateicka
37796699cf
archiveapi: archive plugin for ISO files
2008-12-16 21:48:26 +01:00
Viliam Mateicka
ddcf0a4078
archiveapi: archive plugin for ZIP files
2008-12-16 21:46:11 +01:00
Viliam Mateicka
98fd9b7da8
archiveapi: archive plugin for BZ2 files
2008-12-16 21:45:59 +01:00
Viliam Mateicka
77946a901f
update: adding archive updating related code
2008-12-16 21:42:42 +01:00
Viliam Mateicka
455b39fa26
song: adding support for songs in archives
2008-12-16 21:42:42 +01:00
Viliam Mateicka
4d604a7540
ls: adding get_archive_by_suffix() function
2008-12-16 21:42:42 +01:00
Viliam Mateicka
c73ebac4af
new archive api, input_archive stream
2008-12-16 21:42:34 +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
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
Viliam Mateicka
01c591fb84
utils: moving stringFoundInStringArray() from decoder into utils
2008-12-09 17:36:10 +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