aboutsummaryrefslogtreecommitdiffstats
path: root/src (follow)
Commit message (Collapse)AuthorAgeFilesLines
* notify: use GLib lockingMax Kellermann2008-12-273-27/+15
| | | | | Use GLib locking (GMutex, GCond) instead of pthread because GLib is more portable, e.g. on mingw32.
* output_control: no static "notify" initializationMax Kellermann2008-12-272-1/+5
| | | | Don't use NOTIFY_INITIALIZER to initialize audio_output_client_notify.
* cmdline: fixed option_no_createdb usageViliam Mateicka2008-12-271-1/+1
|
* cmdline: use g_build_filename() for ~/.mpdconfMax Kellermann2008-12-271-20/+10
| | | | | Build the path with g_build_filename(). Also use g_get_home_dir() and g_file_test().
* cmdline: use GLib's option parserMax Kellermann2008-12-271-84/+75
| | | | | Eliminate duplicated code. The GLib code is much more mature than MPD's custom parser.
* cmdline: use gboolean instead of intMax Kellermann2008-12-272-15/+15
| | | | | Prepare for the migration to the GLib option parser, which uses gboolean for flags.
* moved command line parser to cmdline.cMax Kellermann2008-12-274-137/+200
|
* audiofile: don't close onput stream in libaudiofile destroy()Max Kellermann2008-12-271-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.
* disable archive API without pluginsMax Kellermann2008-12-275-5/+33
| | | | | When there are no archive plugins, we do not need the archive API at all. Drop all its overhead.
* Merge branch 'experimental' of git://git.musicpd.org/metyl/mpdMax Kellermann2008-12-2724-30/+1574
|\ | | | | | | | | | | | | | | Conflicts: configure.ac src/ls.h src/output/shout_plugin.c
| * shout: fixed bad error message printoutViliam Mateicka2008-12-231-3/+3
| |
| * archiveapi: archive plugin for ISO filesViliam Mateicka2008-12-163-0/+266
| |
| * archiveapi: archive plugin for ZIP filesViliam Mateicka2008-12-163-0/+203
| |
| * archiveapi: archive plugin for BZ2 filesViliam Mateicka2008-12-163-0/+317
| |
| * update: adding archive updating related codeViliam Mateicka2008-12-161-1/+64
| |
| * song: adding support for songs in archivesViliam Mateicka2008-12-163-1/+39
| |
| * ls: adding get_archive_by_suffix() functionViliam Mateicka2008-12-162-0/+19
| |
| * new archive api, input_archive streamViliam Mateicka2008-12-1611-2/+578
| |
| * utils: moving stringFoundInStringArray() from decoder into utilsViliam Mateicka2008-12-093-11/+14
| |
| * decoder: audiofile plugin using input stream instead of fileViliam Mateicka2008-12-031-15/+74
| |
* | playlist: fix stored playlist modifications with absolute pathsMax Kellermann2008-12-243-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.
* | 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
| |