aboutsummaryrefslogtreecommitdiffstats
path: root/src (unfollow)
Commit message (Collapse)AuthorFilesLines
2010-11-04winmm_output: added "device" configuration optionDenis Krjuchkov1-2/+35
Device can be specified either by magic index (starting with 0) or by device name.
2010-11-03winmm_output: improved test_default_deviceDenis Krjuchkov1-2/+1
If no device is available test_default_device returns false.
2010-10-27output: new output plugin "ffado"Max Kellermann2-0/+348
Using libffado, to play on firewire audio devices. Warning: this plugin was not tested successfully. I just couldn't keep libffado2 from crashing. Use at your own risk. For details, see my Debian bug reports: http://bugs.debian.org/601657 http://bugs.debian.org/601659
2010-10-27decoder/sidplay: play mus, str, prg, x00 filesAlder Hornbridge1-0/+4
2010-10-27decoder/sidplay: play monaural SID tunes in monoAlder Hornbridge1-2/+10
2010-10-14Container support for gme decoder.Tony Miller1-8/+114
2010-10-11playlist/rss: new playlist plugin for RSS feedsMax Kellermann3-0/+348
2010-10-09mixer: winmm_mixer implementedDenis Krjuchkov4-0/+153
2010-10-08win32_output: renamed win32 output plugin to winmmDenis Krjuchkov2-53/+53
Win32 has many audio APIs. New name is slightly more correct.
2010-10-05output/httpd: use the new server_socket libraryMax Kellermann2-118/+32
2010-10-05listen: move generic code to server_socket.cMax Kellermann3-354/+551
2010-10-05output/httpd: don't close socket in open() failureMax Kellermann1-2/+0
This cleanup call is obsolete, since we moved the binding code to enable()/disable().
2010-10-05output_all: disable outputs on shutdownMax Kellermann1-0/+1
Call output_plugin.disable() before output_plugin.finish(). This ensures that all outputs are properly cleaned up, to make valgrind happy.
2010-10-03output/httpd: MIME type audio/ogg for Ogg VorbisMax Kellermann1-1/+1
RFC 5334 10.3 defines the MIME type "audio/ogg". We could use "application/ogg" as well, but we know for sure that we only emit audio data.
2010-09-28main_win: replaced g_error usages with MPD_ERRORDenis Krjuchkov1-3/+4
2010-09-28mpd_error: more correct MPD_ERROR implementationDenis Krjuchkov2-3/+3
Original implementation does not handle if (...) MPD_ERROR("die"); else ... case well. This change fixes handling of such cases.
2010-09-28input/rewind: enable for MMSThomas Jansen1-2/+10
2010-09-28playlist: make single mode 'sticky'Andrew Morgan1-4/+1
2010-09-25eliminate g_error() usageThomas Jansen27-103/+166
Replaced all occurrences of g_error() with MPD_ERROR() located in a new header file 'mpd_error.h'. This macro uses g_critical() to print the error message and then exits gracefully in contrast to g_error() which would internally call abort() to produce a core dump. The macro name is distinctive and allows to find all places with dubious error handling. The long-term goal is to get rid of MPD_ERROR() altogether. To facilitate the eventual removal of this macro it was added in a new header file rather than to an existing header file. This fixes #2995 and #3007.
2010-09-25output/httpd: bind_to_address support (including IPv6)Thomas Jansen1-12/+52
Added support for a new optional configuration setting for the httpd output named "bind_to_address". Setting it to a specific IP address (v4 or v6) will cause the httpd output to bind to that address exclusively. Supporting multiple addresses in parallel is future work. This implements the feature requests #2998 and #2646.
2010-09-25conf: Whitespace cosmeticsThomas Jansen1-9/+9
2010-09-23playlist: fix "queued" check in playlist_sync()Max Kellermann1-1/+1
The check was meant to fix an assertion failure, but it was the wrong way around. This broke cross-fading most of the time.
2010-09-23decoder/mp4ff: support more variations of "album artist"Max Kellermann1-0/+4
According to the mantis bug report 2847, there are several possible variations of the "album artist" tag: - "album artist" - "album_artist" - "albumartist" This patch adds support for the latter two.
2010-09-23listen: fix "unused parameter" warning on WIN32Max Kellermann1-0/+2
2010-09-23main: Add Windows Service supportDenis Krjuchkov5-1/+228
I've added PIPE_EVENT_SHUTDOWN because calling g_main_loop_quit() do not work when called from another thread. Main thread was sleeping in g_poll() so I needed some way to wake it up. By some strange reason call close(event_pipe[0]) in event_pipe_deinit() hangs. In current implementation that code never reached so that was not a problem :-) I've added a conditional to leave event_pipe[0] open on Win32.
2010-09-23playlist_state: Fix the "state" line in the outputThomas Jansen1-1/+1
An '\n' was erroneously inserted in the line containing the state, e.g. "state: \nplay" instead of "state: play". Fix for bug #2992.
2010-09-23rewind_input_plugin: Update MIME not only onceThomas Jansen1-3/+4
The assumption that MIME type is set only once is not valid with CURL, as URL redirections may update the MIME type. This fixes bug #3044.
2010-09-23zeroconf-bonjour: use g_htons() instead of htons()Max Kellermann1-1/+1
htons() is not available if netinet/in.h is not included.
2010-09-23directory: cast DEVICE_INARCHIVE, DEVICE_CONTAINER to dev_tMax Kellermann1-2/+2
Fix gcc warning.
2010-09-23playlist_database: initialize pm.mtimeMax Kellermann1-1/+3
2010-09-23fd_util: work around aliasing warning in recvmsg_cloexec()Max Kellermann1-2/+2
2010-09-23output/httpd: access sockaddr_storage object directlyMax Kellermann1-3/+2
Work around aliasing warning.
2010-09-23decoder_control: use g_free() to manage mixramp allocationsMax Kellermann3-20/+10
Be consistent with the rest of MPD, and don't use the non-portable header "malloc.h".
2010-09-08Correctly terminate stream_title.Qball Cow1-0/+1
This caused random data to be send via icy-server if the played song had no tags.
2010-09-07input/curl: fix version check for curl_multi_timeout()Max Kellermann1-1/+1
According to the CURL web site, curl_multi_timeout() was added in version 7.15.4: http://curl.haxx.se/libcurl/c/curl_multi_timeout.html
2010-09-07update_walk: update existing playlist entryMax Kellermann1-1/+3
Fixes duplicate playlist entries.
2010-09-07playlist_vector: update_or_add() returns boolMax Kellermann2-2/+10
False if the vector was not modified.
2010-08-31output/httpd: implement "pause"Max Kellermann1-0/+19
Send silence to all connected clients while paused, to avoid connection interruption.
2010-08-31output/httpd: forced flush after 32 kB of input dataMax Kellermann2-0/+23
Avoid buffer underruns on the streaming client, if the encoder is "too efficient" (e.g. when encoding silence while paused).
2010-08-23ReplayGain filter: allow gain > 100 %Johan Kiviniemi1-3/+11
The ReplayGain filter clamped the gain to max. 100 % even if the algorithm determined the signal needed a boost. That would result in any such tracks being played with too low volume, effectively defeating the purpose of the filter.
2010-08-19output_thread: fix race condition after CANCEL commandMax Kellermann1-0/+10
Clear the notification before finishing the CANCEL command, so the notify_wait() after that will always wait for the right notification, sent by audio_output_all_cancel().
2010-08-19notify: add function notify_clear()Max Kellermann2-0/+12
2010-08-03fd_util: add function dup_cloexec()Max Kellermann2-0/+17
Unfortunately, there's no "optimized" implementation here. We can't use Linux's proprietary system call dup3(), because it would require us to specify the new descriptor.
2010-08-03fd_util: add function recvmsg_cloexec()Max Kellermann2-0/+49
2010-08-03fd_util: add function socketpair_cloexec()Max Kellermann2-0/+35
2010-07-25playlist_song: fix memory leakMax Kellermann1-0/+2
Free the temporary path string in apply_song_metadata().
2010-07-25directory: free playlist vector in directory_free()Max Kellermann1-0/+2
2010-07-25queue_save: save tags and range of non-database songsMax Kellermann5-21/+63
Use the functions song_save() and song_load() to use the same format as in the database file for those songs which need the tags.
2010-07-25song_save: save start_ms and end_msMax Kellermann1-0/+11
While this is not useful for the database, it may become useful for reusing this code for the state file.
2010-07-25queue_save: simplify get_song()Max Kellermann1-10/+3
Don't try db_get_song() if the URI has a scheme.