• Max Kellermann's avatar
    output/alsa: fill period buffer with silence before draining · 54033c74
    Max Kellermann authored
    ALSA passes full period buffers to the hardware.  If an application
    doesn't finish writing a period, libasound will nonetheless send the
    partial buffer (with undefined trailing data).  This causes noise at
    the end of playback.  This patch attempts to track the current
    position within the period buffer, and generates silence at the end,
    before calling snd_pcm_drain().
    54033c74
Name
Last commit
Last update
..
archive Loading commit data...
cue Loading commit data...
decoder Loading commit data...
encoder Loading commit data...
filter Loading commit data...
input Loading commit data...
mixer Loading commit data...
output Loading commit data...
playlist Loading commit data...
ack.h Loading commit data...
aiff.c Loading commit data...
aiff.h Loading commit data...
archive_api.c Loading commit data...
archive_api.h Loading commit data...
archive_internal.h Loading commit data...
archive_list.c Loading commit data...
archive_list.h Loading commit data...
audio.c Loading commit data...
audio.h Loading commit data...
audio_format.h Loading commit data...
audio_parser.c Loading commit data...
audio_parser.h Loading commit data...
buffer.c Loading commit data...
buffer.h Loading commit data...
chunk.c Loading commit data...
chunk.h Loading commit data...
client.c Loading commit data...
client.h Loading commit data...
client_event.c Loading commit data...
client_expire.c Loading commit data...
client_global.c Loading commit data...
client_idle.c Loading commit data...
client_internal.h Loading commit data...
client_list.c Loading commit data...
client_new.c Loading commit data...
client_process.c Loading commit data...
client_read.c Loading commit data...
client_write.c Loading commit data...
cmdline.c Loading commit data...
cmdline.h Loading commit data...
command.c Loading commit data...
command.h Loading commit data...
compress.c Loading commit data...
compress.h Loading commit data...
conf.c Loading commit data...
conf.h Loading commit data...
crossfade.c Loading commit data...
crossfade.h Loading commit data...
daemon.c Loading commit data...
daemon.h Loading commit data...
database.c Loading commit data...
database.h Loading commit data...
dbUtils.c Loading commit data...
dbUtils.h Loading commit data...
decoder_api.c Loading commit data...
decoder_api.h Loading commit data...
decoder_buffer.c Loading commit data...
decoder_buffer.h Loading commit data...
decoder_command.h Loading commit data...
decoder_control.c Loading commit data...
decoder_control.h Loading commit data...
decoder_internal.c Loading commit data...
decoder_internal.h Loading commit data...
decoder_list.c Loading commit data...
decoder_list.h Loading commit data...
decoder_plugin.c Loading commit data...
decoder_plugin.h Loading commit data...
decoder_print.c Loading commit data...
decoder_print.h Loading commit data...
decoder_thread.c Loading commit data...
decoder_thread.h Loading commit data...
directory.c Loading commit data...
directory.h Loading commit data...
directory_print.c Loading commit data...
directory_print.h Loading commit data...
directory_save.c Loading commit data...
directory_save.h Loading commit data...
dirvec.c Loading commit data...
dirvec.h Loading commit data...
encoder_api.h Loading commit data...
encoder_list.c Loading commit data...
encoder_list.h Loading commit data...
encoder_plugin.h Loading commit data...
event_pipe.c Loading commit data...
event_pipe.h Loading commit data...
exclude.c Loading commit data...
exclude.h Loading commit data...
fd_util.c Loading commit data...
fd_util.h Loading commit data...
fifo_buffer.c Loading commit data...
fifo_buffer.h Loading commit data...
filter_internal.h Loading commit data...
filter_plugin.c Loading commit data...
filter_plugin.h Loading commit data...
filter_registry.c Loading commit data...
filter_registry.h Loading commit data...
gcc.h Loading commit data...
icy_metadata.c Loading commit data...
icy_metadata.h Loading commit data...
icy_server.c Loading commit data...
icy_server.h Loading commit data...
idle.c Loading commit data...
idle.h Loading commit data...
inotify_queue.c Loading commit data...
inotify_queue.h Loading commit data...
inotify_source.c Loading commit data...
inotify_source.h Loading commit data...
inotify_update.c Loading commit data...
inotify_update.h Loading commit data...
input_plugin.h Loading commit data...
input_stream.c Loading commit data...
input_stream.h Loading commit data...
listen.c Loading commit data...
listen.h Loading commit data...
locate.c Loading commit data...
locate.h Loading commit data...
log.c Loading commit data...
log.h Loading commit data...
ls.c Loading commit data...
ls.h Loading commit data...
main.c Loading commit data...
main.h Loading commit data...
mapper.c Loading commit data...
mapper.h Loading commit data...
mixer_all.c Loading commit data...
mixer_all.h Loading commit data...
mixer_api.c Loading commit data...
mixer_api.h Loading commit data...
mixer_control.c Loading commit data...
mixer_control.h Loading commit data...
mixer_list.h Loading commit data...
mixer_plugin.h Loading commit data...
mixer_type.c Loading commit data...
mixer_type.h Loading commit data...
normalize.c Loading commit data...
normalize.h Loading commit data...
notify.c Loading commit data...
notify.h Loading commit data...
output_all.c Loading commit data...
output_all.h Loading commit data...
output_api.h Loading commit data...
output_command.c Loading commit data...
output_command.h Loading commit data...
output_control.c Loading commit data...
output_control.h Loading commit data...
output_init.c Loading commit data...
output_internal.h Loading commit data...
output_list.c Loading commit data...
output_list.h Loading commit data...
output_plugin.h Loading commit data...
output_print.c Loading commit data...
output_print.h Loading commit data...
output_state.c Loading commit data...
output_state.h Loading commit data...
output_thread.c Loading commit data...
output_thread.h Loading commit data...
page.c Loading commit data...
page.h Loading commit data...
path.c Loading commit data...
path.h Loading commit data...
pcm_buffer.h Loading commit data...
pcm_byteswap.c Loading commit data...
pcm_byteswap.h Loading commit data...
pcm_channels.c Loading commit data...
pcm_channels.h Loading commit data...
pcm_convert.c Loading commit data...
pcm_convert.h Loading commit data...
pcm_dither.c Loading commit data...
pcm_dither.h Loading commit data...
pcm_format.c Loading commit data...
pcm_format.h Loading commit data...
pcm_mix.c Loading commit data...
pcm_mix.h Loading commit data...
pcm_prng.h Loading commit data...
pcm_resample.c Loading commit data...
pcm_resample.h Loading commit data...
pcm_resample_fallback.c Loading commit data...
pcm_resample_internal.h Loading commit data...
pcm_resample_libsamplerate.c Loading commit data...
pcm_utils.h Loading commit data...
pcm_volume.c Loading commit data...
pcm_volume.h Loading commit data...
permission.c Loading commit data...
permission.h Loading commit data...
pipe.c Loading commit data...
pipe.h Loading commit data...
player_control.c Loading commit data...
player_control.h Loading commit data...
player_thread.c Loading commit data...
player_thread.h Loading commit data...
playlist.c Loading commit data...
playlist.h Loading commit data...
playlist_control.c Loading commit data...
playlist_edit.c Loading commit data...
playlist_global.c Loading commit data...
playlist_internal.h Loading commit data...
playlist_list.c Loading commit data...
playlist_list.h Loading commit data...
playlist_plugin.h Loading commit data...
playlist_print.c Loading commit data...
playlist_print.h Loading commit data...
playlist_queue.c Loading commit data...
playlist_queue.h Loading commit data...
playlist_save.c Loading commit data...
playlist_save.h Loading commit data...
playlist_state.c Loading commit data...
playlist_state.h Loading commit data...
poison.h Loading commit data...
queue.c Loading commit data...
queue.h Loading commit data...
queue_print.c Loading commit data...
queue_print.h Loading commit data...
queue_save.c Loading commit data...
queue_save.h Loading commit data...
replay_gain.c Loading commit data...
replay_gain.h Loading commit data...
riff.c Loading commit data...
riff.h Loading commit data...
sig_handlers.c Loading commit data...
sig_handlers.h Loading commit data...
socket_util.c Loading commit data...
socket_util.h Loading commit data...
song.c Loading commit data...
song.h Loading commit data...
song_print.c Loading commit data...
song_print.h Loading commit data...
song_save.c Loading commit data...
song_save.h Loading commit data...
song_sticker.c Loading commit data...
song_sticker.h Loading commit data...
song_update.c Loading commit data...
songvec.c Loading commit data...
songvec.h Loading commit data...
state_file.c Loading commit data...
state_file.h Loading commit data...
stats.c Loading commit data...
stats.h Loading commit data...
sticker.c Loading commit data...
sticker.h Loading commit data...
sticker_print.c Loading commit data...
sticker_print.h Loading commit data...
stored_playlist.c Loading commit data...
stored_playlist.h Loading commit data...
strset.c Loading commit data...
strset.h Loading commit data...
tag.c Loading commit data...
tag.h Loading commit data...
tag_ape.c Loading commit data...
tag_ape.h Loading commit data...
tag_id3.c Loading commit data...
tag_id3.h Loading commit data...
tag_internal.h Loading commit data...
tag_pool.c Loading commit data...
tag_pool.h Loading commit data...
tag_print.c Loading commit data...
tag_print.h Loading commit data...
tag_save.c Loading commit data...
tag_save.h Loading commit data...
text_file.c Loading commit data...
text_file.h Loading commit data...
text_input_stream.c Loading commit data...
text_input_stream.h Loading commit data...
timer.c Loading commit data...
timer.h Loading commit data...
tokenizer.c Loading commit data...
tokenizer.h Loading commit data...
update.c Loading commit data...
update.h Loading commit data...
update_internal.h Loading commit data...
update_queue.c Loading commit data...
update_remove.c Loading commit data...
update_walk.c Loading commit data...
uri.c Loading commit data...
uri.h Loading commit data...
utils.c Loading commit data...
utils.h Loading commit data...
volume.c Loading commit data...
volume.h Loading commit data...
zeroconf-avahi.c Loading commit data...
zeroconf-bonjour.c Loading commit data...
zeroconf-internal.h Loading commit data...
zeroconf.c Loading commit data...
zeroconf.h Loading commit data...