aboutsummaryrefslogtreecommitdiffstats
path: root/src/mixer (unfollow)
Commit message (Collapse)AuthorFilesLines
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.
2013-08-07*: remove remaining __cplusplus checksMax Kellermann1-8/+0
2013-08-07mixer/alsa: use AllocatedArray for the pollfd bufferMax Kellermann1-3/+5
2013-08-07Makefile.am: move sources to libsystem.aMax Kellermann1-1/+1
2013-08-04*: use gcc.h macros instead of GLibMax Kellermann4-9/+10
2013-08-04MixerPlugin: pass config_param referenceMax Kellermann6-19/+19
2013-08-04FilterPlugin: pass config_param referenceMax Kellermann1-1/+3
2013-07-30tag: convert to C++Max Kellermann1-0/+1
2013-07-30output_api: convert to C++Max Kellermann4-4/+4
2013-04-16mixer/software: use gcc_unused instead of G_GNUC_UNUSEDMax Kellermann1-5/+5
2013-04-16MixerInternal: convert to classMax Kellermann7-59/+51