diff options
author | Max Kellermann <max@duempel.org> | 2009-02-09 16:35:59 +0100 |
---|---|---|
committer | Max Kellermann <max@duempel.org> | 2009-02-09 16:38:20 +0100 |
commit | f5c43889c38c5314dacbc327ef0d5cd6fab6fe6c (patch) | |
tree | 82a4df49ee474dc655fdc57fef7cec1e51254ade | |
parent | f6455d5f79fe9b6eda1635ff4c32aefab21818c8 (diff) | |
download | mpd-f5c43889c38c5314dacbc327ef0d5cd6fab6fe6c.tar.gz mpd-f5c43889c38c5314dacbc327ef0d5cd6fab6fe6c.tar.xz mpd-f5c43889c38c5314dacbc327ef0d5cd6fab6fe6c.zip |
shout: use libshout's synchronization
Removed the manual timer synchronization from the shout plugin.
libshout's shout_sync() function does it for us.
-rw-r--r-- | NEWS | 1 | ||||
-rw-r--r-- | src/output/shout_plugin.c | 25 | ||||
-rw-r--r-- | src/output/shout_plugin.h | 3 |
3 files changed, 5 insertions, 24 deletions
@@ -48,6 +48,7 @@ ver 0.14.2 (2009/??/??) - jack: reduced sleep time to 1ms - shout: fixed memory leak in the mp3 encoder - shout: switch to blocking mode + - shout: use libshout's synchronization * mapper: remove trailing slashes from music_directory * player: set player error when output device fails diff --git a/src/output/shout_plugin.c b/src/output/shout_plugin.c index 468e83816..0aad4d2e1 100644 --- a/src/output/shout_plugin.c +++ b/src/output/shout_plugin.c @@ -59,7 +59,6 @@ static struct shout_data *new_shout_data(void) ret->bitrate = -1; ret->quality = -2.0; ret->timeout = DEFAULT_CONN_TIMEOUT; - ret->timer = NULL; ret->buf.len = 0; return ret; @@ -73,8 +72,6 @@ static void free_shout_data(struct shout_data *sd) shout_free(sd->shout_conn); if (sd->tag) tag_free(sd->tag); - if (sd->timer) - timer_free(sd->timer); g_free(sd); } @@ -325,8 +322,8 @@ static void my_shout_finish_driver(void *data) static void my_shout_drop_buffered_audio(void *data) { + G_GNUC_UNUSED struct shout_data *sd = (struct shout_data *)data; - timer_reset(sd->timer); /* needs to be implemented for shout */ } @@ -336,11 +333,6 @@ static void my_shout_close_device(void *data) struct shout_data *sd = (struct shout_data *)data; close_shout_conn(sd); - - if (sd->timer) { - timer_free(sd->timer); - sd->timer = NULL; - } } static int shout_connect(struct shout_data *sd) @@ -380,19 +372,15 @@ static int open_shout_conn(void *data) return 0; } -static bool my_shout_open_device(void *data, - struct audio_format *audio_format) +static bool +my_shout_open_device(void *data, + G_GNUC_UNUSED struct audio_format *audio_format) { struct shout_data *sd = (struct shout_data *)data; if (open_shout_conn(sd) < 0) return false; - if (sd->timer) - timer_free(sd->timer); - - sd->timer = timer_new(audio_format); - return true; } @@ -420,11 +408,6 @@ my_shout_play(void *data, const char *chunk, size_t size) { struct shout_data *sd = (struct shout_data *)data; - if (!sd->timer->started) - timer_start(sd->timer); - - timer_add(sd->timer, size); - if (sd->tag != NULL) send_metadata(sd); diff --git a/src/output/shout_plugin.h b/src/output/shout_plugin.h index d347ae630..5fbd6b5e8 100644 --- a/src/output/shout_plugin.h +++ b/src/output/shout_plugin.h @@ -21,7 +21,6 @@ #include "../output_api.h" #include "../conf.h" -#include "../timer.h" #include <shout/shout.h> #include <glib.h> @@ -72,8 +71,6 @@ struct shout_data { int timeout; - Timer *timer; - /* the configured audio format */ struct audio_format audio_format; |