aboutsummaryrefslogtreecommitdiffstats
path: root/src (unfollow)
Commit message (Collapse)AuthorFilesLines
2010-07-12ffmpeg: factor tag_type <-> ffmpeg tag name maps into a table.Anton Khirnov1-21/+32
2010-06-30pcm_buffer: make the buffer pointer "void"Max Kellermann1-1/+1
2010-06-25decoder/mp4ff: support tag "album artist"Max Kellermann1-0/+1
We already supported "albumartist", but it seems some folks also use "album artist" (with a space).
2010-06-25playlist_print: use playlist_open_any()Max Kellermann1-2/+2
Allow printing remote playlists with the commands "listplaylist" and "listplaylistinfo".
2010-06-25playlist_queue: use playlist_open_any()Max Kellermann1-48/+2
2010-06-25playlist_any: new library to simplify opening playlist filesMax Kellermann2-0/+108
The new function playlist_open_any() combines playlist_mapper_open(), playlist_list_open_uri() and playlist_list_open_stream(), providing an easy API for all of them.
2010-06-25playlist_list: probe plugin without MIME attributesMax Kellermann1-3/+23
If the MIME type of a stream contains a semicolon, remove it and the text after it to probe for a playlist plugin.
2010-06-25playlist_queue: simplify error handlerMax Kellermann1-9/+8
Return early on error, save one level of indent.
2010-06-25playlist_list: moved input_stream.ready loop to calling functionMax Kellermann1-22/+11
Merged both loops into playlist_list_open_stream(). This is needed because playlist_list_open_stream() needs to know the MIME type, which is only known after the stream has become "ready".
2010-06-25uri: really count dots in verify_uri_segment()Max Kellermann1-1/+4
This buggy implementation failed to allow "..." sequences, because the dot count was always zero. The usefulness of allowing "..." (or more dots) is debatable, but since it's a valid file name, we allow it.
2010-06-25playlist/cue: last track ends at end of fileMax Kellermann1-3/+2
libcue's track_get_length() returns 0 for the last track, because that information is not available in the CUE sheet. This makes MPD quit playing the last track immediately. If we set "song.end_ms=0", MPD will play the track until the end of the song file, which is what we want.
2010-06-25song_print: simplified start_ms/end_ms checkMax Kellermann1-12/+10
2010-06-25playlist_list: wait for input stream to become readyAaron Griffith1-0/+22
Fixes an assertion failure in the input_stream_seek() call.
2010-06-19Make get_remote_uid() work on BSDAndreas Vögele1-1/+7
I've attached a patch that will make file URIs work on operating systems that provide the getpeereid() function call to check the user ID of the peer connected to a UNIX domain socket.
2010-06-19client: increase send_buf from 4kB to 16kBAndrzej Rybczak1-1/+1
this greatly improves performance of commands that return a lot of data, e.g. search results or recursive content of a directory, while being connected to local mpd via tcp/ip socket.
2010-06-19playlist: check "queued" before calling playlist_update_queued_song()Max Kellermann1-1/+1
Workaround for an assertion failure.
2010-06-19playlist: protect acess to player state in playlist_sync()Max Kellermann1-2/+7
2010-06-19playlist: move checks out of playlist_sync_with_queue()Max Kellermann1-20/+21
Rename the function to playlist_song_started(), which gets only called if the song has actually started.
2010-06-19player_control: hold mutex in pc_play(), pc_pause()Max Kellermann1-9/+42
Race condition fix.
2010-06-06filter/route: fixed unsigned/signed comparisonMax Kellermann1-1/+1
Fixes a clang warning.
2010-06-06output/httpd: add libwrap supportTim Phipps1-0/+28
libwrap support is in MPD but only for the control port. This patch adds support for the http port. The code is copied from src/client_new.c
2010-06-01directory_print: print a list of playlist files in "lsinfo"Max Kellermann1-0/+61
Print those files which can be handled by a playlist plugin.
2010-06-01playlist_list: export playlist_suffix_supported()Max Kellermann2-1/+10
2010-06-01playlist_list: playlist_list_open_path() returns input_streamMax Kellermann6-16/+39
Memory leak fix. The input_stream object passed to playlist_list_open_stream_suffix() must be closed by the caller - this however never happens in playlist_list_open_path(), because it does not return it to the caller.
2010-06-01playlist_list: move fallback g_uri_parse_scheme() to glib_compat.hMax Kellermann2-14/+16
2010-06-01playlist: emit IDLE_OPTIONS when resetting single modeMax Kellermann1-0/+2
2010-05-31single mode: at the end of the song, pause on the next song instead of stopRomain Bignon3-19/+13
2010-05-31directory_print: return voidMax Kellermann2-7/+3
There is no useful return value here.
2010-05-31fix crash when decoder is NULLRomain Bignon1-2/+2
2010-05-31decoder/mikmod: fix memory leakMax Kellermann1-2/+4
The return value of Player_LoadTitle() is allocated with malloc(), and must be freed by the caller.
2010-05-31decoder/mikmod: duplicate the path only onceMax Kellermann1-2/+2
2010-05-31decoder/mikdmod: moved local variable declarations in tag_dup()Max Kellermann1-12/+8
2010-05-31decoder/wildmidi: moved local variable declarations in tag_dup()Max Kellermann1-7/+3
2010-05-31decoder/gme: replace macro GME_BUF_SIZEMax Kellermann1-4/+5
Added macros with better names: GME_BUFFER_FRAMES, GME_BUFFER_SAMPLES (the former only used to calculate the latter).
2010-05-31decoder/gme: added constants for sample rate and channelsMax Kellermann1-6/+12
Move into enums.
2010-05-31decoder/gme: pass the whole buffer to decoder_data()Max Kellermann1-2/+2
Pass sizeof(buf) to decoder_data(), not the number of samples (which is half the size). At the same time, pass GME_BUF_SIZE to gme_play() - libgme really wants to get the number of samples, not the number of stereo frames. Previously, this plugin had been using only the first half of the buffer.
2010-05-31decoder/gme: allocate tag later, fixes memory leakMax Kellermann1-1/+1
Allocate the "tag" object after the file has been opened successfully.
2010-05-31decoder/mp4ff: rename and move local variableMax Kellermann1-6/+5
Allocate the "tag" object after the file has been checked. That removes one tag_free() call in an error handler.
2010-05-31decoder/mp4ff: merge code into mp4ff_input_stream_open()Max Kellermann1-17/+17
2010-05-31decoder/mp4ff: move mp4ff_callback_t into mp4ff_input_streamMax Kellermann1-12/+15
Allocate only one item on the stack.
2010-05-31decoder/mp4ff: rename mp4_context to mp4ff_input_streamMax Kellermann1-9/+9
2010-05-31decoder/mp4ff: remove duplicate entries in the tag name tableMax Kellermann1-9/+5
Reuse the function tag_name_parse_i().
2010-05-31decoder/mp4ff: moved code to mp4ff_tag_name_parse()Max Kellermann1-1/+7
2010-05-31tag_ape: remove duplicate entries in the tag name tableMax Kellermann1-13/+5
Reuse the function tag_name_parse_i().
2010-05-31tag_ape: move code to tag_ape_name_parse()Max Kellermann1-1/+7
2010-05-31decoder/vorbis: rename local variable "ret"Max Kellermann1-6/+5
2010-05-31decoder/vorbis: implement method stream_tag()Max Kellermann1-11/+4
This allows tags in archive files.
2010-05-31decoder/vorbis: move code to vorbis_open_stream()Max Kellermann1-19/+23
2010-05-30decoder/vorbis: use single global ov_callbacks constantMax Kellermann1-6/+9
Initialize the ov_callbacks struct at compile time.
2010-05-30decoder/vorbis: rename struct vorbis_decoder_data to vorbis_isMax Kellermann1-20/+19