mpd/src
Max Kellermann b14e48f930 player_thread: request next song only if new one starts playing
The player_thread loop requests the next song from the playlist as
soon as the decoder finishes the song which is currently being played.
This is superfluous, and can lead to synchronization errors and wrong
results.  The playlist already knows when the player starts playing
the next song (player_wait_for_decoder() triggers the PLAYLIST event),
and will then trigger the scheduler to provide the next song.
2009-01-21 16:17:57 +01:00
..
archive archiveapi: adding seeking support in zip archives 2009-01-21 06:44:57 +01:00
decoder flac: include config.h 2009-01-19 09:54:47 +01:00
mixer conf: added config_get_block_string() 2009-01-18 19:37:27 +01:00
output conf: added config_get_block_unsigned() 2009-01-18 19:45:51 +01:00
ack.h added prefix to header macros 2008-10-31 09:19:53 +01:00
archive_api.c archive: use GLib instead of utils.h 2009-01-02 16:22:40 +01:00
archive_api.h new archive api, input_archive stream 2008-12-16 21:42:34 +01:00
archive_internal.h new archive api, input_archive stream 2008-12-16 21:42:34 +01:00
archive_list.c added missing explicit config.h includes 2009-01-08 21:37:02 +01:00
archive_list.h new archive api, input_archive stream 2008-12-16 21:42:34 +01:00
audio_format.h audio_format: added audio_format_valid() 2008-11-21 20:27:05 +01:00
audio.c conf: no CamelCase, part I 2009-01-17 20:23:27 +01:00
audio.h conf: no CamelCase, part I 2009-01-17 20:23:27 +01:00
audioOutput.c output: moved code from audioOutput.c to output_control.c 2008-09-09 10:02:34 +02:00
audioOutput.h added prefix to header macros 2008-10-31 09:19:53 +01:00
buffer2array.c buffer2array: use GLib's g_ascii_isspace() 2008-12-28 19:54:39 +01:00
buffer2array.h added prefix to header macros 2008-10-31 09:19:53 +01:00
client.c use config_get_positive() instead of manual parsing 2009-01-21 08:48:02 +01:00
client.h client: run client_manager_expire() in an idle event 2008-12-31 14:30:03 +01:00
cmdline.c conf: no CamelCase, part I 2009-01-17 20:23:27 +01:00
cmdline.h cmdline: use gboolean instead of int 2008-12-27 19:35:30 +01:00
command.c Add space after sticker: to make it consistent. 2009-01-20 13:55:21 +01:00
command.h replaced mpd_printf etc by G_GNUC_PRINTF 2008-12-02 03:00:02 +01:00
compress.c compress: use GLib instead of utils.h 2009-01-03 14:52:59 +01:00
compress.h added prefix to header macros 2008-10-31 09:19:53 +01:00
conf.c conf: added config_get_positive() 2009-01-21 08:46:59 +01:00
conf.h conf: added config_get_positive() 2009-01-21 08:46:59 +01:00
crossfade.c pcm_utils: moved code to pcm_mix.c 2009-01-07 18:06:22 +01:00
crossfade.h music_pipe: renamed struct output_buffer to struct music_pipe 2008-11-02 14:15:47 +01:00
daemon.c daemon: removed unused variable "userpwd" 2009-01-18 18:42:44 +01:00
daemon.h daemon: pass "detach" flag to daemonize() 2009-01-18 18:29:30 +01:00
database.c mapper: make the music_directory optional 2009-01-18 16:56:07 +01:00
database.h mapper: make the music_directory optional 2009-01-18 16:56:07 +01:00
dbUtils.c stats: use one db_walk() to obtain stats 2009-01-18 15:40:50 +01:00
dbUtils.h stats: use one db_walk() to obtain stats 2009-01-18 15:40:50 +01:00
decoder_api.c decoder_api: always notify_wait() for free chunks 2009-01-17 15:23:57 +01:00
decoder_api.h removed playerData.c 2009-01-18 17:32:43 +01:00
decoder_control.c decoder: terminate decoder thread before MPD cleanup 2008-12-28 19:48:53 +01:00
decoder_control.h decoder: terminate decoder thread before MPD cleanup 2008-12-28 19:48:53 +01:00
decoder_internal.h pcm_utils: moved conversion code to pcm_convert.c 2009-01-07 18:53:36 +01:00
decoder_list.c flac: no CamelCase 2009-01-15 19:50:28 +01:00
decoder_list.h print supported decoders in --version 2008-12-30 14:17:15 +01:00
decoder_thread.c pcm: added pcm_convert_deinit(), pcm_resample_deinit() 2009-01-07 22:20:30 +01:00
decoder_thread.h added prefix to header macros 2008-10-31 09:19:53 +01:00
directory_print.c directory: moved dirvec struct declaration to dirvec.h 2008-10-09 15:24:05 +02:00
directory_print.h added prefix to header macros 2008-10-31 09:19:53 +01:00
directory_save.c directory: added directory_is_root() 2009-01-04 19:08:52 +01:00
directory_save.h added prefix to header macros 2008-10-31 09:19:53 +01:00
directory.c directory: use GLib instead of utils.h 2009-01-02 16:26:19 +01:00
directory.h directory: added directory_is_root() 2009-01-04 19:08:52 +01:00
dirvec.c dirvec, songvec: sort using g_utf8_collate() 2009-01-15 00:09:18 +01:00
dirvec.h dirvec: migrate from pthread to glib threads 2008-12-28 21:02:30 +01:00
event_pipe.c event_pipe: remove the GLib source from the main context 2009-01-10 18:55:36 +01:00
event_pipe.h event_pipe: added "TAG" event 2009-01-20 22:49:19 +01:00
gcc.h gcc.h: removed all duplicate macros 2009-01-01 18:09:28 +01:00
icy_metadata.c input_curl: enabled Icy-Metadata support 2009-01-03 23:55:03 +01:00
icy_metadata.h added library for parsing icy-metadata 2009-01-03 23:35:30 +01:00
idle.c event_pipe: added pipe_event enum and callbacks 2009-01-01 18:22:11 +01:00
idle.h idle: migrate from pthread to glib threads 2008-12-28 21:02:14 +01:00
input_archive.c don't include utils.h when it isn't used 2009-01-03 14:52:56 +01:00
input_archive.h new archive api, input_archive stream 2008-12-16 21:42:34 +01:00
input_curl.c conf: no CamelCase, part I 2009-01-17 20:23:27 +01:00
input_curl.h input_stream: added struct input_plugin 2008-10-26 20:38:44 +01:00
input_file.c input_file.c: replaced mpd_unused by G_GNUC_UNUSED 2008-11-24 14:33:46 +01:00
input_file.h added prefix to header macros 2008-10-31 09:19:53 +01:00
input_stream.c input_stream: added tag() method 2009-01-03 23:29:45 +01:00
input_stream.h input_stream: added tag() method 2009-01-03 23:29:45 +01:00
listen.c use config_get_positive() instead of manual parsing 2009-01-21 08:48:02 +01:00
listen.h main: use the GLib main loop 2008-12-30 19:24:39 +01:00
locate.c locate: fix strcmp() return value check 2009-01-05 12:50:04 +01:00
locate.h added prefix to header macros 2008-10-31 09:19:53 +01:00
log.c conf: no CamelCase, part I 2009-01-17 20:23:27 +01:00
log.h log: removed unused logging wrappers 2008-12-29 17:35:42 +01:00
ls.c ls: renamed functions, no CamelCase 2009-01-04 17:46:42 +01:00
ls.h ls: renamed functions, no CamelCase 2009-01-04 17:46:42 +01:00
main.c sticker: new library for storing dynamic information about songs 2009-01-19 18:51:57 +01:00
main.h event_pipe: moved variable "main_task" to main.c 2009-01-03 13:19:01 +01:00
Makefile.am sticker: added song sticker library 2009-01-19 18:54:04 +01:00
mapper.c conf: removed parseConfigFilePath() 2009-01-18 18:59:10 +01:00
mapper.h mapper: make the music_directory optional 2009-01-18 16:56:07 +01:00
mixer_api.c conf: no CamelCase, part I 2009-01-17 20:23:27 +01:00
mixer_api.h conf: no CamelCase, part I 2009-01-17 20:23:27 +01:00
normalize.c conf: use config_get_bool() instead of getBoolConfigParam() 2009-01-17 20:23:33 +01:00
normalize.h added prefix to header macros 2008-10-31 09:19:53 +01:00
notify.c notify: use GLib locking 2008-12-27 20:56:06 +01:00
notify.h notify: use GLib locking 2008-12-27 20:56:06 +01:00
output_api.c output: use bool for return values and flags 2008-10-29 20:40:27 +01:00
output_api.h conf: no CamelCase, part I 2009-01-17 20:23:27 +01:00
output_control.c pcm_convert: return PCM buffer from pcm_convert() 2009-01-17 13:11:16 +01:00
output_control.h output: don't include conf.h from output_control.h 2009-01-18 19:48:31 +01:00
output_init.c conf: no CamelCase, part I 2009-01-17 20:23:27 +01:00
output_internal.h pcm_convert: return PCM buffer from pcm_convert() 2009-01-17 13:11:16 +01:00
output_list.c added missing explicit config.h includes 2009-01-08 21:37:02 +01:00
output_list.h added prefix to header macros 2008-10-31 09:19:53 +01:00
output_thread.c pcm_convert: return PCM buffer from pcm_convert() 2009-01-17 13:11:16 +01:00
output_thread.h added prefix to header macros 2008-10-31 09:19:53 +01:00
path.c conf: no CamelCase, part I 2009-01-17 20:23:27 +01:00
path.h path: include cleanup 2009-01-08 21:29:29 +01:00
pcm_buffer.h pcm_buffer: new library for temporary buffers 2009-01-07 23:56:30 +01:00
pcm_channels.c pcm_channels: use pcm_buffer 2009-01-07 23:56:35 +01:00
pcm_channels.h pcm_channels: use pcm_buffer 2009-01-07 23:56:35 +01:00
pcm_convert.c pcm_convert: return PCM buffer from pcm_convert() 2009-01-17 13:11:16 +01:00
pcm_convert.h pcm_convert: return PCM buffer from pcm_convert() 2009-01-17 13:11:16 +01:00
pcm_dither.c pcm_prng: renamed prng() to pcm_prng() 2009-01-07 18:07:19 +01:00
pcm_dither.h added prefix to header macros 2008-10-31 09:19:53 +01:00
pcm_format.c pcm_format: use the pcm_buffer library 2009-01-07 23:56:34 +01:00
pcm_format.h pcm_format: use the pcm_buffer library 2009-01-07 23:56:34 +01:00
pcm_mix.c pcm: pass void pointers to PCM functions 2009-01-07 19:00:02 +01:00
pcm_mix.h pcm: pass void pointers to PCM functions 2009-01-07 19:00:02 +01:00
pcm_prng.h pcm_prng: renamed prng() to pcm_prng() 2009-01-07 18:07:19 +01:00
pcm_resample_fallback.c pcm_resample_fallback: corrected the sample calculation 2009-01-16 18:52:01 +01:00
pcm_resample_libsamplerate.c conf: replaced getConfigParamValue() with config_get_string() 2009-01-17 20:23:58 +01:00
pcm_resample.c pcm_resample: use pcm_buffer (2/2) 2009-01-08 00:47:04 +01:00
pcm_resample.h pcm_resample: use pcm_buffer (2/2) 2009-01-08 00:47:04 +01:00
pcm_utils.h pcm_utils: moved conversion code to pcm_convert.c 2009-01-07 18:53:36 +01:00
pcm_volume.c pcm: pass void pointers to PCM functions 2009-01-07 19:00:02 +01:00
pcm_volume.h pcm_volume: changed PCM_VOLUME_1 to 1024 2009-01-07 21:40:35 +01:00
permission.c conf: no CamelCase, part I 2009-01-17 20:23:27 +01:00
permission.h added prefix to header macros 2008-10-31 09:19:53 +01:00
pipe.c music_pipe: removed music_pipe_append() 2009-01-17 13:11:11 +01:00
pipe.h music_pipe: removed music_pipe_append() 2009-01-17 13:11:11 +01:00
player_control.c pcm_utils: moved code to pcm_volume.c 2009-01-07 18:05:38 +01:00
player_control.h player_control: fix shadow warning with older gcc 2009-01-16 17:11:18 +01:00
player_thread.c player_thread: request next song only if new one starts playing 2009-01-21 16:17:57 +01:00
player_thread.h added prefix to header macros 2008-10-31 09:19:53 +01:00
playlist_save.c path: allocate buffer in fs_charset conversion functions 2009-01-08 21:20:46 +01:00
playlist_save.h added prefix to header macros 2008-10-31 09:19:53 +01:00
playlist.c use config_get_positive() instead of manual parsing 2009-01-21 08:48:02 +01:00
playlist.h event_pipe: added "TAG" event 2009-01-20 22:49:19 +01:00
replay_gain.c conf: no CamelCase, part I 2009-01-17 20:23:27 +01:00
replay_gain.h replay_gain: converted struct replay_gain_info elements to an array 2008-11-11 16:24:27 +01:00
sig_handlers.c sig_handlers: disable on WIN32 2009-01-03 12:29:42 +01:00
sig_handlers.h sig_handlers: use event_pipe for delivering SIGHUP 2009-01-01 18:51:17 +01:00
song_print.c directory: added directory_is_root() 2009-01-04 19:08:52 +01:00
song_print.h added prefix to header macros 2008-10-31 09:19:53 +01:00
song_save.c song_save: don't fail on empty tag values 2009-01-14 13:44:14 +01:00
song_save.h added prefix to header macros 2008-10-31 09:19:53 +01:00
song_sticker.c sticker: added song sticker library 2009-01-19 18:54:04 +01:00
song_sticker.h sticker: added song sticker library 2009-01-19 18:54:04 +01:00
song.c song: skip archive check for non-musicdir files 2009-01-17 19:56:36 +01:00
song.h song: allocate the result of song_get_url() 2009-01-04 19:09:34 +01:00
songvec.c songvec: sort songs by disc and track number 2009-01-15 00:22:30 +01:00
songvec.h songvec: migrate from pthread to glib threads 2008-12-28 21:02:42 +01:00
state_file.c main: moved the save_state timer to state_file.c 2009-01-18 18:10:15 +01:00
state_file.h state_file: added state_file_init() and state_file_finish() 2009-01-18 18:09:50 +01:00
stats.c stats: use GTimer instead of time(NULL) 2009-01-18 15:40:53 +01:00
stats.h stats: use GTimer instead of time(NULL) 2009-01-18 15:40:53 +01:00
sticker.c sticker: new library for storing dynamic information about songs 2009-01-19 18:51:57 +01:00
sticker.h sticker: new library for storing dynamic information about songs 2009-01-19 18:51:57 +01:00
stored_playlist.c mapper: make the playlist directory optional 2009-01-18 16:15:45 +01:00
stored_playlist.h stored_playlist: include time.h for the time_t type 2008-12-04 23:19:31 +01:00
strset.c strset: use GLib instead of utils.h 2009-01-03 13:38:48 +01:00
strset.h replaced mpd_malloc by G_GNUC_MALLOC 2008-12-02 02:33:24 +01:00
tag_id3.c conf: replaced getConfigParamValue() with config_get_string() 2009-01-17 20:23:58 +01:00
tag_id3.h added missing explicit config.h includes 2009-01-08 21:37:02 +01:00
tag_internal.h added prefix to header macros 2008-10-31 09:19:53 +01:00
tag_pool.c tag_pool: use GLib instead of utils.h 2009-01-03 14:51:37 +01:00
tag_pool.h tag & tag_pool: migrate from pthread to glib threads 2008-12-28 22:09:42 +01:00
tag_print.c pass "struct client" to dbUtils.c, song.c, tag_print.c 2008-09-07 13:53:55 +02:00
tag_print.h added prefix to header macros 2008-10-31 09:19:53 +01:00
tag_save.c tag: added buffered versions of the tag_print.c code 2008-09-07 13:36:05 +02:00
tag_save.h added prefix to header macros 2008-10-31 09:19:53 +01:00
tag.c conf: no CamelCase, part I 2009-01-17 20:23:27 +01:00
tag.h tag: added tag_is_defined() 2009-01-15 22:00:26 +01:00
timer.c timer: use GLib instead of utils.h 2009-01-03 14:52:53 +01:00
timer.h don't include os_compat.h 2008-10-08 10:49:29 +02:00
update.c update: delete stickers of deleted songs 2009-01-19 19:01:34 +01:00
update.h event_pipe: added pipe_event enum and callbacks 2009-01-01 18:22:11 +01:00
utils.c conf: no CamelCase, part I 2009-01-17 20:23:27 +01:00
utils.h utils: removed unused functions 2009-01-03 14:53:42 +01:00
volume.c conf: no CamelCase, part I 2009-01-17 20:23:27 +01:00
volume.h Moving mixers to audio outputs 2008-12-31 16:46:41 +01:00
zeroconf-avahi.c don't include utils.h when it isn't used 2009-01-03 14:52:56 +01:00
zeroconf-bonjour.c main: use the GLib main loop 2008-12-30 19:24:39 +01:00
zeroconf-internal.h zeroconf: moved code to zeroconf-avahi.c and zeroconf-bonjour.c 2008-12-30 16:43:58 +01:00
zeroconf.c conf: use config_get_bool() instead of getBoolConfigParam() 2009-01-17 20:23:33 +01:00
zeroconf.h removed os_compat.h 2008-12-29 17:28:32 +01:00