aboutsummaryrefslogtreecommitdiffstats
path: root/src/mixer (follow)
Commit message (Collapse)AuthorAgeFilesLines
...
* pulse_mixer: allow mpd to reconnect to the pulse mixerDavid Guibert2009-03-071-29/+24
| | | | | | | | | | | | | | | | | | | | | | | | | This patch follows the commit 21bb10f4b. >From Max Kellermann: > I removed the daemonization changes in main.c. Please explain why you > changed that. If you need it for some reason, make that a separate > patch with a good description of your rationale. > That's the biggest flaw of your code: it opens the mixer device in the > init() method, while the open() method is empty. When the pulse > daemon is not available (either during MPD startup or when it dies > while MPD runs), the plugin will not even attempt to reconnect to > pulse. Please move the code to the open() method, to make that work. I changed the daemonize call as the fork losts the connection to the pulse server. According to your remark, the init() method should be moved to the open() ones. With the modification, mpd is able to reconnect the pulse mixer after restarting the pulseaudio daemon. Signed-off-by: David Guibert <david.guibert@gmail.com> Signed-off-by: Max Kellermann <max@duempel.org>
* pulse_mixer: added missing copyright headerMax Kellermann2009-03-071-0/+18
|
* pulse_mixer: added GLib log domainMax Kellermann2009-03-071-14/+16
| | | | Shorten some log messages, let GLib add the "pulse_mixer" prefix.
* pulse: clean up includesMax Kellermann2009-03-071-2/+4
| | | | | Don't include output_api.h - this is not an output plugin. Added missing explicit conf.h and string.h includes.
* pulse mixerDavid Guibert2009-03-071-0/+277
| | | | | | | | | | | | | | | | | | | | This patch introduces the mixer for the pulse output. Technically speaking, the pulse index is needed to get or set the volume. You must define callback fonctions to get this index since the pulse output in mpd is done using the simpe api. The pulse simple api does not provide the index of the newly defined output. So callback fonctions are associated to the pulse context. The list of all the sink input is then retreived. Then we select the name of the mpd pulse output and control its volume by its associated index number. Signed-off-by: Patrice Linel <patnathanael@gmail.com> Signed-off-by: David Guibert <david.guibert@gmail.com> [mk: fixed whitespace errors and broke long lines; removed daemonization changes from main.c]
* mixer_api: replaced method "control()" with "{get,set}_volume()"Max Kellermann2009-02-162-124/+116
| | | | | The method control() is too complicated, and overengineered. Replace it with two trivial functions: get_volume() and set_volume().
* mixer_api: removed struct mixer_dataMax Kellermann2009-01-252-14/+24
| | | | | The mixer plugins should re-use the mixer struct and incorporate it in their object class.
* mixer: merged methods "init" and "configure"Max Kellermann2009-01-252-46/+12
| | | | | | | Both methods are always called together. There is no point in having them separate. This simplifies the code, because the old configure() method could be called more than once, and had to free old allocations.
* mixer: removed mixer_configure_legacy(), AC_MIXER_CONFIGUREMax Kellermann2009-01-252-11/+0
| | | | Those have been superseded by the new legacy configuration code.
* mixer: make all mixer_plugin pointers constMax Kellermann2009-01-252-2/+2
| | | | The plugin structures must never be modified.
* mixer: added missing copyright headersMax Kellermann2009-01-252-0/+34
|
* conf: allow param==NULLMax Kellermann2009-01-252-6/+0
| | | | | | | | Return the default value in the conf_get_block_*() functions when param==NULL was passed. This simplifies a lot of code, because all initialization can be done in one code path, regardless whether configuration is present.
* conf: const pointers in block get functionsMax Kellermann2009-01-252-4/+4
| | | | | All config_get_block_*() functions should accept constant config_param pointers.
* conf: added config_get_block_string()Max Kellermann2009-01-182-12/+15
| | | | This replaces lots of getBlockParam() invocations.
* mixer: don't check for NULL before g_free()Max Kellermann2009-01-182-16/+11
| | | | | The g_free() function includes a NULL check. We don't have to do it twice.
* conf: no CamelCase, part IMax Kellermann2009-01-172-6/+6
| | | | Renamed functions, types, variables.
* mixer: check param==NULL in the alsa and oss mixer codeMax Kellermann2009-01-162-0/+7
| | | | | | When MPD starts without audio output configuration, the "param" variable is NULL. This triggers a segmentation fault in both mixer plugins.
* removing mixer_reconfigure memmory leak, fixing configure of alsa and oss ↵Viliam Mateicka2009-01-112-8/+26
| | | | mixer (passing parameters)
* Introducing mixer apiViliam Mateicka2009-01-102-52/+73
| | | | | This patch tryes to introduce pluggable mixer (struct mixer_plugin) along with some basic infrastructure (mixer_* functions). Instance of mixer (struct mixer) is used in alsa and oss output plugin
* renaming mixer.h to mixer_api.hViliam Mateicka2009-01-042-4/+4
|
* mixer: renamed mix_* options to mixer_*Max Kellermann2009-01-012-4/+4
| | | | There is no reason to use the shortcut "mix" instead of "mixer".
* Moving mixers to audio outputsViliam Mateicka2008-12-312-0/+403