aboutsummaryrefslogtreecommitdiffstats
path: root/src/mixer (follow)
Commit message (Collapse)AuthorAgeFilesLines
* config/Param: split block-specific attributes to new struct ConfigBlockMax Kellermann2015-01-2110-27/+27
| | | | The old struct config_param remains only for top-level string options.
* ConfigData: move struct config_param to Param.hxxMax Kellermann2015-01-212-2/+2
|
* MixerAll: restore "null" mixer volume from state fileMax Kellermann2015-01-161-1/+2
|
* Copyright year 2015Max Kellermann2015-01-0120-20/+20
|
* {mixer,output}/pulse: move code to LogPulseError()Max Kellermann2014-12-291-7/+5
|
* {mixer,output}/pulse: use a common Domain instanceMax Kellermann2014-12-291-6/+4
|
* mixer/pulse: remove redundant "virtual" keywordsMax Kellermann2014-12-291-4/+4
|
* mixer/null: new mixer pluginMax Kellermann2014-12-024-0/+73
|
* MixerType: convert to strictly-typed enumMax Kellermann2014-12-022-12/+12
|
* MixerType: rename to CamelCaseMax Kellermann2014-12-022-5/+5
|
* fs/output, fs/TextFile: move to fs/io/Max Kellermann2014-08-071-1/+1
|
* *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).