add new API pa_mempool_block_size_max() to query the maximum tile size

git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1831 fefdeb5f-60dc-0310-8127-8f9354f1896f
This commit is contained in:
Lennart Poettering 2007-09-16 21:57:15 +00:00
parent fce8507179
commit ac1ee4e675
2 changed files with 9 additions and 1 deletions

View file

@ -300,7 +300,7 @@ pa_memblock *pa_memblock_new_pool(pa_mempool *p, size_t length) {
* take the largest size that fits in one of our slots. */ * take the largest size that fits in one of our slots. */
if (length == (size_t) -1) if (length == (size_t) -1)
length = p->block_size - PA_ALIGN(sizeof(struct mempool_slot)) - PA_ALIGN(sizeof(pa_memblock)); length = pa_mempool_block_size_max(p);
if (p->block_size - PA_ALIGN(sizeof(struct mempool_slot)) >= PA_ALIGN(sizeof(pa_memblock)) + length) { if (p->block_size - PA_ALIGN(sizeof(struct mempool_slot)) >= PA_ALIGN(sizeof(pa_memblock)) + length) {
@ -722,6 +722,13 @@ const pa_mempool_stat* pa_mempool_get_stat(pa_mempool *p) {
return &p->stat; return &p->stat;
} }
/* No lock necessary */
size_t pa_mempool_block_size_max(pa_mempool *p) {
pa_assert(p);
return p->block_size - PA_ALIGN(sizeof(struct mempool_slot)) - PA_ALIGN(sizeof(pa_memblock));
}
/* No lock necessary */ /* No lock necessary */
void pa_mempool_vacuum(pa_mempool *p) { void pa_mempool_vacuum(pa_mempool *p) {
struct mempool_slot *slot; struct mempool_slot *slot;

View file

@ -122,6 +122,7 @@ const pa_mempool_stat* pa_mempool_get_stat(pa_mempool *p);
void pa_mempool_vacuum(pa_mempool *p); void pa_mempool_vacuum(pa_mempool *p);
int pa_mempool_get_shm_id(pa_mempool *p, uint32_t *id); int pa_mempool_get_shm_id(pa_mempool *p, uint32_t *id);
int pa_mempool_is_shared(pa_mempool *p); int pa_mempool_is_shared(pa_mempool *p);
size_t pa_mempool_block_size_max(pa_mempool *p);
/* For recieving blocks from other nodes */ /* For recieving blocks from other nodes */
pa_memimport* pa_memimport_new(pa_mempool *p, pa_memimport_release_cb_t cb, void *userdata); pa_memimport* pa_memimport_new(pa_mempool *p, pa_memimport_release_cb_t cb, void *userdata);