aboutsummaryrefslogtreecommitdiffstats
path: root/src (follow)
Commit message (Collapse)AuthorAgeFilesLines
* stored_playlist: fix integer overflow in length estimationMax Kellermann2008-12-241-1/+1
| | | | | | | 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.
* ffmpeg: case AV_NOPTS_VALUE to int64_tMax Kellermann2008-12-241-2/+2
| | | | | The old code casted it to a 32 bit integer, which cut off bits. AVFormatContext.duration is a int64_t, so use this type.
* ffmpeg: don't assign "0" to pointerMax Kellermann2008-12-241-1/+1
| | | | Use NULL instead. Found by sparse.
* Makefile.am: fix sparse invocationMax Kellermann2008-12-241-1/+4
| | | | Added missing includes.
* mp3: "tag" argument is unused when libid3tag is disabledMax Kellermann2008-12-241-2/+2
| | | | Add G_GNUC_UNUSED attributes.
* listen: "port" argument is unused when TCP support is disabledMax Kellermann2008-12-241-1/+2
| | | | Add a G_GNUC_UNUSED attribute.
* pcm_utils: check pcm_convert()==0Max Kellermann2008-12-243-5/+16
| | | | | | | | 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().
* client: always attempt to flush deferred buffersMax Kellermann2008-12-241-2/+11
| | | | | | | | | | | 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.
* shout: fixed bad error message printoutViliam Mateicka2008-12-231-2/+2
|
* Merge branch 'http_buffer_remove' of git://git.musicpd.org/avuton/mpdMax Kellermann2008-12-212-4/+0
|\
| * Remove obsolete http_buffer* stuff that went away with the new curl backend.Avuton Olrich2008-12-202-4/+0
| |
* | log: map log level "SECURE" to GLib's "INFO"Max Kellermann2008-12-201-3/+3
|/ | | | | | Make "secure" a log level different from "default". "secure" should be right between "default" and "verbose". Map "default" to Glib's "MESSAGE" log level.
* Remove useless statement.Emanuele Giaquinta2008-12-171-1/+0
|
* player_control: check if errored_song is setMax Kellermann2008-12-171-4/+14
| | | | | | getPlayerErrorStr() assumes that pc.errored_song is set when an error occured. Since the song may have been deleted meanwhile, add a NULL check.
* playlist: clear pc.errored_song on deleteMax Kellermann2008-12-173-2/+23
| | | | | When a (remote) song is deleted from the playlist, there may still be a reference to it in pc.errored_song. Clear this reference.
* Remove useless computation. After the pthread_cond_wait loop there are at ↵Emanuele Giaquinta2008-12-171-2/+0
| | | | 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).
* Remove useless statement, curpos is initialized at the beginning of the loop.Emanuele Giaquinta2008-12-171-1/+0
|
* Factor computation.Emanuele Giaquinta2008-12-171-4/+6
|
* Use MIN.Emanuele Giaquinta2008-12-171-2/+2
|
* Call CloseComponent after AudioUnitUninitialize.Emanuele Giaquinta2008-12-171-1/+1
|
* command: reject unsupported URI schemesMax Kellermann2008-12-161-1/+11
| | | | | | 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.
* ls: added uri_has_scheme()Max Kellermann2008-12-162-0/+10
| | | | | uri_has_scheme() checks if an URI contains the sub string "://", which makes MPD assume that it is a remote URI.
* ls: don't return suffix from parent directory nameMax Kellermann2008-12-161-1/+1
| | | | | When a file had no file name extension, getSuffix() could return the extension of the parent directory (if it had one).
* ls: reimplement getSuffix() with strrchr()Max Kellermann2008-12-161-8/+2
| | | | | The old getSuffix() code was quite wasteful, and can be replaced completely with strrchr().
* ls: use boolMax Kellermann2008-12-162-6/+7
| | | | Use the C99 "bool" data type instead of "int".
* ls: make printRemoteUrlHandlers() return voidMax Kellermann2008-12-163-5/+4
| | | | | printRemoteUrlHandlers() cannot fail, and does not need a return value.
* ls: removed isValidRemoteUtf8Url()Max Kellermann2008-12-165-46/+4
| | | | | The function didn't do anything useful, it was just several lines obfuscating that it was only forwarding isRemoteUrl()'s return value.
* ls: don't include time.hMax Kellermann2008-12-161-2/+0
| | | | ls.h does not need time.h, do not include it.
* ffmpeg: fixing ffmpeg_send_packet to allow multipacketsViliam Mateicka2008-12-151-16/+32
|
* ffmpeg: adding APE supportViliam Mateicka2008-12-151-2/+3
|
* locate: ignore case when searching in song pathsMax Kellermann2008-12-131-1/+1
| | | | | | The function strstrSearchTag() used g_utf8_casefold() to generate the (pseudo-)lowercase version of the song's URL, but it never used the variable.
* ao: use 16 bit sample formatMax Kellermann2008-12-091-0/+6
| | | | | | | | 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.
* osx: use 16 bit sample formatMax Kellermann2008-12-081-0/+3
| | | | | | 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.
* osx: use GLib instead of utils.h/log.hMax Kellermann2008-12-081-9/+13
| | | | | One my_usleep() invocation remains, until we find out if we can delete it.
* osx: don't use void pointer in arithmeticMax Kellermann2008-12-081-2/+2
| | | | | Cast AudioBuffer.mData to a "unsigned char*" before adding "curpos". This fixes a gcc warning.
* mp3: declare variables as "enum mp3_action"Max Kellermann2008-12-081-2/+2
| | | | | Variables which hold one of the DECODE_* values should be declared as "enum mp3_action" instead of "int".
* update: default to follow all symlinksAvuton Olrich2008-12-081-1/+1
| | | | | | 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.
* pcm_utils: always round up resampling buffer sizeMax Kellermann2008-12-081-1/+1
| | | | | | | 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.
* stored_playlist: include time.h for the time_t typeMax Kellermann2008-12-041-0/+1
| | | | | On some systems, the time_t data type was not present, because stored_playlist.h didn't include the time.h header directly.
* listen: check if AI_ADDRCONFIG is definedMax Kellermann2008-12-021-1/+4
| | | | | AI_ADDRCONFIG is not available on all operating systems. Check if it is defined in the current build environment.
* listen: enable AI_PASSIVEMax Kellermann2008-12-021-1/+1
| | | | | The getaddrinfo() flag AI_PASSIVE should be used when resolving addresses for the bind() system call.
* replaced mpd_printf etc by G_GNUC_PRINTFThomas Jansen2008-12-026-21/+17
| | | | | We want to remove gcc.h eventually. This takes care of all the G_GNUC_PRINTF macros.
* replaced mpd_noreturn by G_GNUC_NORETURNThomas Jansen2008-12-024-5/+6
| | | | | We want to remove gcc.h eventually. This takes care of all the G_GNUC_NORETURN macros.
* replaced mpd_malloc by G_GNUC_MALLOCThomas Jansen2008-12-024-13/+12
| | | | | We want to remove gcc.h eventually. This takes care of all the G_GNUC_MALLOC macros.
* replaced mpd_likely/mpd_unlikely by G_LIKELY/G_UNLIKELYThomas Jansen2008-12-026-16/+18
| | | | | We want to remove gcc.h eventually. This takes care of all the G_LIKELY/G_UNLIKELY macros.
* alsa: reverted the default buffer_time to 500 msMax Kellermann2008-12-011-1/+5
| | | | | | | Commit dd7711d8 removed MPD's default ALSA buffer_time. The result was a buffer size which was way too small for playing streams on some sound hardware, and caused skips and distorted sound. Revert the default to 500 ms.
* shout: fixed the lame input buffer allocationMax Kellermann2008-11-301-9/+15
| | | | | | | | | | "float (*lamebuf)[2] = g_malloc()" does NOT allocate two float* buffers. The formula is even wrong: it should be applied to LAME's output buffer, not its input buffer. Converted "lamebuf" to the two variables "left" and "right", and allocate them independently with the exact buffer size. Set right=left if mono output is configured.
* shout_mp3: cast input buffer to int16_t*Max Kellermann2008-11-301-2/+2
| | | | It's easier to work with an int16_t* pointer here.
* input_curl: follow HTTP redirectsMax Kellermann2008-11-301-0/+2
| | | | Follow HTTP redirects, but no more than 5.
* input_curl: send a User-Agent headerMax Kellermann2008-11-301-0/+3
| | | | | Send "Music Player Daemon " + VERSION as the User-Agent request header.