aboutsummaryrefslogtreecommitdiffstats
path: root/src/mixer (follow)
Commit message (Collapse)AuthorAgeFilesLines
* *Save, *State: use the OutputStream API instead of FILE*Max Kellermann2014-07-302-5/+7
|
* mixer/software: keep attribute "volume" in the 0..100 rangeMax Kellermann2014-05-121-7/+19
| | | | | The attribute must be 0..100 and not 0..1024. Previously, the code was inconsistent.
* PulseOutputPlugin: avoid locking mainloop object from within mainloop threadPete Beardmore2014-03-051-5/+14
| | | | | | | | | | | | -fixes regression introduced by: '8d6fedf8177d0d2ced81e6d93d35c368b2ac69db [PATCH] Mixer: add class MixerListener' -listener.OnMixerVolumeChanged() called GetVolume() which attempted to acquire the lock but as per 'pa_threaded_mainloop_lock()' documentation: This function may not be called inside the event loop thread. Events that are dispatched from the event loop thread are executed with this lock held -this patch seperates the underlying action of GetVolume() into a new GetVolumeInternal() function, to be called only when the lock is already held, as is the case for the listener.OnMixerVolumeChanged() call
* Mixer: add class MixerListenerMax Kellermann2014-02-1913-44/+90
| | | | Use a listener interface instead of GlobalEvents.
* mixer/Plugin: pass AudioOutput reference to init()Max Kellermann2014-02-0610-39/+33
| | | | Passing a void pointer is unsafe.
* MixerPlugin: convert function pointers to Mixer virtual methodsMax Kellermann2014-02-0610-297/+199
|
* Mixer: delete the implicit copy constructorMax Kellermann2014-02-061-0/+2
|
* Mixer: make the constructor "explicit"Max Kellermann2014-02-061-1/+1
|
* mixer/software: use IgnoreError()Max Kellermann2014-02-061-2/+2
|
* Mixer: use reference instead of pointer for MixerPluginMax Kellermann2014-02-054-26/+18
|
* Mixer: rename struct mixer_plugin to MixerPluginMax Kellermann2014-02-0511-19/+21
|
* MixerPlugin: add EventLoop& init() parameterMax Kellermann2014-02-059-14/+25
|
* output: rename source filesMax Kellermann2014-01-281-1/+1
|
* output: rename struct audio_output to AudioOutputMax Kellermann2014-01-282-4/+4
|
* OutputPlugin: rename struct audio_output_plugin to AudioOutputPluginMax Kellermann2014-01-281-1/+1
|
* OutputAll: convert to class, move instance to class PartitionMax Kellermann2014-01-284-133/+57
| | | | Another big chunk of code for multi-player support.
* Mixer*: move to mixer/Max Kellermann2014-01-2419-6/+920
|
* Filter*: move to filter/Max Kellermann2014-01-241-4/+4
|
* Config*: move to config/Max Kellermann2014-01-242-2/+2
|
* output/*: move to output/plugins/Max Kellermann2014-01-234-5/+5
|
* copyright year 2014Max Kellermann2014-01-138-8/+8
|
* event/MultiSocketMonitor: add method ClearSocketList()Max Kellermann2014-01-061-1/+3
|
* event/MultiSocketMonitor: add method ReplaceSocketList()Max Kellermann2014-01-051-18/+1
| | | Move code from AlsaMixerPlugin.
* mixer/alsa: use DeferredMonitor to update file descriptorsMax Kellermann2014-01-041-14/+7
| | | | | EventLoop::AddCall() and EventLoop::AddIdle() are unsafe, because we can't cancel those calls.
* pcm/PcmVolume: rename to Volume.cxxMax Kellermann2013-12-231-1/+1
|
* util/Clamp: generic Clamp() functionMax Kellermann2013-12-221-2/+2
|
* Merge branch 'v0.18.x'Max Kellermann2013-12-151-1/+13
|\
| * mixer/alsa: fix deadlockMax Kellermann2013-12-151-1/+13
| | | | | | | | | | | | This deadlock was a regression by commit 8e38b4f8. Since we currently can't resolve this, let's revert the commit, and add a GLib specific workaround for the build failure.
* | Merge branch 'v0.18.x'Max Kellermann2013-12-141-1/+2
|\|
| * mixer/alsa: use BlockingCall() instead of EventLoop::AddCall()Max Kellermann2013-12-131-1/+2
| | | | | | | | | | This is safer, and works without epoll(). Fixes a build failure with uClibc, which does not support epoll().
* | include cleanup using iwyuMax Kellermann2013-11-284-11/+4
|/
* mixer/software: fix double free bugMax Kellermann2013-10-301-3/+15
|
* *: use nullptr instead of NULLMax Kellermann2013-10-282-17/+17
|
* Util/ASCII: add StringEqualsCaseASCII() overload with lengthMax Kellermann2013-10-211-3/+2
| | | | Replaces GLib's g_ascii_strncasecmp().
* Util/ASCII: add function StringEqualsCaseASCII()Max Kellermann2013-10-201-3/+3
| | | | Replaces GLib's g_ascii_strcasecmp().
* Client, ...: remove unnecessary glib.h includeMax Kellermann2013-10-151-2/+0
|
* Log: new logging library APIMax Kellermann2013-10-024-14/+15
| | | | | Prepare to migrate away from GLib. Currently, we're still using GLib as a backend.
* Merge branch 'v0.17.x'Max Kellermann2013-10-011-2/+19
|\
| * mixer/alsa: handle ENODEVMax Kellermann2013-10-011-0/+5
| | | | | | | | | | Fixes busy loop when USB sound device gets unplugged (Mantis bug #3824).
| * mixer/alsa: log snd_mixer_handle_events() errorsMax Kellermann2013-10-011-1/+6
| |
* | conf.h: remove obsolete headerMax Kellermann2013-09-051-1/+0
| | | | | | | | | | Use only ConfigData.hxx in plugin sources to reduce header dependencies.
* | util/Error: new error passing libraryMax Kellermann2013-09-046-124/+102
| | | | | | | | Replaces GLib's GError.
* | alsa/mixer: defer InvalidateSockets() call to I/O threadMax Kellermann2013-08-101-1/+2
| |
* | mixer/alsa: invoke InvalidateSockets() in constructorMax Kellermann2013-08-101-1/+3
| |
* | event/MultiSocketMonitor: PrepareSockets() returns timeoutMax Kellermann2013-08-101-3/+5
| | | | | | | | Simplify the API, don't use GLib specific integer type.
* | *: remove remaining __cplusplus checksMax Kellermann2013-08-071-8/+0
| |
* | mixer/alsa: use AllocatedArray for the pollfd bufferMax Kellermann2013-08-071-3/+5
| |
* | Makefile.am: move sources to libsystem.aMax Kellermann2013-08-071-1/+1
| |
* | *: use gcc.h macros instead of GLibMax Kellermann2013-08-044-9/+10
| |
* | MixerPlugin: pass config_param referenceMax Kellermann2013-08-046-19/+19
| |