output: play from a music_pipe object

Instead of passing individual buffers to audio_output_all_play(), pass
music_chunk objects.  Append all those chunks asynchronously to a
music_pipe instance.  All output threads may then read chunks from
this pipe.  This reduces MPD's internal latency by an order of
magnitude.
This commit is contained in:
Max Kellermann
2009-03-09 19:25:26 +01:00
parent ab3d7c29da
commit 3291666b57
8 changed files with 381 additions and 116 deletions

View File

@@ -124,6 +124,7 @@ audio_output_init(struct audio_output *ao, const struct config_param *param,
ao->thread = NULL;
notify_init(&ao->notify);
ao->command = AO_COMMAND_NONE;
ao->mutex = g_mutex_new();
ao->data = ao_plugin_init(plugin,
format ? &ao->config_audio_format : NULL,