diff options
author | Max Kellermann <max@duempel.org> | 2010-11-05 09:42:14 +0100 |
---|---|---|
committer | Max Kellermann <max@duempel.org> | 2010-11-05 09:49:22 +0100 |
commit | 90dc880e67bcadd50a05afdd60d33545e699e2f4 (patch) | |
tree | 93201a03bed658c98c8bf9c1f1cd62c688a9613d /src/output/httpd_output_plugin.c | |
parent | e11ff967d0876177fdc5058d55427fdba9625f9c (diff) | |
download | mpd-90dc880e67bcadd50a05afdd60d33545e699e2f4.tar.gz mpd-90dc880e67bcadd50a05afdd60d33545e699e2f4.tar.xz mpd-90dc880e67bcadd50a05afdd60d33545e699e2f4.zip |
output/httpd: implement delay()
Diffstat (limited to 'src/output/httpd_output_plugin.c')
-rw-r--r-- | src/output/httpd_output_plugin.c | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/src/output/httpd_output_plugin.c b/src/output/httpd_output_plugin.c index a7102d454..72994018a 100644 --- a/src/output/httpd_output_plugin.c +++ b/src/output/httpd_output_plugin.c @@ -375,6 +375,16 @@ httpd_output_send_header(struct httpd_output *httpd, httpd_client_send(client, httpd->header); } +static unsigned +httpd_output_delay(void *data) +{ + struct httpd_output *httpd = data; + + return httpd->timer->started + ? timer_delay(httpd->timer) + : 0; +} + static void httpd_client_check_queue(gpointer data, G_GNUC_UNUSED gpointer user_data) { @@ -464,8 +474,6 @@ httpd_output_play(void *data, const void *chunk, size_t size, GError **error) if (!httpd->timer->started) timer_start(httpd->timer); - else - timer_sync(httpd->timer); timer_add(httpd->timer, size); return size; @@ -575,6 +583,7 @@ const struct audio_output_plugin httpd_output_plugin = { .disable = httpd_output_disable, .open = httpd_output_open, .close = httpd_output_close, + .delay = httpd_output_delay, .send_tag = httpd_output_tag, .play = httpd_output_play, .pause = httpd_output_pause, |