static void wave_encoder_close(struct encoder *_encoder) { struct wave_encoder *encoder = (struct wave_encoder *)_encoder; fifo_buffer_free(encoder->buffer); }
/** * Data has been received from the client and it is appended to the * input buffer. */ static bool httpd_client_received(struct httpd_client *client) { assert(client != NULL); assert(client->state != RESPONSE); char *line; bool success; while ((line = httpd_client_read_line(client)) != NULL) { success = httpd_client_handle_line(client, line); g_free(line); if (!success) { assert(client->state != RESPONSE); return false; } if (client->state == RESPONSE) { if (!fifo_buffer_is_empty(client->input)) { g_warning("unexpected input from client"); return false; } fifo_buffer_free(client->input); return httpd_client_send_response(client); } } return true; }
void mpd_inotify_source_free(struct mpd_inotify_source *source) { g_source_remove(source->id); g_io_channel_unref(source->channel); fifo_buffer_free(source->buffer); close(source->fd); g_free(source); }
static void osx_output_close(struct audio_output *ao) { struct osx_output *od = (struct osx_output *)ao; AudioOutputUnitStop(od->au); AudioUnitUninitialize(od->au); fifo_buffer_free(od->buffer); }
static void flac_encoder_close(struct encoder *_encoder) { struct flac_encoder *encoder = (struct flac_encoder *)_encoder; FLAC__stream_encoder_delete(encoder->fse); pcm_buffer_deinit(&encoder->expand_buffer); fifo_buffer_free(encoder->output_buffer); }
void client_close(struct client *client) { client_list_remove(client); client_set_expired(client); g_timer_destroy(client->last_activity); if (client->cmd_list) { free_cmd_list(client->cmd_list); client->cmd_list = NULL; } g_queue_foreach(client->deferred_send, deferred_buffer_free, NULL); g_queue_free(client->deferred_send); fifo_buffer_free(client->input); g_log(G_LOG_DOMAIN, LOG_LEVEL_SECURE, "[%u] closed", client->num); g_free(client); }
void httpd_client_free(struct httpd_client *client) { assert(client != NULL); if (client->state == RESPONSE) { if (client->write_source_id != 0) g_source_remove(client->write_source_id); if (client->current_page != NULL) page_unref(client->current_page); g_queue_foreach(client->pages, httpd_client_unref_page, NULL); g_queue_free(client->pages); } else fifo_buffer_free(client->input); if (client->metadata) page_unref (client->metadata); g_source_remove(client->read_source_id); g_io_channel_unref(client->channel); g_free(client); }