aboutsummaryrefslogtreecommitdiffstats
path: root/src (unfollow)
Commit message (Collapse)AuthorFilesLines
2009-09-24configure.ac: rename HAVE_CURL to ENABLE_CURLMax Kellermann2-3/+3
2009-09-24conf: handle fatal errors with GErrorMax Kellermann3-54/+115
Don't call g_error(), which will abort the process and dump core. This patch does not affect all the config_get_X() functions. These need some more refactoring.
2009-09-24conf: splitted function config_param_free()Max Kellermann1-4/+11
2009-09-24cmdline: handle fatal errors with GErrorMax Kellermann3-5/+30
Don't call g_error(), which will abort the process and dump core.
2009-09-24listen: handle fatal errors with GErrorMax Kellermann3-10/+29
Don't call g_error(), which will abort the process and dump core.
2009-09-24update: splitted update.c into several sourcesMax Kellermann5-770/+987
2009-09-24update: pass const string to update_enqueue()Max Kellermann3-14/+20
Duplicate the path string within update.c, do not expect an allocated string as parameter.
2009-09-24update: renamed directory_update_init() to update_enqueue()Max Kellermann4-4/+4
2009-09-24decoder/sidplay: free songlength data blob in error handlerMax Kellermann1-3/+4
When parsing the songlength database fails, the code forgot to free the memory allocated by the raw file data.
2009-09-24decoder/sidplay: moved code to sidplay_load_songlength_db()Max Kellermann1-29/+36
2009-09-24decoder/sidplay: free GError objectsMax Kellermann1-0/+2
The caller is responsible fro freeing GError objects. That g_error_free() call was missing in two places.
2009-09-24decoder/sidplay: pass GError** to g_file_get_contents()Max Kellermann1-1/+2
The error handler dereferences GError*, but did not retrieve that object from g_file_get_contents().
2009-09-20cmdline: removed options --create-db and --no-create-dbMax Kellermann3-27/+5
Both options are deprecated, and should not be used anymore. Many users get confused by their presence.
2009-09-20output/osx: fix the OS X 10.6 buildPatrik Weiskircher1-0/+1
Include CoreServices/CoreServices.h.
2009-09-10decoder/vorbis: revert "faster tag scanning with ov_test_callback()"Max Kellermann1-1/+1
This patch made ov_time_total() unusable, and MPD did not know the duration of songs.
2009-09-07output/openal: support OpenAL plugin on Mac OS XSerge Ziryukin1-0/+6
2009-09-06output/openal: fix default device nameSerge Ziryukin1-3/+3
2009-09-06openal output pluginSerge Ziryukin2-0/+271
2009-08-30decoder/sidplay: support seekingMike Dawson1-3/+34
2009-08-30decoder/sidplay: implemented songlength databaseMike Dawson1-0/+87
[mk: added autoconf test; fixed songlen_data_size type]
2009-08-30decoder/sidplay: subtunesMike Dawson1-8/+125
2009-08-26decoder/mpg123: new decoder plugin based on libmpg123Max Kellermann2-0/+214
Still missing: - seeking - tags - streaming - encodings other than MPG123_ENC_SIGNED_16
2009-08-25command: add "findadd" command.Anton Khirnov3-0/+51
2009-08-25decoder/vorbis: open file in "binary" modeGunnar Roth1-1/+1
fopen change for win32 in tag dup of vorbis win32 adaption for head changes
2009-08-24decoder/vorbis: faster tag scanning with ov_test_callback()Rasmus Steinke1-1/+1
using ov_test_callback with function CALLBACKS_STREAMONLY will cause scanning to stop after the comment field. ov_open (and ov_test) default to CALLBACKS_DEFAULT which scans the file structure causing a huge slowdown. The speed improvement is huge: It scanned my files around 10x faster This procedure has been recommended by monthy (main vorbis developer) and was said to be safe for scanning files.
2009-08-24output/recorder: new output plugin for recording radio streamsMax Kellermann2-0/+218
The recorder plugin writes audio played by MPD to a file. This may be useful for recording radio streams. This implementation is incomplete, because support for tags is missing, and MPD should be able to record each track to a different file.
2009-08-24conf: removed the deprecated "error_file" optionMax Kellermann2-2/+0
This option was deprecated by the 0.15 release. This patch makes this option invalid.
2009-08-19update: don't re-read unchanged container filesIgor Kuzmin1-1/+2
MPD checks if every flac (possibly other types as well) file contains cuesheet on every update, which produces unneeded I/O. My music collection is on NFS share, so it's quite noticeable. IMHO, it shouldn't re-read unchanged files, so I wrote simple patch to fix it.
2009-08-18output_init: initialize the "pause" flagMax Kellermann1-0/+1
Fix stuttering due to uninitialized variable.
2009-08-14output/shout: minimize the unpause latencyMax Kellermann1-0/+7
During the pause loop, manually sleep for 500ms if shout_delay() returns a value greater than that. Don't exhaust libshout's buffer.
2009-08-14output: fixed shout stuck pause bugMax Kellermann3-0/+20
Explicitly make the output thread leave the ao_pause() loop. This patch is a workaround, and the "pause" flag is not managed in a thread-safe way, but that's good enough for now.
2009-08-14directory: free empty directories after removing them (memleak)Max Kellermann1-3/+8
dirvec_delete() does not free the object, we have to call directory_free() afterwards.
2009-08-14update: free temporary string in container scan (memleak)Max Kellermann1-2/+6
The return value of map_directory_child_fs() must be freed.
2009-08-14decoder/flac: don't allocate cuesheet twice (memleak)Max Kellermann1-4/+6
The function flac_cue_track() first calls FLAC__metadata_object_new(), then overwrites this pointer with FLAC__metadata_get_cuesheet(). This allocate two FLAC__StreamMetadata objects, but the first pointer is lost, and never freed.
2009-08-14update: free empty path string (memleak)Max Kellermann1-1/+2
When you pass an empty string to directory_update_init(), it was not freed by update_task().
2009-08-13decoder_control: protect command, state with a mutexMax Kellermann6-31/+241
Replace decoder_control.notify with decoder_control.mutex and decoder_control.cond. Lock the mutex on all accesses to decoder_control.command and decoder_control.state.
2009-08-13use daemon() when the C library provides itMike Frysinger1-6/+18
For systems that cannot support fork() (like no-mmu Linux), use daemon() if it is available for the daemonizing code. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2009-08-04tag_id3: moved id3_genre_name() call to tag_id3_import_text()Max Kellermann1-6/+6
The ID3_FRAME_GENRE field is queried only in tag_id3_import_text(). Don't pass the tag type to import_id3_string().
2009-08-04tag_id3: splitted function tag_id3_import_frame()Max Kellermann1-119/+91
Splitted tag_id3_import_frame() into two specialized functions: tag_id3_import_text() and tag_id3_import_comment(). Use id3_frame_field() instead of directly accessing id3_frame.fields.
2009-08-04tag_id3: corrected parameter typesMax Kellermann1-2/+3
Changed "int type" to "enum tag_type". Converted "int is_id3v1" to "bool".
2009-08-04tag_id3: converted tag_is_id3v1() to an inline functionMax Kellermann1-1/+6
Prefer C over CPP.
2009-08-04tag_id3: no CamelCaseMax Kellermann1-57/+64
Renamed functions.
2009-08-03ffmpeg_plugin: convert metadata to generic formatAnton Khirnov1-1/+3
2009-07-29command: moved command_process_list() to client.cMax Kellermann3-35/+30
2009-07-28playlist: CamelCaseIsBadCourtney Cavin11-107/+128
Renamed all playlist functions to non-CamelCase.
2009-07-28input/lastfm: Ensure multiple identical xml entities are decoded.Courtney Cavin1-6/+5
Previously, if two identical entities appeared in one string, only the first would get decoded. This fixes that bug.
2009-07-28client: splitted client.c into several piecesMax Kellermann11-875/+1129
The soure file client.c has nearly 1000 lines, time for splitting it into smaller pieces to improve readability.
2009-07-28client: moved struct client to client_internal.hMax Kellermann2-44/+69
Prepare splitting client.c into several sources.
2009-07-28input/lastfm: use metadataCourtney Cavin1-43/+297
Added a patch to flush out the last.fm input plugin slightly. It basically turns it into a wrapper for the appropriate plugin. Most notably metadata is now extracted.
2009-07-28cmdline: obey $(sysconfdir) for default mpd.conf locationMax Kellermann1-1/+0
Instead of hard-coding the path "/etc/mpd.conf", use the configured $(sysconfdir) path. This can be set with: ./configure --sysconfdir=/etc Note that this changes the default path to "/usr/local/etc/mpd.conf", given the default prefix "/usr/local". This is actually more correct than the old default.