|
xine-lib
1.2.10
|
#include <pthread.h>#include <stdlib.h>#include <inttypes.h>#include <stdio.h>#include <string.h>#include <xine/attributes.h>#include <xine/xineutils.h>#include <xine/pool.h>#include <xine/list.h>#include <xine/ring_buffer.h>Data Structures | |
| struct | xine_ring_buffer_chunk_s |
| struct | xine_ring_buffer_s |
Macros | |
| #define | RING_BUFFER_EXTRA_BUFFER_SIZE (1024 * 8) |
Typedefs | |
| typedef struct xine_ring_buffer_chunk_s | xine_ring_buffer_chunk_t |
Functions | |
| static void | xine_ring_buffer_chunk_create (void *object) |
| static void | xine_ring_buffer_chunk_return (void *object) |
| xine_ring_buffer_t * | xine_ring_buffer_new (size_t size) |
| void | xine_ring_buffer_delete (xine_ring_buffer_t *ring_buffer) |
| static void | xine_ring_buffer_display_stat (const xine_ring_buffer_t *ring_buffer) |
| void * | xine_ring_buffer_alloc (xine_ring_buffer_t *ring_buffer, size_t size) |
| void | xine_ring_buffer_put (xine_ring_buffer_t *ring_buffer, void *buffer) |
| void * | xine_ring_buffer_get (xine_ring_buffer_t *ring_buffer, size_t size, size_t *rsize) |
| void | xine_ring_buffer_release (xine_ring_buffer_t *ring_buffer, void *buffer) |
| void | xine_ring_buffer_close (xine_ring_buffer_t *ring_buffer) |
| #define RING_BUFFER_EXTRA_BUFFER_SIZE (1024 * 8) |
| typedef struct xine_ring_buffer_chunk_s xine_ring_buffer_chunk_t |
| void* xine_ring_buffer_alloc | ( | xine_ring_buffer_t * | ring_buffer, |
| size_t | size | ||
| ) |
References _x_assert, xine_ring_buffer_s::alloc_list, xine_ring_buffer_s::buffer, xine_ring_buffer_s::buffer_end, xine_ring_buffer_s::buffer_size, xine_ring_buffer_s::chunk_pool, xine_ring_buffer_s::free_size, xine_ring_buffer_s::free_size_cond, xine_ring_buffer_s::free_size_needed, xine_ring_buffer_s::head_alloc, xine_ring_buffer_s::lock, xine_ring_buffer_chunk_s::mem, xine_ring_buffer_chunk_s::size, xine_list_push_back(), xine_pool_get(), and xine_ring_buffer_display_stat().
|
static |
References xine_ring_buffer_chunk_s::mem, NULL, and xine_ring_buffer_chunk_s::size.
Referenced by xine_ring_buffer_new().
|
static |
References xine_ring_buffer_chunk_s::mem, NULL, and xine_ring_buffer_chunk_s::size.
Referenced by xine_ring_buffer_new().
| void xine_ring_buffer_close | ( | xine_ring_buffer_t * | ring_buffer | ) |
| void xine_ring_buffer_delete | ( | xine_ring_buffer_t * | ring_buffer | ) |
|
static |
| void* xine_ring_buffer_get | ( | xine_ring_buffer_t * | ring_buffer, |
| size_t | size, | ||
| size_t * | rsize | ||
| ) |
References _x_assert, xine_ring_buffer_s::buffer, xine_ring_buffer_s::buffer_end, xine_ring_buffer_s::chunk_pool, xine_ring_buffer_s::EOS, xine_ring_buffer_s::extra_buffer, xine_ring_buffer_s::extra_buffer_size, xine_ring_buffer_s::full_size, xine_ring_buffer_s::full_size_cond, xine_ring_buffer_s::full_size_needed, xine_ring_buffer_s::get_list, xine_ring_buffer_s::lock, xine_ring_buffer_chunk_s::mem, xine_ring_buffer_chunk_s::size, xine_ring_buffer_s::tail, xine_list_push_back(), and xine_pool_get().
| xine_ring_buffer_t* xine_ring_buffer_new | ( | size_t | size | ) |
References xine_ring_buffer_s::alloc_list, xine_ring_buffer_s::buffer, xine_ring_buffer_s::buffer_end, xine_ring_buffer_s::buffer_size, xine_ring_buffer_s::chunk_pool, xine_ring_buffer_s::EOS, xine_ring_buffer_s::extra_buffer, xine_ring_buffer_s::extra_buffer_size, xine_ring_buffer_s::free_size, xine_ring_buffer_s::free_size_cond, xine_ring_buffer_s::free_size_needed, xine_ring_buffer_s::full_size, xine_ring_buffer_s::full_size_cond, xine_ring_buffer_s::full_size_needed, xine_ring_buffer_s::get_list, xine_ring_buffer_s::head, xine_ring_buffer_s::head_alloc, xine_ring_buffer_s::lock, NULL, RING_BUFFER_EXTRA_BUFFER_SIZE, xine_ring_buffer_s::tail, xine_ring_buffer_s::tail_release, xine_list_new(), xine_pool_new(), xine_ring_buffer_chunk_create(), and xine_ring_buffer_chunk_return().
| void xine_ring_buffer_put | ( | xine_ring_buffer_t * | ring_buffer, |
| void * | buffer | ||
| ) |
References _x_assert, xine_ring_buffer_s::alloc_list, xine_ring_buffer_s::buffer, xine_ring_buffer_s::buffer_end, xine_ring_buffer_s::chunk_pool, xine_ring_buffer_s::full_size, xine_ring_buffer_s::full_size_cond, xine_ring_buffer_s::full_size_needed, xine_ring_buffer_s::head, xine_ring_buffer_s::lock, xine_ring_buffer_chunk_s::mem, NULL, xine_ring_buffer_chunk_s::size, xine_list_front(), xine_list_get_value(), xine_list_next(), xine_list_remove(), and xine_pool_put().
| void xine_ring_buffer_release | ( | xine_ring_buffer_t * | ring_buffer, |
| void * | buffer | ||
| ) |
References _x_assert, xine_ring_buffer_s::buffer, xine_ring_buffer_s::buffer_end, xine_ring_buffer_s::buffer_size, xine_ring_buffer_s::chunk_pool, xine_ring_buffer_s::free_size, xine_ring_buffer_s::free_size_cond, xine_ring_buffer_s::free_size_needed, xine_ring_buffer_s::get_list, xine_ring_buffer_s::lock, xine_ring_buffer_chunk_s::mem, NULL, xine_ring_buffer_chunk_s::size, xine_ring_buffer_s::tail_release, xine_list_front(), xine_list_get_value(), xine_list_next(), xine_list_remove(), and xine_pool_put().
1.8.17