mirror of
https://gitlab.freedesktop.org/pulseaudio/pulseaudio.git
synced 2025-11-07 13:30:03 -05:00
* some commenting work
* add new field "read_only" to memory blocks * add new API function pa_context_get_server() * filter capture data through mcalign on client * make module-tunnel use pa_socket_client_new_string() instead of using pa_resolve_server() directly. * remove pa_resolve_server() * remove debug.h and replace it by a macro definition on the gcc command line * some strbuf cleanups * small fixes in pa_stream for cleanup when server dies * new CLI command "load-sample-dir-lazy" * send FQDN as part of server info * rework mcalign, this time with memory block merging * fix iochannel cleanup when connection dies * check getaddrinfo() results git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@286 fefdeb5f-60dc-0310-8127-8f9354f1896f
This commit is contained in:
parent
f5f6605254
commit
0a2bbc528b
30 changed files with 636 additions and 273 deletions
|
|
@ -34,6 +34,11 @@
|
|||
static void stat_add(struct pa_memblock*m, struct pa_memblock_stat *s) {
|
||||
assert(m);
|
||||
|
||||
if (!s) {
|
||||
m->stat = NULL;
|
||||
return;
|
||||
}
|
||||
|
||||
m->stat = pa_memblock_stat_ref(s);
|
||||
s->total++;
|
||||
s->allocated++;
|
||||
|
|
@ -61,17 +66,7 @@ struct pa_memblock *pa_memblock_new(size_t length, struct pa_memblock_stat*s) {
|
|||
b->length = length;
|
||||
b->data = b+1;
|
||||
b->free_cb = NULL;
|
||||
stat_add(b, s);
|
||||
return b;
|
||||
}
|
||||
|
||||
struct pa_memblock *pa_memblock_new_fixed(void *d, size_t length, struct pa_memblock_stat*s) {
|
||||
struct pa_memblock *b = pa_xmalloc(sizeof(struct pa_memblock));
|
||||
b->type = PA_MEMBLOCK_FIXED;
|
||||
b->ref = 1;
|
||||
b->length = length;
|
||||
b->data = d;
|
||||
b->free_cb = NULL;
|
||||
b->read_only = 0;
|
||||
stat_add(b, s);
|
||||
return b;
|
||||
}
|
||||
|
|
@ -83,11 +78,24 @@ struct pa_memblock *pa_memblock_new_dynamic(void *d, size_t length, struct pa_me
|
|||
b->length = length;
|
||||
b->data = d;
|
||||
b->free_cb = NULL;
|
||||
b->read_only = 0;
|
||||
stat_add(b, s);
|
||||
return b;
|
||||
}
|
||||
|
||||
struct pa_memblock *pa_memblock_new_user(void *d, size_t length, void (*free_cb)(void *p), struct pa_memblock_stat*s) {
|
||||
struct pa_memblock *pa_memblock_new_fixed(void *d, size_t length, int read_only, struct pa_memblock_stat*s) {
|
||||
struct pa_memblock *b = pa_xmalloc(sizeof(struct pa_memblock));
|
||||
b->type = PA_MEMBLOCK_FIXED;
|
||||
b->ref = 1;
|
||||
b->length = length;
|
||||
b->data = d;
|
||||
b->free_cb = NULL;
|
||||
b->read_only = read_only;
|
||||
stat_add(b, s);
|
||||
return b;
|
||||
}
|
||||
|
||||
struct pa_memblock *pa_memblock_new_user(void *d, size_t length, void (*free_cb)(void *p), int read_only, struct pa_memblock_stat*s) {
|
||||
struct pa_memblock *b;
|
||||
assert(d && length && free_cb);
|
||||
b = pa_xmalloc(sizeof(struct pa_memblock));
|
||||
|
|
@ -96,6 +104,7 @@ struct pa_memblock *pa_memblock_new_user(void *d, size_t length, void (*free_cb)
|
|||
b->length = length;
|
||||
b->data = d;
|
||||
b->free_cb = free_cb;
|
||||
b->read_only = read_only;
|
||||
stat_add(b, s);
|
||||
return b;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue