diff options
Diffstat (limited to 'src/output/httpd_output_plugin.c')
-rw-r--r-- | src/output/httpd_output_plugin.c | 47 |
1 files changed, 16 insertions, 31 deletions
diff --git a/src/output/httpd_output_plugin.c b/src/output/httpd_output_plugin.c index abef826bc..1d730df7f 100644 --- a/src/output/httpd_output_plugin.c +++ b/src/output/httpd_output_plugin.c @@ -114,10 +114,6 @@ httpd_output_init(const struct config_param *param, return NULL; } - const char *encoder_name, *bind_to_address; - const struct encoder_plugin *encoder_plugin; - guint port; - /* read configuration */ httpd->name = config_get_block_string(param, "name", "Set name in config"); @@ -126,10 +122,12 @@ httpd_output_init(const struct config_param *param, httpd->website = config_get_block_string(param, "website", "Set website in config"); - port = config_get_block_unsigned(param, "port", 8000); + guint port = config_get_block_unsigned(param, "port", 8000); - encoder_name = config_get_block_string(param, "encoder", "vorbis"); - encoder_plugin = encoder_plugin_get(encoder_name); + const char *encoder_name = + config_get_block_string(param, "encoder", "vorbis"); + const struct encoder_plugin *encoder_plugin = + encoder_plugin_get(encoder_name); if (encoder_plugin == NULL) { g_set_error(error, httpd_output_quark(), 0, "No such encoder: %s", encoder_name); @@ -144,7 +142,7 @@ httpd_output_init(const struct config_param *param, httpd->server_socket = server_socket_new(httpd_listen_in_event, httpd); - bind_to_address = + const char *bind_to_address = config_get_block_string(param, "bind_to_address", NULL); bool success = bind_to_address != NULL && strcmp(bind_to_address, "any") != 0 @@ -275,8 +273,6 @@ httpd_listen_in_event(int fd, const struct sockaddr *address, static struct page * httpd_output_read_page(struct httpd_output *httpd) { - size_t size = 0, nbytes; - if (httpd->unflushed_input >= 65536) { /* we have fed a lot of input into the encoder, but it didn't give anything back yet - flush now to avoid @@ -285,9 +281,11 @@ httpd_output_read_page(struct httpd_output *httpd) httpd->unflushed_input = 0; } + size_t size = 0; do { - nbytes = encoder_read(httpd->encoder, httpd->buffer + size, - sizeof(httpd->buffer) - size); + size_t nbytes = encoder_read(httpd->encoder, + httpd->buffer + size, + sizeof(httpd->buffer) - size); if (nbytes == 0) break; @@ -307,10 +305,7 @@ httpd_output_encoder_open(struct httpd_output *httpd, struct audio_format *audio_format, GError **error) { - bool success; - - success = encoder_open(httpd->encoder, audio_format, error); - if (!success) + if (!encoder_open(httpd->encoder, audio_format, error)) return false; /* we have to remember the encoder header, i.e. the first @@ -344,14 +339,12 @@ httpd_output_open(struct audio_output *ao, struct audio_format *audio_format, GError **error) { struct httpd_output *httpd = (struct httpd_output *)ao; - bool success; g_mutex_lock(httpd->mutex); /* open the encoder */ - success = httpd_output_encoder_open(httpd, audio_format, error); - if (!success) { + if (!httpd_output_encoder_open(httpd, audio_format, error)) { g_mutex_unlock(httpd->mutex); return false; } @@ -495,10 +488,7 @@ static bool httpd_output_encode_and_play(struct httpd_output *httpd, const void *chunk, size_t size, GError **error) { - bool success; - - success = encoder_write(httpd->encoder, chunk, size, error); - if (!success) + if (!encoder_write(httpd->encoder, chunk, size, error)) return false; httpd->unflushed_input += size; @@ -510,16 +500,12 @@ httpd_output_encode_and_play(struct httpd_output *httpd, static size_t httpd_output_play(struct audio_output *ao, const void *chunk, size_t size, - GError **error) + GError **error_r) { struct httpd_output *httpd = (struct httpd_output *)ao; if (httpd_output_lock_has_clients(httpd)) { - bool success; - - success = httpd_output_encode_and_play(httpd, chunk, size, - error); - if (!success) + if (!httpd_output_encode_and_play(httpd, chunk, size, error_r)) return 0; } @@ -562,7 +548,6 @@ httpd_output_tag(struct audio_output *ao, const struct tag *tag) if (httpd->encoder->plugin->tag != NULL) { /* embed encoder tags */ - struct page *page; /* flush the current stream, and end it */ @@ -578,7 +563,7 @@ httpd_output_tag(struct audio_output *ao, const struct tag *tag) used as the new "header" page, which is sent to all new clients */ - page = httpd_output_read_page(httpd); + struct page *page = httpd_output_read_page(httpd); if (page != NULL) { if (httpd->header != NULL) page_unref(httpd->header); |