From 7cfd1eb8ee93020ef0e897b9983450f8053b5728 Mon Sep 17 00:00:00 2001 From: Wim Taymans Date: Thu, 28 Jul 2016 21:30:15 +0200 Subject: [PATCH] remove old files --- pinos/Makefile.am | 3 - pinos/client/buffer.c | 1036 ------------------------------------- pinos/client/buffer.h | 334 ------------ pinos/client/io.c | 181 ------- pinos/client/pinos.h | 1 - pinos/client/private.h | 39 -- pinos/client/ringbuffer.h | 1 - pinos/client/stream.h | 5 +- pinos/server/port.c | 2 - pinos/server/port.h | 7 +- 10 files changed, 7 insertions(+), 1602 deletions(-) delete mode 100644 pinos/client/buffer.c delete mode 100644 pinos/client/buffer.h delete mode 100644 pinos/client/io.c diff --git a/pinos/Makefile.am b/pinos/Makefile.am index e2d7c2403..2f3edc2e8 100644 --- a/pinos/Makefile.am +++ b/pinos/Makefile.am @@ -164,7 +164,6 @@ pinos_monitor_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS) pinosgstsource = gst/gsttmpfileallocator.h gst/gsttmpfileallocator.c pinosinclude_HEADERS = \ - client/buffer.h \ client/client-port.h \ client/context.h \ client/enumtypes.h \ @@ -180,8 +179,6 @@ lib_LTLIBRARIES = \ # Public interface libpinos_@PINOS_MAJORMINOR@_la_SOURCES = \ - client/buffer.h client/buffer.c \ - client/io.c \ client/context.h client/context.c \ client/enumtypes.h client/enumtypes.c \ client/introspect.h client/introspect.c \ diff --git a/pinos/client/buffer.c b/pinos/client/buffer.c deleted file mode 100644 index 75cd5f98f..000000000 --- a/pinos/client/buffer.c +++ /dev/null @@ -1,1036 +0,0 @@ -/* Pinos - * Copyright (C) 2015 Wim Taymans - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. - * - * You should have received a copy of the GNU Library General Public - * License along with this library; if not, write to the - * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, - * Boston, MA 02110-1301, USA. - */ - -#include - -#include - -#if 0 -#include "pinos/client/properties.h" -#include "pinos/client/context.h" -#include "pinos/client/buffer.h" -#include "pinos/client/private.h" - -#if 0 -#define PINOS_DEBUG_BUFFER(format,args...) g_debug(format,##args) -#else -#define PINOS_DEBUG_BUFFER(format,args...) -#endif - -G_STATIC_ASSERT (sizeof (PinosStackBuffer) <= sizeof (PinosBuffer)); - -/** - * pinos_buffer_init_data: - * @buffer: a #PinosBuffer - * @data: data - * @size: size of @data - * @fds: file descriptors - * @n_fds: number of file descriptors - * - * Initialize @buffer with @data and @size and @fds and @n_fds. - * The memory pointer to by @data and @fds becomes property of @buffer - * and should not be freed or modified until all referenced to the buffer - * are gone pinos_buffer_unref(). - */ -void -pinos_buffer_init_data (PinosBuffer *buffer, - gpointer data, - gsize size, - gint *fds, - gint n_fds) -{ - PinosStackBuffer *sb = PSB (buffer); - - PINOS_DEBUG_BUFFER ("buffer %p: init", buffer); - - sb->magic = PSB_MAGIC; - sb->refcount = 1; - sb->data = data; - sb->size = size; - sb->max_size = size; - sb->free_data = NULL; - sb->fds = fds; - sb->n_fds = n_fds; - sb->max_fds = n_fds; - sb->free_fds = NULL; -} - -PinosBuffer * -pinos_buffer_ref (PinosBuffer *buffer) -{ - PinosStackBuffer *sb = PSB (buffer); - - g_return_val_if_fail (is_valid_buffer (buffer), NULL); - - PINOS_DEBUG_BUFFER ("buffer %p: ref %d -> %d", buffer, sb->refcount, sb->refcount+1); - - sb->refcount++; - - return buffer; -} - -gboolean -pinos_buffer_unref (PinosBuffer *buffer) -{ - PinosStackBuffer *sb = PSB (buffer); - gboolean res; - gint i; - - g_return_val_if_fail (is_valid_buffer (buffer), FALSE); - - PINOS_DEBUG_BUFFER ("buffer %p: unref %d -> %d", buffer, sb->refcount, sb->refcount-1); - - sb->refcount--; - res = sb->refcount > 0; - if (!res) { - sb->magic = 0; - g_free (sb->free_data); - for (i = 0; i < sb->n_fds; i++) { - PINOS_DEBUG_BUFFER ("%p: close %d %d", buffer, i, sb->fds[i]); - close (sb->fds[i]); - } - g_free (sb->free_fds); - sb->n_fds = 0; - } - return res; -} - -/** - * pinos_buffer_get_version - * @buffer: a #PinosBuffer - * - * Get the buffer version - * - * Returns: the buffer version. - */ -guint32 -pinos_buffer_get_version (PinosBuffer *buffer) -{ - PinosStackBuffer *sb = PSB (buffer); - PinosStackHeader *hdr; - - g_return_val_if_fail (is_valid_buffer (buffer), -1); - - hdr = sb->data; - - return hdr->version; -} - -/** - * pinos_buffer_get_flags - * @buffer: a #PinosBuffer - * - * Get the buffer flags - * - * Returns: the buffer flags. - */ -PinosBufferFlags -pinos_buffer_get_flags (PinosBuffer *buffer) -{ - PinosStackBuffer *sb = PSB (buffer); - PinosStackHeader *hdr; - - g_return_val_if_fail (is_valid_buffer (buffer), -1); - - hdr = sb->data; - - return hdr->flags; -} - -/** - * pinos_buffer_get_fd: - * @buffer: a #PinosBuffer - * @index: an index - * - * Get the file descriptor at @index in @buffer. - * - * Returns: a file descriptor at @index in @buffer. The file descriptor - * is not duplicated in any way. -1 is returned on error. - */ -int -pinos_buffer_get_fd (PinosBuffer *buffer, gint index) -{ - PinosStackBuffer *sb = PSB (buffer); - - g_return_val_if_fail (is_valid_buffer (buffer), -1); - - if (sb->fds == NULL || sb->n_fds < index) - return -1; - - return sb->fds[index]; -} - -/** - * pinos_buffer_steal_data: - * @buffer: a #PinosBuffer - * @size: output size or %NULL to ignore - * - * Take the data from @buffer. - * - * Returns: the data of @buffer. - */ -gpointer -pinos_buffer_steal_data (PinosBuffer *buffer, - gsize *size) -{ - PinosStackBuffer *sb = PSB (buffer); - gpointer data; - - g_return_val_if_fail (is_valid_buffer (buffer), NULL); - g_return_val_if_fail (sb->refcount == 1, NULL); - - data = sb->data; - if (size) - *size = sb->size; - - if (sb->data != sb->free_data) - g_free (sb->free_data); - sb->data = NULL; - sb->free_data = NULL; - sb->size = 0; - sb->max_size = 0; - - return data; -} - -/** - * pinos_buffer_steal_fds: - * @buffer: a #PinosBuffer - * @n_fds: number of fds - * - * Take the fds from @buffer. - * - * Returns: the fds of @buffer. - */ -gint * -pinos_buffer_steal_fds (PinosBuffer *buffer, - gint *n_fds) -{ - PinosStackBuffer *sb = PSB (buffer); - gint *fds; - - g_return_val_if_fail (is_valid_buffer (buffer), NULL); - g_return_val_if_fail (sb->refcount == 1, NULL); - - fds = sb->fds; - if (n_fds) - *n_fds = sb->n_fds; - - if (sb->fds != sb->free_fds) - g_free (sb->free_fds); - sb->fds = NULL; - sb->free_fds = NULL; - sb->n_fds = 0; - sb->max_fds = 0; - - return fds; -} - -/** - * PinosBufferIter: - * - * #PinosBufferIter is an opaque data structure and can only be accessed - * using the following functions. - */ -struct stack_iter { - gsize magic; - guint32 version; - PinosStackBuffer *buffer; - gsize offset; - - PinosPacketType type; - gsize size; - gpointer data; - - guint item; -}; - -G_STATIC_ASSERT (sizeof (struct stack_iter) <= sizeof (PinosBufferIter)); - -#define PPSI(i) ((struct stack_iter *) (i)) -#define PPSI_MAGIC ((gsize) 6739527471u) -#define is_valid_iter(i) (i != NULL && \ - PPSI(i)->magic == PPSI_MAGIC) - -/** - * pinos_buffer_iter_init: - * @iter: a #PinosBufferIter - * @buffer: a #PinosBuffer - * - * Initialize @iter to iterate the packets in @buffer. - */ -void -pinos_buffer_iter_init_full (PinosBufferIter *iter, - PinosBuffer *buffer, - guint32 version) -{ - struct stack_iter *si = PPSI (iter); - - g_return_if_fail (iter != NULL); - g_return_if_fail (is_valid_buffer (buffer)); - - si->magic = PPSI_MAGIC; - si->version = version; - si->buffer = PSB (buffer); - si->offset = 0; - si->type = PINOS_PACKET_TYPE_INVALID; - si->size = sizeof (PinosStackHeader); - si->data = NULL; - si->item = 0; -} - -static gboolean -read_length (guint8 * data, guint size, gsize * length, gsize * skip) -{ - gsize len, offset; - guint8 b; - - /* start reading the length, we need this to skip to the data later */ - len = offset = 0; - do { - if (offset >= size) - return FALSE; - b = data[offset++]; - len = (len << 7) | (b & 0x7f); - } while (b & 0x80); - - /* check remaining buffer size */ - if (size - offset < len) - return FALSE; - - *length = len; - *skip = offset; - - return TRUE; -} - - -/** - * pinos_buffer_iter_next: - * @iter: a #PinosBufferIter - * - * Move to the next packet in @iter. - * - * Returns: %TRUE if more packets are available. - */ -gboolean -pinos_buffer_iter_next (PinosBufferIter *iter) -{ - struct stack_iter *si = PPSI (iter); - gsize len, size, skip; - guint8 *data; - - g_return_val_if_fail (is_valid_iter (iter), FALSE); - - /* move to next packet */ - si->offset += si->size; - - /* now read packet */ - data = si->buffer->data; - size = si->buffer->size; - if (si->offset >= size) - return FALSE; - - data += si->offset; - size -= si->offset; - - if (size < 1) - return FALSE; - - si->type = *data; - - data++; - size--; - - if (!read_length (data, size, &len, &skip)) - return FALSE; - - si->size = len; - si->data = data + skip; - si->offset += 1 + skip; - - return TRUE; -} - -/** - * pinos_buffer_iter_done: - * @iter: a #PinosBufferIter - * - * End iterations on @iter. - */ -void -pinos_buffer_iter_end (PinosBufferIter *iter) -{ - struct stack_iter *si = PPSI (iter); - - g_return_if_fail (is_valid_iter (iter)); - - si->magic = 0; -} - -PinosPacketType -pinos_buffer_iter_get_type (PinosBufferIter *iter) -{ - struct stack_iter *si = PPSI (iter); - - g_return_val_if_fail (is_valid_iter (iter), PINOS_PACKET_TYPE_INVALID); - - return si->type; -} - -gpointer -pinos_buffer_iter_get_data (PinosBufferIter *iter, gsize *size) -{ - struct stack_iter *si = PPSI (iter); - - g_return_val_if_fail (is_valid_iter (iter), NULL); - - if (size) - *size = si->size; - - return si->data; -} - - -/** - * PinosBufferBuilder: - * @buffer: owner #PinosBuffer - */ -struct stack_builder { - gsize magic; - - PinosStackHeader *sh; - PinosStackBuffer buf; - - PinosPacketType type; - gsize offset; -}; - -G_STATIC_ASSERT (sizeof (struct stack_builder) <= sizeof (PinosBufferBuilder)); - -#define PPSB(b) ((struct stack_builder *) (b)) -#define PPSB_MAGIC ((gsize) 8103647428u) -#define is_valid_builder(b) (b != NULL && \ - PPSB(b)->magic == PPSB_MAGIC) - - -/** - * pinos_buffer_builder_init_full: - * @builder: a #PinosBufferBuilder - * @version: a version - * @data: data to build into or %NULL to allocate - * @max_data: allocated size of @data - * @fds: memory for fds - * @max_fds: maximum number of fds in @fds - * - * Initialize a stack allocated @builder and set the @version. - */ -void -pinos_buffer_builder_init_full (PinosBufferBuilder *builder, - guint32 version, - gpointer data, - gsize max_data, - gint *fds, - gint max_fds) -{ - struct stack_builder *sb = PPSB (builder); - PinosStackHeader *sh; - - g_return_if_fail (builder != NULL); - - sb->magic = PPSB_MAGIC; - - if (max_data < sizeof (PinosStackHeader) || data == NULL) { - sb->buf.max_size = sizeof (PinosStackHeader) + 128; - sb->buf.data = g_malloc (sb->buf.max_size); - sb->buf.free_data = sb->buf.data; - g_warning ("builder %p: realloc buffer memory %"G_GSIZE_FORMAT" -> %"G_GSIZE_FORMAT, - builder, max_data, sb->buf.max_size); - } else { - sb->buf.max_size = max_data; - sb->buf.data = data; - sb->buf.free_data = NULL; - } - sb->buf.size = sizeof (PinosStackHeader); - - sb->buf.fds = fds; - sb->buf.max_fds = max_fds; - sb->buf.n_fds = 0; - sb->buf.free_fds = NULL; - - sh = sb->sh = sb->buf.data; - sh->version = version; - sh->flags = 0; - sh->length = 0; - - sb->type = 0; - sb->offset = 0; -} - -/** - * pinos_buffer_builder_set_flags: - * @builder: a #PinosBufferBuilder - * @flags: flags to set - * - * Set the flags on the buffer from @builder. - */ -void -pinos_buffer_builder_set_flags (PinosBufferBuilder *builder, PinosBufferFlags flags) -{ - struct stack_builder *sb = PPSB (builder); - - g_return_if_fail (is_valid_builder (builder)); - - sb->sh->flags = flags; -} - -/** - * pinos_buffer_builder_clear: - * @builder: a #PinosBufferBuilder - * - * Clear the memory used by @builder. This can be used to abort building the - * buffer. - * - * @builder becomes invalid after this function and can be reused with - * pinos_buffer_builder_init() - */ -void -pinos_buffer_builder_clear (PinosBufferBuilder *builder) -{ - struct stack_builder *sb = PPSB (builder); - - g_return_if_fail (is_valid_builder (builder)); - - sb->magic = 0; - g_free (sb->buf.free_data); - g_free (sb->buf.free_fds); -} - -/** - * pinos_buffer_builder_end: - * @builder: a #PinosBufferBuilder - * @buffer: a #PinosBuffer - * - * Ends the building process and fills @buffer with the constructed - * #PinosBuffer. - * - * @builder becomes invalid after this function and can be reused with - * pinos_buffer_builder_init() - */ -void -pinos_buffer_builder_end (PinosBufferBuilder *builder, - PinosBuffer *buffer) -{ - struct stack_builder *sb = PPSB (builder); - PinosStackBuffer *sbuf = PSB (buffer); - - g_return_if_fail (is_valid_builder (builder)); - g_return_if_fail (buffer != NULL); - - sb->magic = 0; - sb->sh->length = sb->buf.size - sizeof (PinosStackHeader); - - sbuf->magic = PSB_MAGIC; - sbuf->refcount = 1; - sbuf->data = sb->buf.data; - sbuf->size = sb->buf.size; - sbuf->max_size = sb->buf.max_size; - sbuf->free_data = sb->buf.free_data; - - sbuf->fds = sb->buf.fds; - sbuf->n_fds = sb->buf.n_fds; - sbuf->max_fds = sb->buf.max_fds; - sbuf->free_fds = sb->buf.free_fds; - - PINOS_DEBUG_BUFFER ("builder %p: buffer %p init", builder, buffer); -} - -/** - * pinos_buffer_builder_add_fd: - * @builder: a #PinosBufferBuilder - * @fd: a valid fd - * - * Add the file descriptor @fd to @builder. - * - * Returns: the index of the file descriptor in @builder. - */ -gint -pinos_buffer_builder_add_fd (PinosBufferBuilder *builder, - int fd) -{ - struct stack_builder *sb = PPSB (builder); - gint index; - - g_return_val_if_fail (is_valid_builder (builder), -1); - g_return_val_if_fail (fd > 0, -1); - - if (sb->buf.n_fds >= sb->buf.max_fds) { - gint new_size = sb->buf.max_fds + 8; - g_warning ("builder %p: realloc buffer fds %d -> %d", - builder, sb->buf.max_fds, new_size); - sb->buf.max_fds = new_size; - sb->buf.free_fds = g_realloc (sb->buf.free_fds, new_size * sizeof (int)); - sb->buf.fds = sb->buf.free_fds; - } - index = sb->buf.n_fds; - sb->buf.fds[index] = fd; - sb->buf.n_fds++; - - return index; -} - -static gpointer -builder_ensure_size (struct stack_builder *sb, gsize size) -{ - if (sb->buf.size + size > sb->buf.max_size) { - gsize new_size = sb->buf.size + MAX (size, 1024); - g_warning ("builder %p: realloc buffer memory %"G_GSIZE_FORMAT" -> %"G_GSIZE_FORMAT, - sb, sb->buf.max_size, new_size); - sb->buf.max_size = new_size; - sb->buf.free_data = g_realloc (sb->buf.free_data, new_size); - sb->sh = sb->buf.data = sb->buf.free_data; - } - return (guint8 *) sb->buf.data + sb->buf.size; -} - -static gpointer -builder_add_packet (struct stack_builder *sb, PinosPacketType type, gsize size) -{ - guint8 *p; - guint plen; - - plen = 1; - while (size >> (7 * plen)) - plen++; - - /* 1 for type, plen for size and size for payload */ - p = builder_ensure_size (sb, 1 + plen + size); - - sb->type = type; - sb->offset = sb->buf.size; - sb->buf.size += 1 + plen + size; - - *p++ = type; - /* write length */ - while (plen) { - plen--; - *p++ = ((plen > 0) ? 0x80 : 0) | ((size >> (7 * plen)) & 0x7f); - } - return p; -} - -/** - * pinos_buffer_builder_add_empty: - * @builder: a #PinosBufferBuilder - * @type: a #PinosPacketType - * - * Add an empty packet of @type. - * - * Returns: %TRUE on success. - */ -gboolean -pinos_buffer_builder_add_empty (PinosBufferBuilder *builder, - PinosPacketType type) -{ - struct stack_builder *sb = PPSB (builder); - - g_return_val_if_fail (is_valid_builder (builder), FALSE); - - builder_add_packet (sb, type, 0); - - return TRUE; -} - -/** - * pinos_buffer_iter_parse_add_mem: - * @iter: a #PinosBufferIter - * @payload: a #PinosPacketAddMem - * - * Get the #PinosPacketAddMem. @iter must be positioned on a packet of - * type #PINOS_PACKET_TYPE_ADD_MEM - * - * Returns: %TRUE if @payload contains valid data. - */ -gboolean -pinos_buffer_iter_parse_add_mem (PinosBufferIter *iter, - PinosPacketAddMem *payload) -{ - struct stack_iter *si = PPSI (iter); - - g_return_val_if_fail (is_valid_iter (iter), FALSE); - g_return_val_if_fail (si->type == PINOS_PACKET_TYPE_ADD_MEM, FALSE); - - if (si->size < sizeof (PinosPacketAddMem)) - return FALSE; - - memcpy (payload, si->data, sizeof (*payload)); - - return TRUE; -} - -/** - * pinos_buffer_builder_add_add_mem: - * @builder: a #PinosBufferBuilder - * @payload: a #PinosPacketAddMem - * - * Add a #PINOS_PACKET_TYPE_ADD_MEM to @builder with data from @payload. - * - * Returns: %TRUE on success. - */ -gboolean -pinos_buffer_builder_add_add_mem (PinosBufferBuilder *builder, - PinosPacketAddMem *payload) -{ - struct stack_builder *sb = PPSB (builder); - PinosPacketAddMem *p; - - g_return_val_if_fail (is_valid_builder (builder), FALSE); - - p = builder_add_packet (sb, PINOS_PACKET_TYPE_ADD_MEM, sizeof (PinosPacketAddMem)); - memcpy (p, payload, sizeof (*payload)); - - return TRUE; -} - -/** - * pinos_buffer_iter_parse_remove_mem: - * @iter: a #PinosBufferIter - * @payload: a #PinosPacketRemoveMem - * - * Get the #PinosPacketRemoveMem. @iter must be positioned on a packet of - * type #PINOS_PACKET_TYPE_REMOVE_MEM - * - * Returns: %TRUE if @payload contains valid data. - */ -gboolean -pinos_buffer_iter_parse_remove_mem (PinosBufferIter *iter, - PinosPacketRemoveMem *payload) -{ - struct stack_iter *si = PPSI (iter); - - g_return_val_if_fail (is_valid_iter (iter), FALSE); - g_return_val_if_fail (si->type == PINOS_PACKET_TYPE_REMOVE_MEM, FALSE); - - if (si->size < sizeof (PinosPacketRemoveMem)) - return FALSE; - - memcpy (payload, si->data, sizeof (*payload)); - - return TRUE; -} - -/** - * pinos_buffer_builder_add_remove_mem: - * @builder: a #PinosBufferBuilder - * @payload: a #PinosPacketRemoveMem - * - * Add a #PINOS_PACKET_TYPE_REMOVE_MEM to @builder with data from @payload. - * - * Returns: %TRUE on success. - */ -gboolean -pinos_buffer_builder_add_remove_mem (PinosBufferBuilder *builder, - PinosPacketRemoveMem *payload) -{ - struct stack_builder *sb = PPSB (builder); - PinosPacketRemoveMem *p; - - g_return_val_if_fail (is_valid_builder (builder), FALSE); - - p = builder_add_packet (sb, PINOS_PACKET_TYPE_REMOVE_MEM, sizeof (PinosPacketRemoveMem)); - memcpy (p, payload, sizeof (*payload)); - - return TRUE; -} - -/* header packets */ -/** - * pinos_buffer_iter_parse_header: - * @iter: a #PinosBufferIter - * @payload: a #PinosPacketHeader - * - * Get the #PinosPacketHeader. @iter must be positioned on a packet of - * type #PINOS_PACKET_TYPE_HEADER - * - * Returns: %TRUE if @payload contains valid data. - */ -gboolean -pinos_buffer_iter_parse_header (PinosBufferIter *iter, - PinosPacketHeader *payload) -{ - struct stack_iter *si = PPSI (iter); - - g_return_val_if_fail (is_valid_iter (iter), FALSE); - g_return_val_if_fail (si->type == PINOS_PACKET_TYPE_HEADER, FALSE); - - if (si->size < sizeof (PinosPacketHeader)) - return FALSE; - - memcpy (payload, si->data, sizeof (*payload)); - - return TRUE; -} - -/** - * pinos_buffer_builder_add_header: - * @builder: a #PinosBufferBuilder - * @payload: a #PinosPacketHeader - * - * Add a #PINOS_PACKET_TYPE_HEADER to @builder with data from @payload. - * - * Returns: %TRUE on success. - */ -gboolean -pinos_buffer_builder_add_header (PinosBufferBuilder *builder, - PinosPacketHeader *payload) -{ - struct stack_builder *sb = PPSB (builder); - PinosPacketHeader *p; - - g_return_val_if_fail (is_valid_builder (builder), FALSE); - - p = builder_add_packet (sb, PINOS_PACKET_TYPE_HEADER, sizeof (PinosPacketHeader)); - memcpy (p, payload, sizeof (*payload)); - - return TRUE; -} - -/* process-mem packets */ -/** - * pinos_buffer_iter_parse_process_mem: - * @iter: a #PinosBufferIter - * @payload: a #PinosPacketProcessMem - * - * Get the #PinosPacketProcessMem. @iter must be positioned on a packet of - * type #PINOS_PACKET_TYPE_PROCESS_MEM - * - * Returns: %TRUE if @payload contains valid data. - */ -gboolean -pinos_buffer_iter_parse_process_mem (PinosBufferIter *iter, - PinosPacketProcessMem *payload) -{ - struct stack_iter *si = PPSI (iter); - - g_return_val_if_fail (is_valid_iter (iter), FALSE); - g_return_val_if_fail (si->type == PINOS_PACKET_TYPE_PROCESS_MEM, FALSE); - - if (si->size < sizeof (PinosPacketProcessMem)) - return FALSE; - - memcpy (payload, si->data, sizeof (*payload)); - - return TRUE; -} - -/** - * pinos_buffer_builder_add_process_mem: - * @builder: a #PinosBufferBuilder - * @payload: a #PinosPacketProcessMem - * - * Add a #PINOS_PACKET_TYPE_PROCESS_MEM to @builder with data from @payload. - * - * Returns: %TRUE on success. - */ -gboolean -pinos_buffer_builder_add_process_mem (PinosBufferBuilder *builder, - PinosPacketProcessMem *payload) -{ - struct stack_builder *sb = PPSB (builder); - PinosPacketProcessMem *p; - - g_return_val_if_fail (is_valid_builder (builder), FALSE); - g_return_val_if_fail (payload->size > 0, FALSE); - - p = builder_add_packet (sb, PINOS_PACKET_TYPE_PROCESS_MEM, sizeof (PinosPacketProcessMem)); - memcpy (p, payload, sizeof (*payload)); - - return TRUE; -} - -/** - * pinos_buffer_iter_parse_reuse_mem: - * @iter: a #PinosBufferIter - * @payload: a #PinosPacketReuseMem - * - * Parse a #PINOS_PACKET_TYPE_REUSE_MEM packet from @iter into @payload. - * - * Returns: %TRUE on success - */ -gboolean -pinos_buffer_iter_parse_reuse_mem (PinosBufferIter *iter, - PinosPacketReuseMem *payload) -{ - struct stack_iter *si = PPSI (iter); - - g_return_val_if_fail (is_valid_iter (iter), FALSE); - g_return_val_if_fail (si->type == PINOS_PACKET_TYPE_REUSE_MEM, FALSE); - - if (si->size < sizeof (PinosPacketReuseMem)) - return FALSE; - - memcpy (payload, si->data, sizeof (*payload)); - - return TRUE; -} - -/** - * pinos_buffer_builder_add_reuse_mem: - * @builder: a #PinosBufferBuilder - * @payload: a #PinosPacketReuseMem - * - * Add a #PINOS_PACKET_TYPE_REUSE_MEM payload in @payload to @builder. - * - * Returns: %TRUE on success - */ -gboolean -pinos_buffer_builder_add_reuse_mem (PinosBufferBuilder *builder, - PinosPacketReuseMem *payload) -{ - struct stack_builder *sb = PPSB (builder); - PinosPacketReuseMem *p; - - g_return_val_if_fail (is_valid_builder (builder), FALSE); - - p = builder_add_packet (sb, - PINOS_PACKET_TYPE_REUSE_MEM, - sizeof (PinosPacketReuseMem)); - memcpy (p, payload, sizeof (*payload)); - - return TRUE; -} - -/** - * pinos_buffer_iter_parse_format_change: - * @iter: a #PinosBufferIter - * @payload: a #PinosPacketFormatChange - * - * Parse a #PINOS_PACKET_TYPE_FORMAT_CHANGE packet from @iter into @payload. - * - * Returns: %TRUE on success - */ -gboolean -pinos_buffer_iter_parse_format_change (PinosBufferIter *iter, - PinosPacketFormatChange *payload) -{ - struct stack_iter *si = PPSI (iter); - PinosPacketFormatChange *fc; - - g_return_val_if_fail (is_valid_iter (iter), FALSE); - g_return_val_if_fail (si->type == PINOS_PACKET_TYPE_FORMAT_CHANGE, FALSE); - - if (si->size < 9) - return FALSE; - - fc = si->data; - - payload->port = fc->port; - payload->id = fc->id; - payload->format = (gchar *) &fc->format; - - return TRUE; -} - -/** - * pinos_buffer_builder_add_format_change: - * @builder: a #PinosBufferBuilder - * @payload: a #PinosPacketFormatChange - * - * Add a #PINOS_PACKET_TYPE_FORMAT_CHANGE payload in @payload to @builder. - * - * Returns: %TRUE on success - */ -gboolean -pinos_buffer_builder_add_format_change (PinosBufferBuilder *builder, - PinosPacketFormatChange *payload) -{ - struct stack_builder *sb = PPSB (builder); - gsize len, slen; - PinosPacketFormatChange *fc; - - g_return_val_if_fail (is_valid_builder (builder), FALSE); - - /* port + id + format len + zero byte */ - slen = strlen (payload->format) + 1; - len = 8 + slen; - fc = builder_add_packet (sb, - PINOS_PACKET_TYPE_FORMAT_CHANGE, - len); - fc->port = payload->port; - fc->id = payload->id; - memcpy ((gchar*)&fc->format, payload->format, slen); - - //strcpy ((gchar*)&fc->format, payload->format); - sb->sh->flags |= PINOS_BUFFER_FLAG_CONTROL; - - return TRUE; -} - -/** - * pinos_buffer_iter_parse_refresh_request: - * @iter: a #PinosBufferIter - * @payload: a #PinosPacketRefreshRequest - * - * Parse a #PINOS_PACKET_TYPE_REFRESH_REQUEST packet from @iter into @payload. - * - * Returns: %TRUE on success. - */ -gboolean -pinos_buffer_iter_parse_refresh_request (PinosBufferIter *iter, - PinosPacketRefreshRequest *payload) -{ - struct stack_iter *si = PPSI (iter); - - g_return_val_if_fail (is_valid_iter (iter), FALSE); - g_return_val_if_fail (si->type == PINOS_PACKET_TYPE_REFRESH_REQUEST, FALSE); - - if (si->size < sizeof (PinosPacketRefreshRequest)) - return FALSE; - - memcpy (payload, si->data, sizeof (*payload)); - - return TRUE; -} - -/** - * pinos_buffer_builder_add_refresh_request: - * @builder: a #PinosBufferBuilder - * @payload: a #PinosPacketRefreshRequest - * - * Add a #PINOS_PACKET_TYPE_REFRESH_REQUEST payload in @payload to @builder. - * - * Returns: %TRUE on success - */ -gboolean -pinos_buffer_builder_add_refresh_request (PinosBufferBuilder *builder, - PinosPacketRefreshRequest *payload) -{ - struct stack_builder *sb = PPSB (builder); - PinosPacketRefreshRequest *p; - - g_return_val_if_fail (is_valid_builder (builder), FALSE); - - p = builder_add_packet (sb, - PINOS_PACKET_TYPE_REFRESH_REQUEST, - sizeof (PinosPacketRefreshRequest)); - memcpy (p, payload, sizeof (*payload)); - - return TRUE; -} -#endif diff --git a/pinos/client/buffer.h b/pinos/client/buffer.h deleted file mode 100644 index 48d40e4a9..000000000 --- a/pinos/client/buffer.h +++ /dev/null @@ -1,334 +0,0 @@ -/* Pinos - * Copyright (C) 2015 Wim Taymans - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. - * - * You should have received a copy of the GNU Library General Public - * License along with this library; if not, write to the - * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, - * Boston, MA 02110-1301, USA. - */ - -#ifndef __PINOS_BUFFER_H__ -#define __PINOS_BUFFER_H__ - -#include -#include - -G_BEGIN_DECLS - -typedef struct _PinosBuffer PinosBuffer; -#if 0 -typedef struct _PinosBufferIter PinosBufferIter; -typedef struct _PinosBufferBuilder PinosBufferBuilder; - -#define PINOS_BUFFER_VERSION 0 - -/** - * PinosBufferFlags: - * @PINOS_BUFFER_FLAG_NONE: no flags - * @PINOS_BUFFER_FLAG_CONTROL: the buffer contains control info such - * as new format or properties. - * - * The possible buffer flags. - */ -typedef enum { - PINOS_BUFFER_FLAG_NONE = 0, - PINOS_BUFFER_FLAG_CONTROL = (1 << 0), -} PinosBufferFlags; - -struct _PinosBuffer { - PinosBuffer *next; - /*< private >*/ - gsize x[16]; -}; - -void pinos_buffer_init_data (PinosBuffer *buffer, - gpointer data, - gsize size, - gint *fds, - gint n_fds); - -PinosBuffer * pinos_buffer_ref (PinosBuffer *buffer); -gboolean pinos_buffer_unref (PinosBuffer *buffer); - -guint32 pinos_buffer_get_version (PinosBuffer *buffer); -PinosBufferFlags pinos_buffer_get_flags (PinosBuffer *buffer); -int pinos_buffer_get_fd (PinosBuffer *buffer, - gint index); - -gpointer pinos_buffer_steal_data (PinosBuffer *buffer, - gsize *size); -gint * pinos_buffer_steal_fds (PinosBuffer *buffer, - gint *n_fds); - - -/** - * PinosPacketType: - * @PINOS_PACKET_TYPE_INVALID: invalid packet type, ignore - * @PINOS_PACKET_TYPE_CONTINUATION: continuation packet, used internally to send - * commands using a shared memory region. - * @PINOS_PACKET_TYPE_REGISTER_MEM: register memory region - * @PINOS_PACKET_TYPE_RELEASE_MEM: release memory region - * @PINOS_PACKET_TYPE_START: start transfer - * @PINOS_PACKET_TYPE_STOP: stop transfer - * - * @PINOS_PACKET_TYPE_HEADER: common packet header - * @PINOS_PACKET_TYPE_PROCESS_MEM: packet contains mem-payload. An mem-payload contains - * the media data as the index of a shared memory region - * @PINOS_PACKET_TYPE_REUSE_MEM: when a memory region has been consumed and is ready to - * be reused. - * @PINOS_PACKET_TYPE_FORMAT_CHANGE: a format change. - * @PINOS_PACKET_TYPE_PROPERTY_CHANGE: one or more property changes. - * @PINOS_PACKET_TYPE_REFRESH_REQUEST: ask for a new keyframe - * - * The possible packet types. - */ -typedef enum { - PINOS_PACKET_TYPE_INVALID = 0, - - PINOS_PACKET_TYPE_CONTINUATION, - PINOS_PACKET_TYPE_ADD_MEM, - PINOS_PACKET_TYPE_REMOVE_MEM, - PINOS_PACKET_TYPE_START, - PINOS_PACKET_TYPE_STREAMING, - PINOS_PACKET_TYPE_STOP, - PINOS_PACKET_TYPE_STOPPED, - PINOS_PACKET_TYPE_DRAIN, - PINOS_PACKET_TYPE_DRAINED, - PINOS_PACKET_TYPE_HEADER, - PINOS_PACKET_TYPE_PROCESS_MEM, - PINOS_PACKET_TYPE_REUSE_MEM, - PINOS_PACKET_TYPE_FORMAT_CHANGE, - PINOS_PACKET_TYPE_PROPERTY_CHANGE, - PINOS_PACKET_TYPE_REFRESH_REQUEST, -} PinosPacketType; - - -/* iterating packets */ -struct _PinosBufferIter { - /*< private >*/ - gsize x[16]; -}; - -void pinos_buffer_iter_init_full (PinosBufferIter *iter, - PinosBuffer *buffer, - guint32 version); -#define pinos_buffer_iter_init(i,b) pinos_buffer_iter_init_full(i,b, PINOS_BUFFER_VERSION); - -gboolean pinos_buffer_iter_next (PinosBufferIter *iter); -void pinos_buffer_iter_end (PinosBufferIter *iter); - -PinosPacketType pinos_buffer_iter_get_type (PinosBufferIter *iter); -gpointer pinos_buffer_iter_get_data (PinosBufferIter *iter, gsize *size); - -/** - * PinosBufferBuilder: - */ -struct _PinosBufferBuilder { - /*< private >*/ - gsize x[16]; -}; - -void pinos_buffer_builder_init_full (PinosBufferBuilder *builder, - guint32 version, - gpointer data, - gsize max_data, - gint *fds, - gint max_fds); -#define pinos_buffer_builder_init_into(b,d,md,f,mf) pinos_buffer_builder_init_full(b, PINOS_BUFFER_VERSION,d,md,f,mf); -#define pinos_buffer_builder_init(b) pinos_buffer_builder_init_into(b, NULL, 0, NULL, 0); - -void pinos_buffer_builder_set_flags (PinosBufferBuilder *builder, - PinosBufferFlags flags); -void pinos_buffer_builder_clear (PinosBufferBuilder *builder); -void pinos_buffer_builder_end (PinosBufferBuilder *builder, - PinosBuffer *buffer); - -gboolean pinos_buffer_builder_add_empty (PinosBufferBuilder *builder, - PinosPacketType type); - -gint pinos_buffer_builder_add_fd (PinosBufferBuilder *builder, - int fd); -/* add-mem packets */ -/** - * PinosPacketAddMem: - * @port: the port number - * @id: the unique id of this memory block - * @type: the memory block type - * @fd_index: the index of the fd with the data - * @offset: the offset of the data - * @size: the size of the data - * - * A Packet that contains a memory block used for data transfer. - */ -typedef struct { - guint32 port; - guint32 id; - guint32 type; - gint32 fd_index; - guint64 offset; - guint64 size; -} PinosPacketAddMem; - -gboolean pinos_buffer_iter_parse_add_mem (PinosBufferIter *iter, - PinosPacketAddMem *payload); -gboolean pinos_buffer_builder_add_add_mem (PinosBufferBuilder *builder, - PinosPacketAddMem *payload); - -/* remove-mem packets */ -/** - * PinosPacketRemoveMem: - * @port: the port number - * @id: the unique id of the memory block - * - * Remove a memory block. - */ -typedef struct { - guint32 port; - guint32 id; -} PinosPacketRemoveMem; - -gboolean pinos_buffer_iter_parse_remove_mem (PinosBufferIter *iter, - PinosPacketRemoveMem *payload); -gboolean pinos_buffer_builder_add_remove_mem (PinosBufferBuilder *builder, - PinosPacketRemoveMem *payload); - -/* header packets */ -/** - * PinosPacketHeader - * @flags: header flags - * @seq: sequence number - * @pts: presentation timestamp in nanoseconds - * @dts_offset: offset to presentation timestamp in nanoseconds to get decode timestamp - * - * A Packet that contains the header. - */ -typedef struct { - guint32 port; - guint32 flags; - guint32 seq; - gint64 pts; - gint64 dts_offset; -} PinosPacketHeader; - -gboolean pinos_buffer_iter_parse_header (PinosBufferIter *iter, - PinosPacketHeader *payload); -gboolean pinos_buffer_builder_add_header (PinosBufferBuilder *builder, - PinosPacketHeader *payload); - - -/* process-mem packets */ -/** - * PinosPacketProcessMem: - * @id: the mem index to process - * @offset: the offset of the data - * @size: the size of the data - * - * A Packet that contains data in an fd at @fd_index at @offset and with - * @size. - */ -typedef struct { - guint32 port; - guint32 id; - guint64 offset; - guint64 size; -} PinosPacketProcessMem; - -gboolean pinos_buffer_iter_parse_process_mem (PinosBufferIter *iter, - PinosPacketProcessMem *payload); -gboolean pinos_buffer_builder_add_process_mem (PinosBufferBuilder *builder, - PinosPacketProcessMem *payload); - -/* reuse-mem packets */ -/** - * PinosPacketReuseMem: - * @id: the unique id of the memory block to reuse - * - * Release the payload with @id - */ -typedef struct { - guint32 port; - guint32 id; - guint64 offset; - guint64 size; -} PinosPacketReuseMem; - -gboolean pinos_buffer_iter_parse_reuse_mem (PinosBufferIter *iter, - PinosPacketReuseMem *payload); -gboolean pinos_buffer_builder_add_reuse_mem (PinosBufferBuilder *builder, - PinosPacketReuseMem *payload); - - -/* format change packets */ -/** - * PinosPacketFormatChange: - * @id: the id of the new format - * @format: the new format - * - * A new format. - */ -typedef struct { - guint32 port; - guint32 id; - const gchar *format; -} PinosPacketFormatChange; - -gboolean pinos_buffer_iter_parse_format_change (PinosBufferIter *iter, - PinosPacketFormatChange *payload); -gboolean pinos_buffer_builder_add_format_change (PinosBufferBuilder *builder, - PinosPacketFormatChange *payload); - - -/* property change packets */ -/** - * PinosPacketPropertyChange: - * @key: the key of the property - * @value: the new value - * - * A new property change. - */ -typedef struct { - guint32 port; - const gchar *key; - const gchar *value; -} PinosPacketPropertyChange; - -gboolean pinos_buffer_iter_parse_property_change (PinosBufferIter *iter, - guint idx, - PinosPacketPropertyChange *payload); -gboolean pinos_buffer_builder_add_property_change (PinosBufferBuilder *builder, - PinosPacketPropertyChange *payload); - -/* refresh request packets */ -/** - * PinosPacketRefreshRequest: - * @last_id: last frame seen frame id - * @request_type: the type of the request - * @pts: the timestamp of the requested key frame, 0 = as soon as possible - * - * A refresh request packet. This packet is sent to trigger a new keyframe. - */ -typedef struct { - guint32 port; - guint32 last_id; - guint32 request_type; - gint64 pts; -} PinosPacketRefreshRequest; - -gboolean pinos_buffer_iter_parse_refresh_request (PinosBufferIter *iter, - PinosPacketRefreshRequest *payload); -gboolean pinos_buffer_builder_add_refresh_request (PinosBufferBuilder *builder, - PinosPacketRefreshRequest *payload); - - -#endif -#endif /* __PINOS_BUFFER_H__ */ diff --git a/pinos/client/io.c b/pinos/client/io.c deleted file mode 100644 index adac35f90..000000000 --- a/pinos/client/io.c +++ /dev/null @@ -1,181 +0,0 @@ -/* Pinos - * Copyright (C) 2015 Wim Taymans - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. - * - * You should have received a copy of the GNU Library General Public - * License along with this library; if not, write to the - * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, - * Boston, MA 02110-1301, USA. - */ - -#include -#include -#include - -#include - -#include "pinos/client/pinos.h" -#include "pinos/client/private.h" - -#if 0 -gboolean -pinos_io_read_buffer (int fd, - PinosBuffer *buffer, - void *data, - size_t max_data, - int *fds, - size_t max_fds, - GError **error) -{ - gssize len; - PinosStackHeader *hdr; - PinosStackBuffer *sb = (PinosStackBuffer *) buffer; - gsize need; - struct cmsghdr *cmsg; - struct msghdr msg = {0}; - struct iovec iov[1]; - char cmsgbuf[CMSG_SPACE (max_fds * sizeof (int))]; - - g_assert (sb->refcount == 0); - - sb->data = data; - sb->max_size = max_data; - sb->size = 0; - sb->free_data = NULL; - sb->fds = fds; - sb->max_fds = max_fds; - sb->n_fds = 0; - sb->free_fds = NULL; - - hdr = sb->data; - - /* read header and control messages first */ - iov[0].iov_base = hdr; - iov[0].iov_len = sizeof (PinosStackHeader);; - msg.msg_iov = iov; - msg.msg_iovlen = 1; - msg.msg_control = cmsgbuf; - msg.msg_controllen = sizeof (cmsgbuf); - msg.msg_flags = MSG_CMSG_CLOEXEC; - - while (TRUE) { - len = recvmsg (fd, &msg, msg.msg_flags); - if (len < 0) { - if (errno == EINTR) - continue; - else - goto recv_error; - } - break; - } - g_assert (len == sizeof (PinosStackHeader)); - - /* now we know the total length */ - need = sizeof (PinosStackHeader) + hdr->length; - - if (sb->max_size < need) { - g_warning ("io: realloc receive memory %" G_GSIZE_FORMAT" -> %" G_GSIZE_FORMAT, sb->max_size, need); - sb->max_size = need; - hdr = sb->data = sb->free_data = g_realloc (sb->free_data, need); - } - sb->size = need; - - if (hdr->length > 0) { - /* read data */ - while (TRUE) { - len = recv (fd, (gchar *)sb->data + sizeof (PinosStackHeader), hdr->length, 0); - if (len < 0) { - if (errno == EINTR) - continue; - else - goto recv_error; - } - break; - } - g_assert (len == hdr->length); - } - - /* handle control messages */ - for (cmsg = CMSG_FIRSTHDR (&msg); cmsg != NULL; cmsg = CMSG_NXTHDR (&msg, cmsg)) { - if (cmsg->cmsg_level != SOL_SOCKET || cmsg->cmsg_type != SCM_RIGHTS) - continue; - - sb->n_fds = (cmsg->cmsg_len - ((char *)CMSG_DATA (cmsg) - (char *)cmsg)) / sizeof (int); - memcpy (sb->fds, CMSG_DATA (cmsg), sb->n_fds * sizeof (int)); - } - sb->refcount = 1; - sb->magic = PSB_MAGIC; - - return TRUE; - - /* ERRORS */ -recv_error: - { - g_set_error (error, - G_IO_ERROR, - g_io_error_from_errno (errno), - "could not recvmsg: %s", strerror (errno)); - return FALSE; - } -} - -gboolean -pinos_io_write_buffer (int fd, - PinosBuffer *buffer, - GError **error) -{ - PinosStackBuffer *sb = (PinosStackBuffer *) buffer; - gssize len; - struct msghdr msg = {0}; - struct iovec iov[1]; - struct cmsghdr *cmsg; - char cmsgbuf[CMSG_SPACE (sb->n_fds * sizeof (int))]; - gint fds_len = sb->n_fds * sizeof (int); - - iov[0].iov_base = sb->data; - iov[0].iov_len = sb->size; - msg.msg_iov = iov; - msg.msg_iovlen = 1; - msg.msg_control = cmsgbuf; - msg.msg_controllen = CMSG_SPACE (fds_len); - cmsg = CMSG_FIRSTHDR(&msg); - cmsg->cmsg_level = SOL_SOCKET; - cmsg->cmsg_type = SCM_RIGHTS; - cmsg->cmsg_len = CMSG_LEN (fds_len); - memcpy(CMSG_DATA(cmsg), sb->fds, fds_len); - msg.msg_controllen = cmsg->cmsg_len; - - while (TRUE) { - len = sendmsg (fd, &msg, 0); - if (len < 0) { - if (errno == EINTR) - continue; - else - goto send_error; - } - break; - } - g_assert (len == (gssize) sb->size); - - return TRUE; - - /* ERRORS */ -send_error: - { - g_set_error (error, - G_IO_ERROR, - g_io_error_from_errno (errno), - "could not sendmsg: %s", strerror (errno)); - return FALSE; - } -} -#endif diff --git a/pinos/client/pinos.h b/pinos/client/pinos.h index a0f93dbe1..243450e0c 100644 --- a/pinos/client/pinos.h +++ b/pinos/client/pinos.h @@ -20,7 +20,6 @@ #ifndef __PINOS_H__ #define __PINOS_H__ -#include #include #include #include diff --git a/pinos/client/private.h b/pinos/client/private.h index 7b11e01c6..0869f83ea 100644 --- a/pinos/client/private.h +++ b/pinos/client/private.h @@ -55,42 +55,3 @@ void pinos_subscribe_get_proxy (PinosSubscribe * GDBusProxy * pinos_subscribe_get_proxy_finish (PinosSubscribe *subscribe, GAsyncResult *res, GError **error); - - -#if 0 -typedef struct { - guint32 version; - guint32 flags; - guint32 length; -} PinosStackHeader; - -typedef struct { - PinosBuffer *next; - gpointer data; - gsize size; - gsize max_size; - gpointer free_data; - gint *fds; - gint n_fds; - gint max_fds; - gpointer free_fds; - gsize magic; - gint refcount; -} PinosStackBuffer; - -#define PSB(b) ((PinosStackBuffer *) (b)) -#define PSB_MAGIC ((gsize) 5493683301u) -#define is_valid_buffer(b) (b != NULL && \ - PSB(b)->magic == PSB_MAGIC) - -gboolean pinos_io_read_buffer (int fd, - PinosBuffer *sb, - void *data, - size_t max_data, - int *fds, - size_t max_fds, - GError **error); -gboolean pinos_io_write_buffer (int fd, - PinosBuffer *buffer, - GError **error); -#endif diff --git a/pinos/client/ringbuffer.h b/pinos/client/ringbuffer.h index 9eb428a4b..98b89ece5 100644 --- a/pinos/client/ringbuffer.h +++ b/pinos/client/ringbuffer.h @@ -29,7 +29,6 @@ typedef struct _PinosRingbufferClass PinosRingbufferClass; typedef struct _PinosRingbufferPrivate PinosRingbufferPrivate; #include -#include #define PINOS_TYPE_RINGBUFFER (pinos_ringbuffer_get_type ()) #define PINOS_IS_RINGBUFFER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PINOS_TYPE_RINGBUFFER)) diff --git a/pinos/client/stream.h b/pinos/client/stream.h index 80b72b76a..ef34979a9 100644 --- a/pinos/client/stream.h +++ b/pinos/client/stream.h @@ -22,10 +22,11 @@ #include -#include -#include #include +#include + + G_BEGIN_DECLS #define PINOS_TYPE_STREAM (pinos_stream_get_type ()) diff --git a/pinos/server/port.c b/pinos/server/port.c index 31dcf5ebf..ad95350dd 100644 --- a/pinos/server/port.c +++ b/pinos/server/port.c @@ -56,8 +56,6 @@ struct _PinosPortPrivate GBytes *format; PinosProperties *properties; - PinosBuffer *buffer; - PinosBufferCallback received_buffer_cb; gpointer received_buffer_data; GDestroyNotify received_buffer_notify; diff --git a/pinos/server/port.h b/pinos/server/port.h index 85be6c75e..ca31b7490 100644 --- a/pinos/server/port.h +++ b/pinos/server/port.h @@ -28,11 +28,12 @@ typedef struct _PinosPort PinosPort; typedef struct _PinosPortClass PinosPortClass; typedef struct _PinosPortPrivate PinosPortPrivate; -#include -#include -#include #include +#include +#include + + #define PINOS_TYPE_PORT (pinos_port_get_type ()) #define PINOS_IS_PORT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PINOS_TYPE_PORT)) #define PINOS_IS_PORT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PINOS_TYPE_PORT))