aboutsummaryrefslogtreecommitdiffstats
path: root/src (unfollow)
Commit message (Collapse)AuthorFilesLines
2008-12-28buffer2array: use GLib's g_ascii_isspace()Max Kellermann1-13/+10
g_ascii_isspace() includes \r and \n. This means that lines from a text file don't have to be chopped prior to buffer2array().
2008-12-28mikmod: use Glib instead of utils.h/log.hMax Kellermann1-9/+6
2008-12-28mikmod: convert mod_Data.audio_buffer to a static arrayMax Kellermann1-3/+1
Don't do two allocations for the mod_Data structure.
2008-12-28log: use GLib loggingMax Kellermann1-13/+13
2008-12-28log: don't keep log file openMax Kellermann1-14/+15
The log file is duped to STDOUT_FILENO and STDERR_FILENO. No need to keep another copy of it in out_fd all the time. We only need it once once in setup_log_output().
2008-12-28decoder: terminate decoder thread before MPD cleanupMax Kellermann4-2/+14
When MPD exits, it should manually free all resources in use, to allow easy memory leak debugging. Make the decoder thread terminate during that.
2008-12-28log: support syslog()Max Kellermann1-6/+103
Allow logging to syslog if log_file is configured to "syslog".
2008-12-28log: moved code to log_init_file()Max Kellermann1-15/+27
Added log_init_file() and log_init_stdout(), preparing for other logging targets.
2008-12-28log: merged initLog() and open_log_files().Max Kellermann3-12/+3
The logging library currently has 3 constructor functions: initLog(), open_log_files(), setup_log_output(), called in this order. Merged the first two.
2008-12-28log: moved code to parse_log_level()Max Kellermann1-15/+17
2008-12-28log: use the GLogLevelFlags typeMax Kellermann1-3/+3
Declare log_threshold as GLogLevelFlags.
2008-12-28log: don't manipulate the umaskMax Kellermann1-9/+1
If the user wants the log files with a specific mode, he has to start MPD with the correct umask. Don't hard-code that. This fixes a bug: when log cycling failed, MPD would not restore the old umask.
2008-12-28log: moved code to open_log_file()Max Kellermann1-12/+19
Merged code from open_log_files() and cycle_log_files().
2008-12-28log: deprecated "error_file" optionMax Kellermann2-27/+3
Removed the "error_file" option. There is only one log file now. If a user wants to see only the errors, he should configure a log_level.
2008-12-28decoder: new plugin using modplug libraryViliam Mateicka3-0/+210
2008-12-28Add RVA2 tag support to MPDPauli Virtanen1-0/+94
This patch adds RVA2 (relative volume adjustment) tag support to mpd, as a fallback if no replaygain tags are found. The code is almost directly from madplay (GPL). RVA2 tags are generated for example by the "normalize" utility. Updated by: Avuton Olrich <avuton@gmail.com>
2008-12-27notify: use GLib lockingMax Kellermann3-27/+15
Use GLib locking (GMutex, GCond) instead of pthread because GLib is more portable, e.g. on mingw32.
2008-12-27output_control: no static "notify" initializationMax Kellermann2-1/+5
Don't use NOTIFY_INITIALIZER to initialize audio_output_client_notify.
2008-12-27cmdline: fixed option_no_createdb usageViliam Mateicka1-1/+1
2008-12-27cmdline: use g_build_filename() for ~/.mpdconfMax Kellermann1-20/+10
Build the path with g_build_filename(). Also use g_get_home_dir() and g_file_test().
2008-12-27cmdline: use GLib's option parserMax Kellermann1-84/+75
Eliminate duplicated code. The GLib code is much more mature than MPD's custom parser.
2008-12-27cmdline: use gboolean instead of intMax Kellermann2-15/+15
Prepare for the migration to the GLib option parser, which uses gboolean for flags.
2008-12-27moved command line parser to cmdline.cMax Kellermann4-137/+200
2008-12-27audiofile: don't close onput stream in libaudiofile destroy()Max Kellermann1-2/+3
The input_stream object should only be closed by the MPD core (i.e. decoder_thread.c / decoder_run()). A decoder plugin which attempts to close it will result in a segmentation fault.
2008-12-27disable archive API without pluginsMax Kellermann5-5/+33
When there are no archive plugins, we do not need the archive API at all. Drop all its overhead.
2008-12-24playlist: fix stored playlist modifications with absolute pathsMax Kellermann3-2/+20
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-24stored_playlist: fix integer overflow in length estimationMax Kellermann1-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.
2008-12-24ffmpeg: case AV_NOPTS_VALUE to int64_tMax Kellermann1-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.
2008-12-24ffmpeg: don't assign "0" to pointerMax Kellermann1-1/+1
Use NULL instead. Found by sparse.
2008-12-24Makefile.am: fix sparse invocationMax Kellermann1-1/+4
Added missing includes.
2008-12-24mp3: "tag" argument is unused when libid3tag is disabledMax Kellermann1-2/+2
Add G_GNUC_UNUSED attributes.
2008-12-24listen: "port" argument is unused when TCP support is disabledMax Kellermann1-1/+2
Add a G_GNUC_UNUSED attribute.
2008-12-24pcm_utils: check pcm_convert()==0Max Kellermann3-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().
2008-12-24client: always attempt to flush deferred buffersMax Kellermann1-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.
2008-12-23shout: fixed bad error message printoutViliam Mateicka1-2/+2
2008-12-23shout: fixed bad error message printoutViliam Mateicka1-3/+3
2008-12-20Remove obsolete http_buffer* stuff that went away with the new curl backend.Avuton Olrich2-4/+0
2008-12-20log: map log level "SECURE" to GLib's "INFO"Max Kellermann1-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.
2008-12-17Remove useless statement.Emanuele Giaquinta1-1/+0
2008-12-17player_control: check if errored_song is setMax Kellermann1-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.
2008-12-17playlist: clear pc.errored_song on deleteMax Kellermann3-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.
2008-12-17Remove useless computation. After the pthread_cond_wait loop there are at ↵Emanuele Giaquinta1-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).
2008-12-17Remove useless statement, curpos is initialized at the beginning of the loop.Emanuele Giaquinta1-1/+0
2008-12-17Factor computation.Emanuele Giaquinta1-4/+6
2008-12-17Use MIN.Emanuele Giaquinta1-2/+2
2008-12-17Call CloseComponent after AudioUnitUninitialize.Emanuele Giaquinta1-1/+1
2008-12-16archiveapi: archive plugin for ISO filesViliam Mateicka3-0/+266
2008-12-16archiveapi: archive plugin for ZIP filesViliam Mateicka3-0/+203
2008-12-16archiveapi: archive plugin for BZ2 filesViliam Mateicka3-0/+317
2008-12-16update: adding archive updating related codeViliam Mateicka1-1/+64