aboutsummaryrefslogtreecommitdiffstats
path: root/src/output_control.h
diff options
context:
space:
mode:
authorMax Kellermann <max@duempel.org>2009-03-09 19:25:26 +0100
committerMax Kellermann <max@duempel.org>2009-03-09 19:25:26 +0100
commit3291666b570b1d20f59db42936eaa37dbeb9ca65 (patch)
treec3905d60131c9f440d8ca7d7d1ec45cecce02d85 /src/output_control.h
parentab3d7c29dae44f39df28c85e26b108c44fdbc4bf (diff)
downloadmpd-3291666b570b1d20f59db42936eaa37dbeb9ca65.tar.gz
mpd-3291666b570b1d20f59db42936eaa37dbeb9ca65.tar.xz
mpd-3291666b570b1d20f59db42936eaa37dbeb9ca65.zip
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.
Diffstat (limited to '')
-rw-r--r--src/output_control.h9
1 files changed, 4 insertions, 5 deletions
diff --git a/src/output_control.h b/src/output_control.h
index fe3233e69..511aa1204 100644
--- a/src/output_control.h
+++ b/src/output_control.h
@@ -26,8 +26,8 @@
struct audio_output;
struct audio_format;
-struct tag;
struct config_param;
+struct music_pipe;
static inline GQuark
audio_output_quark(void)
@@ -46,7 +46,8 @@ audio_output_init(struct audio_output *ao, const struct config_param *param,
*/
bool
audio_output_update(struct audio_output *ao,
- const struct audio_format *audio_format);
+ const struct audio_format *audio_format,
+ const struct music_pipe *mp);
/**
* Wakes up the audio output thread. This is part of a workaround for
@@ -57,14 +58,12 @@ void
audio_output_signal(struct audio_output *ao);
void
-audio_output_play(struct audio_output *ao, const void *chunk, size_t size);
+audio_output_play(struct audio_output *ao);
void audio_output_pause(struct audio_output *ao);
void audio_output_cancel(struct audio_output *ao);
void audio_output_close(struct audio_output *ao);
void audio_output_finish(struct audio_output *ao);
-void
-audio_output_send_tag(struct audio_output *ao, const struct tag *tag);
#endif