aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* input_curl: use g_ascii_strcasecmp() instead of strcasecmp()Max Kellermann2009-04-281-7/+7
| | | | | strcasecmp() is locale dependent, making it a bad choice for internal string comparisons.
* mad_decoder: use g_ascii_strcasecmp() instead of strcasecmp()Max Kellermann2009-04-281-4/+4
| | | | | strcasecmp() is locale dependent, making it a bad choice for internal string comparisons.
* mp4ff_decoder: use g_ascii_strcasecmp() instead of strcasecmp()Max Kellermann2009-04-281-8/+9
| | | | | strcasecmp() is locale dependent, making it a bad choice for internal string comparisons.
* alsa_mixer: use g_ascii_strcasecmp() instead of strcasecmp()Max Kellermann2009-04-281-2/+2
| | | | | strcasecmp() is locale dependent, making it a bad choice for internal string comparisons.
* alsa_mixer: add mixer_index optionDaniel Kahn Gillmor2009-04-284-2/+16
| | | | This allows you to select controls with duplicate names.
* Makefile.am: moved doxygen invocation out of HAVE_XMLTOMax Kellermann2009-04-261-3/+3
| | | | | The doxygen invocation was misplaced: it was only defined when xmlto is available.
* decoder_api: removed dc.pipe assertion from decoder_read()Max Kellermann2009-04-261-1/+0
| | | | | | Database update was broken due to the dc.pipe!=NULL assertion. This assertion is only valid while MPD decodes a song, not during database update.
* vorbis_encoder: reinitialize vorbis_dsp_state after flushMax Kellermann2009-04-251-0/+7
| | | | | | | libvorbis goes into a very long loop if we try to add data after a flush was invoked by vorbis_analysis_wrote(0). This seems to be a problem with the internal end-of-stream marker. Thus, we cannot reuse the vorbis_dsp_state object.
* decoder_control: properly cancel an existing command in dc_stop()Max Kellermann2009-04-251-2/+8
| | | | | | | When the decoder thread has a pending command, send the STOP command to cancel this command. Send STOP again if the decoder thread is still running after that, just in case the decoder thread has executed the previous command (which was overwritten).
* decoder: added assertions on dc.pipeMax Kellermann2009-04-252-0/+13
| | | | | dc.pipe must be non-NULL while the decoder thread is running. Ensure that with a load of assertions.
* client: use GTimer to track timeoutsMax Kellermann2009-04-251-7/+14
|
* playlist_control: use GTimer in previousSongInPlaylist()Max Kellermann2009-04-253-6/+15
| | | | | To determine whether to rewind the current song or to go to the previous song, use a GTimer instead of manually diffing time(NULL).
* pulse_mixer: use PULSE's mainloop lock instead of GMutexMax Kellermann2009-04-251-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.
* curl: moved proxy settings to "input" blockMax Kellermann2009-04-255-47/+72
| | | | | The old global settings "http_proxy_host", "http_proxy_port", "http_proxy_user" and "http_proxy_password" continue to work.
* doc: added input plugin documentationMax Kellermann2009-04-251-0/+93
|
* doc: added decoder documentationMax Kellermann2009-04-251-0/+56
|
* doc: added more audio output documentationMax Kellermann2009-04-251-1/+63
|
* Makefile.am: moved source files to $(TAG_SRC)Max Kellermann2009-04-251-13/+25
| | | | | $(TAG_SRC) contains the names of all tag reader source files. Some of these are required for test/run_decoder.
* INSTALL: added libcue dependencyMax Kellermann2009-04-251-0/+3
|
* fluidsynth: added "experimental" comments in the source fileMax Kellermann2009-04-252-1/+10
|
* player_thread: pause when all audio outputs fail to playMax Kellermann2009-04-252-2/+8
| | | | | | 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.
* player_thread: pause when output fails while seekingMax Kellermann2009-04-251-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.
* stored_playlist: don't close NULL file on errorMax Kellermann2009-04-241-5/+1
| | | | | spl_append_song() can crash when fopen() fails, because it attempts to close the invalid file handle (NULL) in the error handler.
* alsa_output: don't use atexit() to clean up the ALSA libraryMax Kellermann2009-04-211-7/+3
| | | | | Call snd_config_update_free_global() manually in our finish() method, don't use atexit().
* alsa_mixer: call snd_config_update_free_global() in finish()Max Kellermann2009-04-211-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.
* test: added program "read_mixer"Max Kellermann2009-04-213-4/+79
| | | | | | This little program is used to test mixer plugins in an isolated environment. This is ALSA-only currently, because we don't have a real "plugin list" yet, and I'm too lazy to implement a switch.
* output_control: close mixer on pauseMax Kellermann2009-04-211-0/+6
| | | | | For non-global mixers (only "pulse" currently), close the mixer when MPD playback is paused.
* client: free the fifo bufferMax Kellermann2009-04-171-0/+2
| | | | | This patch fixes a memory leak: the fifo_buffer object was not freed when the client connection was closed.
* configure.ac: check for C++ detection failureMax Kellermann2009-04-151-0/+21
| | | | | When no C++ compiler is found, let CXX fall back to $CC, and disable all features which require C++.
* configure.ac: automatically detect the sidplay decoderMax Kellermann2009-04-151-3/+3
| | | | Set sidplay to "auto" by default, and enable it when it's found.
* configure.ac: added a real check for libsidplay2Max Kellermann2009-04-151-1/+16
| | | | We still can't use the pkg-config file because it requires libtool.
* configure.ac: moved the sidplay check to its argumentMax Kellermann2009-04-151-11/+11
| | | | Checks for features should be right next to its argument definition.
* configure.ac: added function MPD_AUTO_PREMax Kellermann2009-04-151-0/+15
| | | | This function checks whether a prerequisite for a feature was found.
* configure.ac: print feature name in error messageMax Kellermann2009-04-151-1/+1
| | | | | | When MPD_AUTO_DISABLED prints a fatal error message, include the feature name. This might be an important piece of information for the user, just in case the preceding line doesn't tell him.
* configure.ac: detect libiso9660 with pkg-configMax Kellermann2009-04-132-5/+4
| | | | Fail if the iso9660 plugin is enabled but not found.
* configure.ac: detect libzzip with pkg-configMax Kellermann2009-04-132-5/+16
| | | | Fail if the zzip plugin is enabled but not found.
* configure.ac: fail when bzip2 plugin is enabled but not foundMax Kellermann2009-04-131-1/+1
|
* icy_server: don't export icy_server_metadata_string()Max Kellermann2009-04-132-4/+1
| | | | | icy_server_metadata_string() is only called by icy_server_metadata_page().
* httpd: use C99 "bool" instead of GLib's gbooleanMax Kellermann2009-04-131-7/+7
| | | | Plain "bool" consumes only one byte instead of four.
* httpd: use g_ascii_strncasecmp() to compare headersMax Kellermann2009-04-131-1/+1
| | | | In HTTP, header names are case insensitive.
* Implemented basic icy support for the httpd outputHagen Schink2009-04-137-12/+411
| | | | | | [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]
* decoder_api: submit the song tag to the music pipeMax Kellermann2009-04-133-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.
* test: added run_input test programMax Kellermann2009-04-133-0/+127
|
* removed TODO fileMax Kellermann2009-04-102-87/+1
| | | | | Most of that was already implemented, and for other feature requests, we have the bug tracker.
* log: removed "unused" attribute from log_level parameterMax Kellermann2009-04-101-1/+1
|
* test: added configuration file readerMax Kellermann2009-04-103-0/+75
|
* doc: added "music directory" sectionMax Kellermann2009-04-101-0/+19
|
* doc: xml typo fixJeffrey Middleton2009-04-061-1/+1
| | | | | A <varlistentry> was accidentally added before the beginning of the intended <variablelist>
* decoder: prefer wildmidi over fluidsynthAvuton Olrich2009-04-061-4/+4
|
* configure: add shout AC_DEFINE, otherwise it will not enable.Avuton Olrich2009-04-061-0/+3
|