aboutsummaryrefslogtreecommitdiffstats
path: root/src/mixer (unfollow)
Commit message (Collapse)AuthorFilesLines
2015-01-01Copyright year 2015Max Kellermann20-20/+20
2014-12-29{mixer,output}/pulse: move code to LogPulseError()Max Kellermann1-7/+5
2014-12-29{mixer,output}/pulse: use a common Domain instanceMax Kellermann1-6/+4
2014-12-29mixer/pulse: remove redundant "virtual" keywordsMax Kellermann1-4/+4
2014-12-02mixer/null: new mixer pluginMax Kellermann4-0/+73
2014-12-02MixerType: convert to strictly-typed enumMax Kellermann2-12/+12
2014-12-02MixerType: rename to CamelCaseMax Kellermann2-5/+5
2014-08-07fs/output, fs/TextFile: move to fs/io/Max Kellermann1-1/+1
2014-07-30*Save, *State: use the OutputStream API instead of FILE*Max Kellermann2-5/+7
2014-05-12mixer/software: keep attribute "volume" in the 0..100 rangeMax Kellermann1-7/+19
The attribute must be 0..100 and not 0..1024. Previously, the code was inconsistent.
2014-03-05PulseOutputPlugin: avoid locking mainloop object from within mainloop threadPete Beardmore1-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
2014-02-19Mixer: add class MixerListenerMax Kellermann13-44/+90
Use a listener interface instead of GlobalEvents.
2014-02-06mixer/Plugin: pass AudioOutput reference to init()Max Kellermann10-39/+33
Passing a void pointer is unsafe.
2014-02-06MixerPlugin: convert function pointers to Mixer virtual methodsMax Kellermann10-297/+199
2014-02-06Mixer: delete the implicit copy constructorMax Kellermann1-0/+2
2014-02-06Mixer: make the constructor "explicit"Max Kellermann1-1/+1
2014-02-06mixer/software: use IgnoreError()Max Kellermann1-2/+2
2014-02-05Mixer: use reference instead of pointer for MixerPluginMax Kellermann4-26/+18
2014-02-05Mixer: rename struct mixer_plugin to MixerPluginMax Kellermann11-19/+21
2014-02-05MixerPlugin: add EventLoop& init() parameterMax Kellermann9-14/+25
2014-01-28output: rename source filesMax Kellermann1-1/+1
2014-01-28output: rename struct audio_output to AudioOutputMax Kellermann2-4/+4
2014-01-28OutputPlugin: rename struct audio_output_plugin to AudioOutputPluginMax Kellermann1-1/+1
2014-01-28OutputAll: convert to class, move instance to class PartitionMax Kellermann4-133/+57
Another big chunk of code for multi-player support.
2014-01-24Mixer*: move to mixer/Max Kellermann19-6/+920
2014-01-24Filter*: move to filter/Max Kellermann1-4/+4
2014-01-24Config*: move to config/Max Kellermann2-2/+2
2014-01-23output/*: move to output/plugins/Max Kellermann4-5/+5
2014-01-13copyright year 2014Max Kellermann8-8/+8
2014-01-06event/MultiSocketMonitor: add method ClearSocketList()Max Kellermann1-1/+3
2014-01-05event/MultiSocketMonitor: add method ReplaceSocketList()Max Kellermann1-18/+1
Move code from AlsaMixerPlugin.
2014-01-04mixer/alsa: use DeferredMonitor to update file descriptorsMax Kellermann1-14/+7
EventLoop::AddCall() and EventLoop::AddIdle() are unsafe, because we can't cancel those calls.
2013-12-23pcm/PcmVolume: rename to Volume.cxxMax Kellermann1-1/+1
2013-12-22util/Clamp: generic Clamp() functionMax Kellermann1-2/+2
2013-12-15mixer/alsa: fix deadlockMax Kellermann1-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.
2013-12-13mixer/alsa: use BlockingCall() instead of EventLoop::AddCall()Max Kellermann1-1/+2
This is safer, and works without epoll(). Fixes a build failure with uClibc, which does not support epoll().
2013-11-28include cleanup using iwyuMax Kellermann4-11/+4
2013-10-30mixer/software: fix double free bugMax Kellermann1-3/+15
2013-10-28*: use nullptr instead of NULLMax Kellermann2-17/+17
2013-10-21Util/ASCII: add StringEqualsCaseASCII() overload with lengthMax Kellermann1-3/+2
Replaces GLib's g_ascii_strncasecmp().
2013-10-20Util/ASCII: add function StringEqualsCaseASCII()Max Kellermann1-3/+3
Replaces GLib's g_ascii_strcasecmp().
2013-10-15Client, ...: remove unnecessary glib.h includeMax Kellermann1-2/+0
2013-10-02Log: new logging library APIMax Kellermann4-14/+15
Prepare to migrate away from GLib. Currently, we're still using GLib as a backend.
2013-10-01mixer/alsa: handle ENODEVMax Kellermann1-0/+5
Fixes busy loop when USB sound device gets unplugged (Mantis bug #3824).
2013-10-01mixer/alsa: log snd_mixer_handle_events() errorsMax Kellermann1-1/+6
2013-09-05conf.h: remove obsolete headerMax Kellermann1-1/+0
Use only ConfigData.hxx in plugin sources to reduce header dependencies.
2013-09-04util/Error: new error passing libraryMax Kellermann6-124/+102
Replaces GLib's GError.
2013-08-10alsa/mixer: defer InvalidateSockets() call to I/O threadMax Kellermann1-1/+2
2013-08-10mixer/alsa: invoke InvalidateSockets() in constructorMax Kellermann1-1/+3
2013-08-10event/MultiSocketMonitor: PrepareSockets() returns timeoutMax Kellermann1-3/+5
Simplify the API, don't use GLib specific integer type.