diff options
author | Max Kellermann <max@duempel.org> | 2009-03-09 19:25:26 +0100 |
---|---|---|
committer | Max Kellermann <max@duempel.org> | 2009-03-09 19:25:26 +0100 |
commit | 3291666b570b1d20f59db42936eaa37dbeb9ca65 (patch) | |
tree | c3905d60131c9f440d8ca7d7d1ec45cecce02d85 /src/output_control.h | |
parent | ab3d7c29dae44f39df28c85e26b108c44fdbc4bf (diff) | |
download | mpd-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.h | 9 |
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 |