From 2f76db4c7842ffdb989d2081b0835a83a3219f35 Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Wed, 29 Oct 2008 20:40:33 +0100 Subject: output: close device on play error When an output plugin fails to play a chunk, close it. This replaces various manual close() calls in nearly all plugins. --- src/output/shout_plugin.c | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) (limited to 'src/output/shout_plugin.c') diff --git a/src/output/shout_plugin.c b/src/output/shout_plugin.c index 7bd806d36..00ce02590 100644 --- a/src/output/shout_plugin.c +++ b/src/output/shout_plugin.c @@ -525,7 +525,6 @@ my_shout_play(void *data, const char *chunk, size_t size) if (!sd->opened) { status = open_shout_conn(sd); if (status < 0) { - my_shout_close_device(sd); return false; } else if (status > 0) { timer_sync(sd->timer); @@ -533,15 +532,11 @@ my_shout_play(void *data, const char *chunk, size_t size) } } - if (sd->encoder->encode_func(sd, chunk, size)) { - my_shout_close_device(sd); + if (sd->encoder->encode_func(sd, chunk, size)) return false; - } - if (write_page(sd) < 0) { - my_shout_close_device(sd); + if (write_page(sd) < 0) return false; - } return true; } -- cgit v1.2.3