aboutsummaryrefslogtreecommitdiffstats
path: root/src (unfollow)
Commit message (Collapse)AuthorFilesLines
2009-04-25pulse_mixer: use PULSE's mainloop lock instead of GMutexMax Kellermann1-27/+13
Using two different kinds of locks may result in a race condition with a deadlock. The libpulse callbacks need no locks at all, because the mainloop object can be assumed to be already locked.
2009-04-25curl: moved proxy settings to "input" blockMax Kellermann1-24/+26
The old global settings "http_proxy_host", "http_proxy_port", "http_proxy_user" and "http_proxy_password" continue to work.
2009-04-25fluidsynth: added "experimental" comments in the source fileMax Kellermann1-0/+9
2009-04-25player_thread: pause when all audio outputs fail to playMax Kellermann1-2/+7
When all audio outputs have been closed due to failures, pause the playback instead of stopping it. This way, the user may resume at the current position after the problem has been dealt with.
2009-04-25player_thread: pause when output fails while seekingMax Kellermann1-7/+11
When no audio outputs could be opened while seeking, leave MPD seeked at that position and pause playback. The user may continue from this point at any time, as soon as the audio outputs are fixed. The old behaviour triggered an assertion failure: the failure wasn't passed properly to the do_play() function, which attempted to play audio chunks.
2009-04-24stored_playlist: don't close NULL file on errorMax Kellermann1-5/+1
spl_append_song() can crash when fopen() fails, because it attempts to close the invalid file handle (NULL) in the error handler.
2009-04-21alsa_output: don't use atexit() to clean up the ALSA libraryMax Kellermann1-7/+3
Call snd_config_update_free_global() manually in our finish() method, don't use atexit().
2009-04-21alsa_mixer: call snd_config_update_free_global() in finish()Max Kellermann1-1/+3
snd_config_update_free_global() frees cached ALSA configuration. This keeps valgrind a little bit more quiet. This patch moves the call from the open() method into the finish() method, which seems more natural: it allows the use of the config cache, and improves the cleanup phase.
2009-04-21output_control: close mixer on pauseMax Kellermann1-0/+6
For non-global mixers (only "pulse" currently), close the mixer when MPD playback is paused.
2009-04-17client: free the fifo bufferMax Kellermann1-0/+2
This patch fixes a memory leak: the fifo_buffer object was not freed when the client connection was closed.
2009-04-13icy_server: don't export icy_server_metadata_string()Max Kellermann2-4/+1
icy_server_metadata_string() is only called by icy_server_metadata_page().
2009-04-13httpd: use C99 "bool" instead of GLib's gbooleanMax Kellermann1-7/+7
Plain "bool" consumes only one byte instead of four.
2009-04-13httpd: use g_ascii_strncasecmp() to compare headersMax Kellermann1-1/+1
In HTTP, header names are case insensitive.
2009-04-13Implemented basic icy support for the httpd outputHagen Schink6-12/+409
[mk: folded with patch "Put icy related functions in extra source files"; moved icy_server.c from HAVE_CURL to ENABLE_HTTPD_OUTPUT; removed an unused variable]
2009-04-13decoder_api: submit the song tag to the music pipeMax Kellermann3-6/+24
When a new song starts playing, send its tag (song->tag) to the music pipe. This allows output plugins to render tags for all songs, not only those with embedded tags understood by the decoder plugin.
2009-04-10log: removed "unused" attribute from log_level parameterMax Kellermann1-1/+1
2009-04-06decoder: prefer wildmidi over fluidsynthAvuton Olrich1-4/+4
2009-04-02vorbis: move #define out of function to top of sourcesAvuton Olrich1-1/+1
2009-04-02decoder: Rename all main decoder plugins functions to *decoder_plugin.Avuton Olrich5-12/+12
2009-04-01configure.ac: renamed --enable-mod to --enable-mikmodMax Kellermann1-1/+1
2009-04-01httpd: don't pass uninitialized page to httpd_client_check_queue()Max Kellermann1-1/+1
The httpd_client_check_queue() callback function does not use its "user_data" argument. Don't pass any, and fix the gcc warning.
2009-04-01configure.ac: renamed --enable-oggvorbis to --enable-vorbisMax Kellermann1-1/+1
2009-04-01command: added command "sticker find"Max Kellermann1-0/+41
This command allows clients to search for stickers with a specified name.
2009-04-01Move db_get_song into sub-handlers. (FReq 2112)Eric Wollesen1-9/+27
db_get_song was being called once for all sub-handlers, but with the addition of the find command, we don't have a URI coming in, so doing db_get_song once won't work anymore. [mk: fixed initialization order]
2009-04-01song_sticker: added song_sticker_find()Max Kellermann2-0/+76
This is a wrapper for sticker_find(), which looks up the song object.
2009-04-01sticker: added sticker_find()Max Kellermann2-0/+85
sticker_find() finds stickers with the specified name.
2009-04-01directory: added directory_lookup_song()Max Kellermann3-25/+41
Moved code from db_get_song().
2009-04-01directory: renamed directory_get_directory()Max Kellermann3-6/+13
Renamed directory_get_directory() to directory_lookup_directory(). Added API documentation.
2009-04-01sticker_print: new library for sending stickers to a clientMax Kellermann3-10/+85
2009-04-01sticker: pass const sticker to sticker_foreach()Max Kellermann2-4/+4
2009-04-01client, event_pipe: explicitly ignore the write() resultMax Kellermann2-2/+2
On both locations, the result of write() can be ignored safely. In event_pipe_emit_fast(), that can only be "EAGAIN", which means that the pipe buffer is full - no further notification required. In client_init(), that would be a fatal connection error, which would be caught by the next event. This patch fixes gcc warnings.
2009-04-01socket_util: fixed format warningMax Kellermann1-1/+1
g_set_error() is a printf-like function, and expects a format string. Using the return value of gai_strerror() is unsafe.
2009-04-01flac: fixed "unused variable" warning without libcueMax Kellermann1-2/+2
Move the declaration of "i" into the "for" loop.
2009-03-31Tag subtracks according to "cuesheet" vorbis comment valueJochen Keil1-4/+32
Cuesheets are often saved as vorbis comment flac files (CUESHEET=.. case doesn't matter). We can parse this now and use the information to tag the subtracks (from the embedded cuesheets).
2009-03-31track length is computed correctly nowJochen Keil1-2/+1
2009-03-31free previously allocated flac metadata objectJochen Keil1-0/+1
2009-03-31remove old commented codeJochen Keil1-8/+0
2009-03-31Build tags from information in cue sheetsJochen Keil2-0/+296
With these methods a tag struct can be created from the cdtext information in a cue sheet. The methods depend on a cue parsing library. Reading from strings (char*) as well as from a file (FILE*) is supported.
2009-03-31do not consider single mode with "next" commandRomain Bignon1-0/+7
This is a little ugly, but as nextSongInPlaylist is both called when queued is update (in case playlist ended) and for user "next" command, there isn't any other (simple) solution
2009-03-30client: group static function declarations together.Avuton Olrich1-6/+5
2009-03-30queue_print: queue_print_song_info() is not necessry for export.Avuton Olrich2-13/+9
2009-03-30queue: queue_generate_id() is not necessary for export.Avuton Olrich2-7/+4
2009-03-30player_control: remove unused function playerCurrentDecodeSong().Avuton Olrich2-10/+0
2009-03-30conf: config_param_free() not necessary for export.Avuton Olrich2-3/+1
2009-03-30command: command_error() is not necessary for export.Avuton Olrich2-4/+1
2009-03-30client: client_write() does not necessary for export.Avuton Olrich2-6/+4
2009-03-30implemented the 'consume' modeRomain Bignon7-15/+82
Consume mode removes each song played
2009-03-28Bugfix for time/offset in flac pluginJochen Keil1-3/+3
Previous cast to float didn't have any effect because one value is uint and the other is a floating type but the number itself is even.. This caused some tracks to end before they were really at an end.
2009-03-27mixer: assert that the new volume value is validMax Kellermann3-7/+2
Added an assertion in mixer_set_volume(). Removed the range checks from the ALSA and OSS plugins.
2009-03-27mpcdec: changed plugin name to "mpcdec"Max Kellermann1-3/+3
The "mpcdec" plugin is based on the libmpcdec library.