mpd/src
Max Kellermann 617a4fd2d2 mixer: added flag "open"
Remember if a mixer object is open or closed.  Don't call open() again
if it is already open.  This guarantees that the mixer plugin is
always called in a consistent state, and we will be able to remove
lots of checks from the implementations.

To support mixers which are automatically opened even if the audio
output is still closed (to set the volume before playback starts),
this patch also adds the "global" flag to the mixer_plugin struct.
Both ALSA and OSS set this flag, while PULSE does not.
2009-03-26 19:43:18 +01:00
..
archive all: Update copyright header. 2009-03-13 11:51:55 -07:00
decoder flac/cue: added support for TITLE[n] comments 2009-03-17 12:41:46 +01:00
encoder vorbis_encoder: added support for all MPD tag types 2009-03-15 18:36:29 +01:00
input all: Update copyright header. 2009-03-13 11:51:55 -07:00
mixer mixer: added flag "open" 2009-03-26 19:43:18 +01:00
output output_plugin: replaced output_plugin.get_mixer() with mixer_plugin 2009-03-26 18:23:23 +01:00
ack.h all: Update copyright header. 2009-03-13 11:51:55 -07:00
aiff.c all: Update copyright header. 2009-03-13 11:51:55 -07:00
aiff.h all: Update copyright header. 2009-03-13 11:51:55 -07:00
archive_api.c all: Update copyright header. 2009-03-13 11:51:55 -07:00
archive_api.h all: Update copyright header. 2009-03-13 11:51:55 -07:00
archive_internal.h all: Update copyright header. 2009-03-13 11:51:55 -07:00
archive_list.c all: Update copyright header. 2009-03-13 11:51:55 -07:00
archive_list.h all: Update copyright header. 2009-03-13 11:51:55 -07:00
audio_format.h all: Update copyright header. 2009-03-13 11:51:55 -07:00
audio_parser.c all: Update copyright header. 2009-03-13 11:51:55 -07:00
audio_parser.h all: Update copyright header. 2009-03-13 11:51:55 -07:00
audio.c mixer_api: moved functions to mixer_control.c 2009-03-14 11:36:50 +01:00
audio.h all: Update copyright header. 2009-03-13 11:51:55 -07:00
buffer2array.c all: Update copyright header. 2009-03-13 11:51:55 -07:00
buffer2array.h all: Update copyright header. 2009-03-13 11:51:55 -07:00
buffer.c all: Update copyright header. 2009-03-13 11:51:55 -07:00
buffer.h all: Update copyright header. 2009-03-13 11:51:55 -07:00
chunk.c all: Update copyright header. 2009-03-13 11:51:55 -07:00
chunk.h all: Update copyright header. 2009-03-13 11:51:55 -07:00
client.c client: use the new fifo_buffer library 2009-03-14 17:46:01 +01:00
client.h all: Update copyright header. 2009-03-13 11:51:55 -07:00
cmdline.c move printAllOutputPluginTypes to output_list.c 2009-03-21 09:45:42 +01:00
cmdline.h all: Update copyright header. 2009-03-13 11:51:55 -07:00
command.c log: removed DEBUG() and FATAL() 2009-03-15 18:23:00 +01:00
command.h all: Update copyright header. 2009-03-13 11:51:55 -07:00
compress.c all: Update copyright header. 2009-03-13 11:51:55 -07:00
compress.h all: Update copyright header. 2009-03-13 11:51:55 -07:00
conf.c all: Update copyright header. 2009-03-13 11:51:55 -07:00
conf.h all: Update copyright header. 2009-03-13 11:51:55 -07:00
crossfade.c all: Update copyright header. 2009-03-13 11:51:55 -07:00
crossfade.h all: Update copyright header. 2009-03-13 11:51:55 -07:00
daemon.c all: Update copyright header. 2009-03-13 11:51:55 -07:00
daemon.h all: Update copyright header. 2009-03-13 11:51:55 -07:00
database.c all: Update copyright header. 2009-03-13 11:51:55 -07:00
database.h all: Update copyright header. 2009-03-13 11:51:55 -07:00
dbUtils.c dbUtils: removed printSavedMemoryFromFilenames() 2009-03-15 18:21:53 +01:00
dbUtils.h dbUtils: removed printSavedMemoryFromFilenames() 2009-03-15 18:21:53 +01:00
decoder_api.c all: Update copyright header. 2009-03-13 11:51:55 -07:00
decoder_api.h all: Update copyright header. 2009-03-13 11:51:55 -07:00
decoder_buffer.c all: Update copyright header. 2009-03-13 11:51:55 -07:00
decoder_buffer.h all: Update copyright header. 2009-03-13 11:51:55 -07:00
decoder_command.h all: Update copyright header. 2009-03-13 11:51:55 -07:00
decoder_control.c player_thread: wait for decoder before seeking 2009-03-25 19:48:14 +01:00
decoder_control.h all: Update copyright header. 2009-03-13 11:51:55 -07:00
decoder_internal.c all: Update copyright header. 2009-03-13 11:51:55 -07:00
decoder_internal.h all: Update copyright header. 2009-03-13 11:51:55 -07:00
decoder_list.c all: Update copyright header. 2009-03-13 11:51:55 -07:00
decoder_list.h all: Update copyright header. 2009-03-13 11:51:55 -07:00
decoder_plugin.h all: Update copyright header. 2009-03-13 11:51:55 -07:00
decoder_thread.c log: removed DEBUG() and FATAL() 2009-03-15 18:23:00 +01:00
decoder_thread.h all: Update copyright header. 2009-03-13 11:51:55 -07:00
directory_print.c all: Update copyright header. 2009-03-13 11:51:55 -07:00
directory_print.h all: Update copyright header. 2009-03-13 11:51:55 -07:00
directory_save.c all: Update copyright header. 2009-03-13 11:51:55 -07:00
directory_save.h all: Update copyright header. 2009-03-13 11:51:55 -07:00
directory.c all: Update copyright header. 2009-03-13 11:51:55 -07:00
directory.h all: Update copyright header. 2009-03-13 11:51:55 -07:00
dirvec.c all: Update copyright header. 2009-03-13 11:51:55 -07:00
dirvec.h all: Update copyright header. 2009-03-13 11:51:55 -07:00
encoder_api.h all: Update copyright header. 2009-03-13 11:51:55 -07:00
encoder_list.c all: Update copyright header. 2009-03-13 11:51:55 -07:00
encoder_list.h all: Update copyright header. 2009-03-13 11:51:55 -07:00
encoder_plugin.h all: Update copyright header. 2009-03-13 11:51:55 -07:00
event_pipe.c all: Update copyright header. 2009-03-13 11:51:55 -07:00
event_pipe.h all: Update copyright header. 2009-03-13 11:51:55 -07:00
fifo_buffer.c fifo_buffer: added buffering library 2009-03-14 17:30:00 +01:00
fifo_buffer.h fifo_buffer: added buffering library 2009-03-14 17:30:00 +01:00
gcc.h all: Update copyright header. 2009-03-13 11:51:55 -07:00
icy_metadata.c all: Update copyright header. 2009-03-13 11:51:55 -07:00
icy_metadata.h all: Update copyright header. 2009-03-13 11:51:55 -07:00
idle.c all: Update copyright header. 2009-03-13 11:51:55 -07:00
idle.h all: Update copyright header. 2009-03-13 11:51:55 -07:00
input_plugin.h all: Update copyright header. 2009-03-13 11:51:55 -07:00
input_stream.c all: Update copyright header. 2009-03-13 11:51:55 -07:00
input_stream.h all: Update copyright header. 2009-03-13 11:51:55 -07:00
listen.c socket_util: added socket_bind_listen() 2009-03-14 18:29:38 +01:00
listen.h all: Update copyright header. 2009-03-13 11:51:55 -07:00
locate.c all: Update copyright header. 2009-03-13 11:51:55 -07:00
locate.h all: Update copyright header. 2009-03-13 11:51:55 -07:00
log.c log: removed DEBUG() and FATAL() 2009-03-15 18:23:00 +01:00
log.h log: removed DEBUG() and FATAL() 2009-03-15 18:23:00 +01:00
ls.c all: Update copyright header. 2009-03-13 11:51:55 -07:00
ls.h all: Update copyright header. 2009-03-13 11:51:55 -07:00
main.c log: removed DEBUG() and FATAL() 2009-03-15 18:23:00 +01:00
main.h all: Update copyright header. 2009-03-13 11:51:55 -07:00
mapper.c all: Update copyright header. 2009-03-13 11:51:55 -07:00
mapper.h all: Update copyright header. 2009-03-13 11:51:55 -07:00
mixer_all.c output_plugin: replaced output_plugin.get_mixer() with mixer_plugin 2009-03-26 18:23:23 +01:00
mixer_all.h volume: moved code to mixer_all.c 2009-03-14 11:35:40 +01:00
mixer_api.c mixer: added flag "open" 2009-03-26 19:43:18 +01:00
mixer_api.h mixer: added flag "open" 2009-03-26 19:43:18 +01:00
mixer_control.c mixer: added flag "open" 2009-03-26 19:43:18 +01:00
mixer_control.h mixer: added flag "open" 2009-03-26 19:43:18 +01:00
mixer_list.h mixer_api: moved mixer_plugin imports to mixer_list.h 2009-03-14 11:36:59 +01:00
mixer_plugin.h mixer: added flag "open" 2009-03-26 19:43:18 +01:00
normalize.c all: Update copyright header. 2009-03-13 11:51:55 -07:00
normalize.h all: Update copyright header. 2009-03-13 11:51:55 -07:00
notify.c all: Update copyright header. 2009-03-13 11:51:55 -07:00
notify.h all: Update copyright header. 2009-03-13 11:51:55 -07:00
output_all.c output_all: synchronize playback with a notify object 2009-03-25 18:04:41 +01:00
output_all.h output_all: moved code to audio_output_all_wait() 2009-03-25 18:00:31 +01:00
output_api.h all: Update copyright header. 2009-03-13 11:51:55 -07:00
output_command.c output_plugin: replaced output_plugin.get_mixer() with mixer_plugin 2009-03-26 18:23:23 +01:00
output_command.h all: Update copyright header. 2009-03-13 11:51:55 -07:00
output_control.c mixer: added flag "open" 2009-03-26 19:43:18 +01:00
output_control.h all: Update copyright header. 2009-03-13 11:51:55 -07:00
output_init.c output_plugin: replaced output_plugin.get_mixer() with mixer_plugin 2009-03-26 18:23:23 +01:00
output_internal.h output_plugin: replaced output_plugin.get_mixer() with mixer_plugin 2009-03-26 18:23:23 +01:00
output_list.c move printAllOutputPluginTypes to output_list.c 2009-03-21 09:45:42 +01:00
output_list.h move printAllOutputPluginTypes to output_list.c 2009-03-21 09:45:42 +01:00
output_plugin.h output_plugin: replaced output_plugin.get_mixer() with mixer_plugin 2009-03-26 18:23:23 +01:00
output_print.c all: Update copyright header. 2009-03-13 11:51:55 -07:00
output_print.h all: Update copyright header. 2009-03-13 11:51:55 -07:00
output_state.c all: Update copyright header. 2009-03-13 11:51:55 -07:00
output_state.h all: Update copyright header. 2009-03-13 11:51:55 -07:00
output_thread.c output_all: synchronize playback with a notify object 2009-03-25 18:04:41 +01:00
output_thread.h all: Update copyright header. 2009-03-13 11:51:55 -07:00
page.c page: added page_new_concat() 2009-03-17 20:51:33 +01:00
page.h page: added page_new_concat() 2009-03-17 20:51:33 +01:00
path.c all: Update copyright header. 2009-03-13 11:51:55 -07:00
path.h all: Update copyright header. 2009-03-13 11:51:55 -07:00
pcm_buffer.h all: Update copyright header. 2009-03-13 11:51:55 -07:00
pcm_channels.c all: Update copyright header. 2009-03-13 11:51:55 -07:00
pcm_channels.h all: Update copyright header. 2009-03-13 11:51:55 -07:00
pcm_convert.c pcm_convert: return NULL on failure 2009-03-14 14:36:44 +01:00
pcm_convert.h all: Update copyright header. 2009-03-13 11:51:55 -07:00
pcm_dither.c all: Update copyright header. 2009-03-13 11:51:55 -07:00
pcm_dither.h all: Update copyright header. 2009-03-13 11:51:55 -07:00
pcm_format.c all: Update copyright header. 2009-03-13 11:51:55 -07:00
pcm_format.h all: Update copyright header. 2009-03-13 11:51:55 -07:00
pcm_mix.c all: Update copyright header. 2009-03-13 11:51:55 -07:00
pcm_mix.h all: Update copyright header. 2009-03-13 11:51:55 -07:00
pcm_prng.h all: Update copyright header. 2009-03-13 11:51:55 -07:00
pcm_resample_fallback.c pcm_resample: renamed implementation functions 2009-03-14 15:26:28 +01:00
pcm_resample_internal.h pcm_resample: choose the fallback resampler at runtime 2009-03-14 15:26:36 +01:00
pcm_resample_libsamplerate.c pcm_resample: renamed implementation functions 2009-03-14 15:26:28 +01:00
pcm_resample.c pcm_resample: choose the fallback resampler at runtime 2009-03-14 15:26:36 +01:00
pcm_resample.h all: Update copyright header. 2009-03-13 11:51:55 -07:00
pcm_utils.h all: Update copyright header. 2009-03-13 11:51:55 -07:00
pcm_volume.c pcm_volume: use #ifdef instead of #if __i386__ 2009-03-14 14:39:48 +01:00
pcm_volume.h all: Update copyright header. 2009-03-13 11:51:55 -07:00
permission.c log: removed DEBUG() and FATAL() 2009-03-15 18:23:00 +01:00
permission.h all: Update copyright header. 2009-03-13 11:51:55 -07:00
pipe.c all: Update copyright header. 2009-03-13 11:51:55 -07:00
pipe.h all: Update copyright header. 2009-03-13 11:51:55 -07:00
player_control.c all: Update copyright header. 2009-03-13 11:51:55 -07:00
player_control.h all: Update copyright header. 2009-03-13 11:51:55 -07:00
player_thread.c player_thread: wait for decoder before seeking 2009-03-25 19:48:14 +01:00
player_thread.h all: Update copyright header. 2009-03-13 11:51:55 -07:00
playlist_control.c all: Update copyright header. 2009-03-13 11:51:55 -07:00
playlist_edit.c all: Update copyright header. 2009-03-13 11:51:55 -07:00
playlist_global.c all: Update copyright header. 2009-03-13 11:51:55 -07:00
playlist_internal.h all: Update copyright header. 2009-03-13 11:51:55 -07:00
playlist_print.c all: Update copyright header. 2009-03-13 11:51:55 -07:00
playlist_print.h all: Update copyright header. 2009-03-13 11:51:55 -07:00
playlist_save.c all: Update copyright header. 2009-03-13 11:51:55 -07:00
playlist_save.h all: Update copyright header. 2009-03-13 11:51:55 -07:00
playlist_state.c playlist_state: start playing after restore is complete 2009-03-25 19:45:57 +01:00
playlist_state.h all: Update copyright header. 2009-03-13 11:51:55 -07:00
playlist.c all: Update copyright header. 2009-03-13 11:51:55 -07:00
playlist.h all: Update copyright header. 2009-03-13 11:51:55 -07:00
poison.h all: Update copyright header. 2009-03-13 11:51:55 -07:00
queue_print.c all: Update copyright header. 2009-03-13 11:51:55 -07:00
queue_print.h all: Update copyright header. 2009-03-13 11:51:55 -07:00
queue_save.c all: Update copyright header. 2009-03-13 11:51:55 -07:00
queue_save.h all: Update copyright header. 2009-03-13 11:51:55 -07:00
queue.c all: Update copyright header. 2009-03-13 11:51:55 -07:00
queue.h all: Update copyright header. 2009-03-13 11:51:55 -07:00
replay_gain.c all: Update copyright header. 2009-03-13 11:51:55 -07:00
replay_gain.h all: Update copyright header. 2009-03-13 11:51:55 -07:00
riff.c all: Update copyright header. 2009-03-13 11:51:55 -07:00
riff.h all: Update copyright header. 2009-03-13 11:51:55 -07:00
sig_handlers.c log: removed DEBUG() and FATAL() 2009-03-15 18:23:00 +01:00
sig_handlers.h all: Update copyright header. 2009-03-13 11:51:55 -07:00
socket_util.c socket_util: use g_strerror() instead of strerror() 2009-03-16 11:59:26 +01:00
socket_util.h socket_util: added socket_bind_listen() 2009-03-14 18:29:38 +01:00
song_print.c all: Update copyright header. 2009-03-13 11:51:55 -07:00
song_print.h all: Update copyright header. 2009-03-13 11:51:55 -07:00
song_save.c log: removed DEBUG() and FATAL() 2009-03-15 18:23:00 +01:00
song_save.h all: Update copyright header. 2009-03-13 11:51:55 -07:00
song_sticker.c sticker: don't export sticker_list_values() 2009-03-14 14:20:08 +01:00
song_sticker.h sticker: don't export sticker_list_values() 2009-03-14 14:20:08 +01:00
song.c all: Update copyright header. 2009-03-13 11:51:55 -07:00
song.h all: Update copyright header. 2009-03-13 11:51:55 -07:00
songvec.c all: Update copyright header. 2009-03-13 11:51:55 -07:00
songvec.h all: Update copyright header. 2009-03-13 11:51:55 -07:00
state_file.c all: Update copyright header. 2009-03-13 11:51:55 -07:00
state_file.h all: Update copyright header. 2009-03-13 11:51:55 -07:00
stats.c all: Update copyright header. 2009-03-13 11:51:55 -07:00
stats.h all: Update copyright header. 2009-03-13 11:51:55 -07:00
sticker.c sticker: sticker_load_value() returns NULL on error, not false 2009-03-14 14:29:54 +01:00
sticker.h sticker: don't export sticker_list_values() 2009-03-14 14:20:08 +01:00
stored_playlist.c all: Update copyright header. 2009-03-13 11:51:55 -07:00
stored_playlist.h all: Update copyright header. 2009-03-13 11:51:55 -07:00
strset.c all: Update copyright header. 2009-03-13 11:51:55 -07:00
strset.h all: Update copyright header. 2009-03-13 11:51:55 -07:00
tag_ape.c all: Update copyright header. 2009-03-13 11:51:55 -07:00
tag_ape.h all: Update copyright header. 2009-03-13 11:51:55 -07:00
tag_id3.c all: Update copyright header. 2009-03-13 11:51:55 -07:00
tag_id3.h all: Update copyright header. 2009-03-13 11:51:55 -07:00
tag_internal.h all: Update copyright header. 2009-03-13 11:51:55 -07:00
tag_pool.c tag_pool: make "slots" static 2009-03-14 14:38:48 +01:00
tag_pool.h all: Update copyright header. 2009-03-13 11:51:55 -07:00
tag_print.c all: Update copyright header. 2009-03-13 11:51:55 -07:00
tag_print.h all: Update copyright header. 2009-03-13 11:51:55 -07:00
tag_save.c all: Update copyright header. 2009-03-13 11:51:55 -07:00
tag_save.h all: Update copyright header. 2009-03-13 11:51:55 -07:00
tag.c log: removed DEBUG() and FATAL() 2009-03-15 18:23:00 +01:00
tag.h all: Update copyright header. 2009-03-13 11:51:55 -07:00
timer.c all: Update copyright header. 2009-03-13 11:51:55 -07:00
timer.h all: Update copyright header. 2009-03-13 11:51:55 -07:00
update.c Removed superfluous if statement in update.c:453 2009-03-14 09:33:55 +01:00
update.h all: Update copyright header. 2009-03-13 11:51:55 -07:00
uri.c all: Update copyright header. 2009-03-13 11:51:55 -07:00
uri.h all: Update copyright header. 2009-03-13 11:51:55 -07:00
utils.c all: Update copyright header. 2009-03-13 11:51:55 -07:00
utils.h all: Update copyright header. 2009-03-13 11:51:55 -07:00
volume.c mixer_api: moved functions to mixer_control.c 2009-03-14 11:36:50 +01:00
volume.h volume: use bool instead of int 2009-03-14 11:10:21 +01:00
zeroconf-avahi.c all: Update copyright header. 2009-03-13 11:51:55 -07:00
zeroconf-bonjour.c all: Update copyright header. 2009-03-13 11:51:55 -07:00
zeroconf-internal.h all: Update copyright header. 2009-03-13 11:51:55 -07:00
zeroconf.c all: Update copyright header. 2009-03-13 11:51:55 -07:00
zeroconf.h all: Update copyright header. 2009-03-13 11:51:55 -07:00