Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | | mixer_plugin: convert to C++ | Max Kellermann | 2013-02-22 | 6 | -6/+6 | |
| | | ||||||
* | | {output,mixer}/winmm: convert to C++ | Max Kellermann | 2013-02-22 | 1 | -9/+12 | |
| | | ||||||
* | | FilterInternal: convert struct filter to a OO interface | Max Kellermann | 2013-02-02 | 2 | -4/+4 | |
| | | ||||||
* | | filter: convert to C++ | Max Kellermann | 2013-02-01 | 1 | -2/+2 | |
| | | ||||||
* | | pcm_*: convert to C++ | Max Kellermann | 2013-01-31 | 1 | -1/+1 | |
| | | ||||||
* | | mixer/software, filter/volume: convert to C++ | Max Kellermann | 2013-01-31 | 2 | -11/+13 | |
| | | ||||||
* | | output/{alsa,oss}: convert to C++ | Max Kellermann | 2013-01-29 | 1 | -8/+8 | |
| | | ||||||
* | | output/roar: convert to C++ | Max Kellermann | 2013-01-16 | 1 | -52/+24 | |
| | | ||||||
* | | mixer/Alsa: use MultiSocketMonitor | Max Kellermann | 2013-01-15 | 1 | -134/+37 | |
| | | ||||||
* | | configure.ac: enable WIN32_LEAN_AND_MEAN on Windows | Max Kellermann | 2013-01-11 | 1 | -0/+2 | |
| | | ||||||
* | | EventPipe: rename to GlobalEvents | Max Kellermann | 2013-01-09 | 2 | -5/+5 | |
| | | ||||||
* | | event_pipe.h: convert to C++ | Max Kellermann | 2013-01-09 | 2 | -2/+2 | |
| | | ||||||
* | | mixer/{alsa,pulse}: convert to C++ | Max Kellermann | 2013-01-09 | 3 | -28/+40 | |
|/ | ||||||
* | output/raop: delete the RAOP plugin | Max Kellermann | 2012-05-29 | 1 | -67/+0 | |
| | | | | | | | | | This plugin is horrible code, I mean it. Last year, I tried hard to fix it, but I figured would take less time to do a full rewrite. Given that I don't even have any device that supports RAOP, I can't do that properly. After 16 months, nobody volunteered for fixing it. Hereby, I delete it, because having no RAOP plugin is better than having this mess. Sorry. | |||||
* | mixer/alsa: listen for external volume changes | Max Kellermann | 2012-01-05 | 1 | -1/+180 | |
| | | | | | | Use libasound's polling functions, implement a bridge to GSource / GPollFD and send idle events to clients when an external program changes the ALSA mixer volume. | |||||
* | mixer/alsa: move code to alsa_mixer_setup() | Max Kellermann | 2012-01-05 | 1 | -25/+34 | |
| | | | | Better error handling. | |||||
* | mixer/alsa: move code to alsa_mixer_lookup_elem() | Max Kellermann | 2012-01-05 | 1 | -24/+27 | |
| | ||||||
* | output/pulse: don't expose internal struct in public header | Max Kellermann | 2011-09-17 | 1 | -5/+7 | |
| | | | | | Provide _lock() and _unlock() to wrap all accesses from the mixer plugin. | |||||
* | output/roar: export volume methods | Max Kellermann | 2011-09-17 | 1 | -32/+3 | |
| | | | | Use these instead of exposing the internal roar_t struct. | |||||
* | mixer/raop: include cleanup | Max Kellermann | 2011-08-31 | 1 | -12/+2 | |
| | ||||||
* | output/raop: remove excessive debug messages | Max Kellermann | 2011-08-24 | 1 | -1/+0 | |
| | ||||||
* | output/raop: consistently use GError | Max Kellermann | 2011-08-24 | 1 | -2/+2 | |
| | ||||||
* | Remove unused headers in Roar plugin. | Hans-Kristian Arntzen | 2011-03-23 | 1 | -4/+0 | |
| | | | | Should fix build errors for Win32. | |||||
* | Merge commit 'release-0.16.2' | Max Kellermann | 2011-03-19 | 1 | -5/+5 | |
|\ | | | | | | | | | | | | | Conflicts: Makefile.am NEWS configure.ac | |||||
| * | general: whitespace cleanup | Thomas Jansen | 2011-02-09 | 1 | -5/+5 | |
| | | | | | | | | | | Remove trailing whitespace found by this command: find -name '*.[ch]' | xargs grep "[[:space:]]$" | |||||
* | | RoarAudio output plugin | Hans-Kristian Arntzen | 2011-03-16 | 1 | -0/+137 | |
| | | ||||||
* | | copyright year 2011 | Max Kellermann | 2011-01-29 | 7 | -7/+7 | |
| | | ||||||
* | | output/raop: new output plugin | Dustin Puckett | 2011-01-28 | 1 | -0/+78 | |
|/ | | | | Remote Audio Output Protocol (RAOP), for Apple devices. | |||||
* | mixer: winmm_mixer implemented | Denis Krjuchkov | 2010-10-09 | 1 | -0/+114 | |
| | ||||||
* | Update copyright notices. | Avuton Olrich | 2009-12-31 | 6 | -6/+6 | |
| | ||||||
* | include config.h in all sources | Max Kellermann | 2009-11-12 | 4 | -0/+4 | |
| | | | | | | After we've been hit by Large File Support problems several times in the past week (which only occur on 32 bit platforms, which I don't have), this is yet another attempt to fix the issue. | |||||
* | fd_util: removed creat_cloexec() | Max Kellermann | 2009-11-10 | 1 | -1/+1 | |
| | | | | Add a "mode" argument to open_cloexec() instead. | |||||
* | set the close-on-exec flag on all file descriptors | Max Kellermann | 2009-11-07 | 1 | -1/+2 | |
| | | | | | | | | | | | Added the "fd_util" library, which attempts to use the new thread-safe Linux system calls pipe2(), accept4() and the options O_CLOEXEC, SOCK_CLOEXEC. Without these, it falls back to FD_CLOEXEC, which is not thread safe. This is particularly important for the "pipe" output plugin (and others, such as JACK/PulseAudio), because we were heavily leaking file descriptors to child processes. | |||||
* | output/pulse: call mixer on state changes | Max Kellermann | 2009-10-23 | 2 | -127/+79 | |
| | | | | | | Don't let the mixer plugin "override" the libpulse callbacks. Instead, add a "mixer" attribute to the pulse_output struct, and call the mixer on all interesting events. | |||||
* | mixer_control: allow methods "open" and "close" to be NULL | Max Kellermann | 2009-10-23 | 1 | -19/+0 | |
| | | | | | It's possible to have a mixer implementation which does not explicitly need the methods open() and close(). | |||||
* | mixer/pulse: don't get volume if stream is not yet ready | Max Kellermann | 2009-10-22 | 1 | -3/+3 | |
| | | | | Moved the check from pulse_mixer_open() to pulse_mixer_update(). | |||||
* | pulse: code rewrite using the asynchronous libpulse API | Max Kellermann | 2009-10-21 | 1 | -209/+126 | |
| | | | | | | | | This is a complete rewrite of the PulseAudio output plugin. It uses the asynchronous API, which gives us more control over everything. Additionally, it connects to the PulseAudio server on startup, and keeps this connection up while MPD runs. During pause, instead of closing the stream, it enables "cork". | |||||
* | mixer_plugin: pass audio_output pointer to mixer_plugin.init() | Max Kellermann | 2009-10-21 | 4 | -4/+6 | |
| | | | | | This allows the mixer object to access its associated audio output object. | |||||
* | mixer_plugin: use GError for error handling | Max Kellermann | 2009-10-20 | 4 | -48/+106 | |
| | ||||||
* | mixer/{oss,alsa}: renamed the mixer source files | Max Kellermann | 2009-10-20 | 2 | -8/+8 | |
| | ||||||
* | pulse: renamed source files | Max Kellermann | 2009-10-20 | 1 | -2/+2 | |
| | ||||||
* | mixer/software: new mixer which controls filter/volume | Max Kellermann | 2009-07-06 | 2 | -0/+157 | |
| | | | | | | | This mixer plugin may be used instead of the traditional global software mixer. It integrates with the "volume" filter plugin, and can control the software volume of an audio output which has no hardware mixer. | |||||
* | alsa_mixer: use g_ascii_strcasecmp() instead of strcasecmp() | Max Kellermann | 2009-04-28 | 1 | -2/+2 | |
| | | | | | strcasecmp() is locale dependent, making it a bad choice for internal string comparisons. | |||||
* | alsa_mixer: add mixer_index option | Daniel Kahn Gillmor | 2009-04-28 | 1 | -2/+7 | |
| | | | | This allows you to select controls with duplicate names. | |||||
* | pulse_mixer: use PULSE's mainloop lock instead of GMutex | Max Kellermann | 2009-04-25 | 1 | -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. | |||||
* | alsa_mixer: call snd_config_update_free_global() in finish() | Max Kellermann | 2009-04-21 | 1 | -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. | |||||
* | mixer: assert that the new volume value is valid | Max Kellermann | 2009-03-27 | 2 | -7/+1 | |
| | | | | | Added an assertion in mixer_set_volume(). Removed the range checks from the ALSA and OSS plugins. | |||||
* | pulse_mixer: protect the struct with a mutex | Max Kellermann | 2009-03-27 | 1 | -1/+29 | |
| | | | | | | There are numerous race conditions between the libpulse thread (pulse_mixer.c callbacks) and the rest of MPD. Protect the volatile attributes of the pulse_mixer struct with a mutex to fix that. | |||||
* | pulse_mixer: return if mixer is offline | Max Kellermann | 2009-03-27 | 1 | -29/+27 | |
| | | | | | Eliminate one indent level. Also remove several debug useless debug messages. | |||||
* | pulse_mixer: removed superfluous G_GNUC_UNUSED attributes | Max Kellermann | 2009-03-27 | 1 | -4/+4 | |
| | | | | Those parameters are used after all. |