| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
Always keep the audio_output object locked within the output thread,
unless a plugin method is called. This fixes several race conditions.
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
An asterisk means that this attribute should not be enforced, and
stays whatever it used to be. This way, some configuration values
work like masks.
|
|
|
|
|
|
|
|
| |
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".
|
|
|
|
|
| |
This allows the mixer object to access its associated audio output
object.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
Based on this API, we will add parsers for EXTM3U, PLS, ASX, last.fm
radio and others.
There is no integration into the MPD core yet. Right now, we have a
command line test program. This is work in progress.
|
|
|
|
|
|
|
| |
Don't call g_error(), which will abort the process and dump core.
This patch does not affect all the config_get_X() functions. These
need some more refactoring.
|
| |
|
|
|
|
|
| |
Don't abort the whole MPD process when the conversion fails. This has
been a denial-of-service attack vector for years.
|
|
|
|
|
| |
It makes no difference right now, but we're about to add an endianness
flag and will want to make sure it's correctly initialised every time.
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
| |
This patch adds initial filter support for audio outputs. Each audio
output gets a "filter" attribute, which is used by ao_play_chunk().
The PCM conversion is now performed by convert_filter_plugin.
audio_output.convert_state has been removed.
|
|
|
|
| |
Added public methods to get and set the current volume.
|
|
|
|
| |
This program runs filter plugins in an isolated environment.
|
|
|
|
| |
Renamed all remaining CamelCase functions.
|
| |
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
This updates the copyright header to all be the same, which is
pretty much an update of where to mail request for a copy of the GPL
and the years of the MPD project. This also puts all committers under
'The Music Player Project' umbrella. These entries should go
individually in the AUTHORS file, for consistancy.
|
|
|
|
|
| |
The "run_output" program can be used to test an audio output plugin in
an isolated environment.
|
| |
|
|
|
|
| |
Keep valgrind happy.
|
| |
|
|
|
|
| |
Don't abort MPD when a sample format is not supported by pcm_volume().
|
| |
|
|
|
|
| |
Added a command line program which runs an encoder plugin.
|
|
|
|
| |
Added a command line program which runs a decoder plugin.
|
|
|
|
| |
Fix a gcc warning.
|
|
This program is a simple utility for debugging and benchmarking the
software volume code.
|