assert(name);
c = pa_xnew(pa_context, 1);
- c->ref = 1;
+ PA_REFCNT_INIT(c);
c->name = pa_xstrdup(name);
c->mainloop = mainloop;
c->client = NULL;
pa_context* pa_context_ref(pa_context *c) {
assert(c);
- assert(c->ref >= 1);
+ assert(PA_REFCNT_VALUE(c) >= 1);
- c->ref++;
+ PA_REFCNT_INC(c);
return c;
}
void pa_context_unref(pa_context *c) {
assert(c);
- assert(c->ref >= 1);
+ assert(PA_REFCNT_VALUE(c) >= 1);
- if (--c->ref <= 0)
+ if (PA_REFCNT_DEC(c) <= 0)
context_free(c);
}
void pa_context_set_state(pa_context *c, pa_context_state_t st) {
assert(c);
- assert(c->ref >= 1);
+ assert(PA_REFCNT_VALUE(c) >= 1);
if (c->state == st)
return;
void pa_context_fail(pa_context *c, int error) {
assert(c);
- assert(c->ref >= 1);
+ assert(PA_REFCNT_VALUE(c) >= 1);
pa_context_set_error(c, error);
pa_context_set_state(c, PA_CONTEXT_FAILED);
assert(chunk->memblock);
assert(chunk->length);
assert(c);
- assert(c->ref >= 1);
+ assert(PA_REFCNT_VALUE(c) >= 1);
pa_context_ref(c);
int pa_context_handle_error(pa_context *c, uint32_t command, pa_tagstruct *t) {
assert(c);
- assert(c->ref >= 1);
+ assert(PA_REFCNT_VALUE(c) >= 1);
if (command == PA_COMMAND_ERROR) {
assert(t);
int r = -1;
assert(c);
- assert(c->ref >= 1);
+ assert(PA_REFCNT_VALUE(c) >= 1);
PA_CHECK_VALIDITY(c, c->state == PA_CONTEXT_UNCONNECTED, PA_ERR_BADSTATE);
PA_CHECK_VALIDITY(c, !(flags & ~PA_CONTEXT_NOAUTOSPAWN), PA_ERR_INVALID);
void pa_context_disconnect(pa_context *c) {
assert(c);
- assert(c->ref >= 1);
+ assert(PA_REFCNT_VALUE(c) >= 1);
pa_context_set_state(c, PA_CONTEXT_TERMINATED);
}
pa_context_state_t pa_context_get_state(pa_context *c) {
assert(c);
- assert(c->ref >= 1);
+ assert(PA_REFCNT_VALUE(c) >= 1);
return c->state;
}
int pa_context_errno(pa_context *c) {
assert(c);
- assert(c->ref >= 1);
+ assert(PA_REFCNT_VALUE(c) >= 1);
return c->error;
}
void pa_context_set_state_callback(pa_context *c, pa_context_notify_cb_t cb, void *userdata) {
assert(c);
- assert(c->ref >= 1);
+ assert(PA_REFCNT_VALUE(c) >= 1);
c->state_callback = cb;
c->state_userdata = userdata;
int pa_context_is_pending(pa_context *c) {
assert(c);
- assert(c->ref >= 1);
+ assert(PA_REFCNT_VALUE(c) >= 1);
PA_CHECK_VALIDITY(c,
c->state == PA_CONTEXT_CONNECTING ||
int done = 1;
assert(o);
- assert(o->ref >= 1);
+ assert(PA_REFCNT_VALUE(o) >= 1);
assert(o->context);
- assert(o->context->ref >= 1);
+ assert(PA_REFCNT_VALUE(o->context) >= 1);
assert(o->context->state == PA_CONTEXT_READY);
pa_pstream_set_drain_callback(o->context->pstream, NULL, NULL);
pa_operation *o;
assert(c);
- assert(c->ref >= 1);
+ assert(PA_REFCNT_VALUE(c) >= 1);
PA_CHECK_VALIDITY_RETURN_NULL(c, c->state == PA_CONTEXT_READY, PA_ERR_BADSTATE);
PA_CHECK_VALIDITY_RETURN_NULL(c, pa_context_is_pending(c), PA_ERR_BADSTATE);
assert(pd);
assert(o);
- assert(o->ref >= 1);
+ assert(PA_REFCNT_VALUE(o) >= 1);
if (!o->context)
goto finish;
uint32_t tag;
assert(c);
- assert(c->ref >= 1);
+ assert(PA_REFCNT_VALUE(c) >= 1);
PA_CHECK_VALIDITY_RETURN_NULL(c, c->state == PA_CONTEXT_READY, PA_ERR_BADSTATE);
uint32_t tag;
assert(c);
- assert(c->ref >= 1);
+ assert(PA_REFCNT_VALUE(c) >= 1);
PA_CHECK_VALIDITY_RETURN_NULL(c, c->state == PA_CONTEXT_READY, PA_ERR_BADSTATE);
uint32_t tag;
assert(c);
- assert(c->ref >= 1);
+ assert(PA_REFCNT_VALUE(c) >= 1);
PA_CHECK_VALIDITY_RETURN_NULL(c, c->state == PA_CONTEXT_READY, PA_ERR_BADSTATE);
uint32_t tag;
assert(c);
- assert(c->ref >= 1);
+ assert(PA_REFCNT_VALUE(c) >= 1);
PA_CHECK_VALIDITY_RETURN_NULL(c, c->state == PA_CONTEXT_READY, PA_ERR_BADSTATE);
uint32_t tag;
assert(c);
- assert(c->ref >= 1);
+ assert(PA_REFCNT_VALUE(c) >= 1);
assert(name);
PA_CHECK_VALIDITY_RETURN_NULL(c, c->state == PA_CONTEXT_READY, PA_ERR_BADSTATE);
const char* pa_context_get_server(pa_context *c) {
assert(c);
- assert(c->ref >= 1);
+ assert(PA_REFCNT_VALUE(c) >= 1);
if (!c->server)
return NULL;
uint32_t pa_context_get_server_protocol_version(pa_context *c) {
assert(c);
- assert(c->ref >= 1);
+ assert(PA_REFCNT_VALUE(c) >= 1);
return c->version;
}
#include <pulsecore/mcalign.h>
#include <pulsecore/memblockq.h>
#include <pulsecore/hashmap.h>
+#include <pulsecore/refcnt.h>
#include "client-conf.h"
#define DEFAULT_TIMEOUT (30)
struct pa_context {
- int ref;
+ PA_REFCNT_DECLARE;
char *name;
pa_mainloop_api* mainloop;
} pa_index_correction;
struct pa_stream {
- int ref;
+ PA_REFCNT_DECLARE;
pa_context *context;
pa_mainloop_api *mainloop;
PA_LLIST_FIELDS(pa_stream);
typedef void (*pa_operation_cb_t)(void);
struct pa_operation {
- int ref;
+ PA_REFCNT_DECLARE;
+
pa_context *context;
pa_stream *stream;
assert(pd);
assert(o);
- assert(o->ref >= 1);
+ assert(PA_REFCNT_VALUE(o) >= 1);
memset(&i, 0, sizeof(i));
assert(pd);
assert(o);
- assert(o->ref >= 1);
+ assert(PA_REFCNT_VALUE(o) >= 1);
memset(&i, 0, sizeof(i));
assert(pd);
assert(o);
- assert(o->ref >= 1);
+ assert(PA_REFCNT_VALUE(o) >= 1);
if (!o->context)
goto finish;
uint32_t tag;
assert(c);
- assert(c->ref >= 1);
+ assert(PA_REFCNT_VALUE(c) >= 1);
assert(cb);
PA_CHECK_VALIDITY_RETURN_NULL(c, c->state == PA_CONTEXT_READY, PA_ERR_BADSTATE);
uint32_t tag;
assert(c);
- assert(c->ref >= 1);
+ assert(PA_REFCNT_VALUE(c) >= 1);
assert(cb);
PA_CHECK_VALIDITY_RETURN_NULL(c, c->state == PA_CONTEXT_READY, PA_ERR_BADSTATE);
assert(pd);
assert(o);
- assert(o->ref >= 1);
+ assert(PA_REFCNT_VALUE(o) >= 1);
if (!o->context)
goto finish;
uint32_t tag;
assert(c);
- assert(c->ref >= 1);
+ assert(PA_REFCNT_VALUE(c) >= 1);
assert(cb);
PA_CHECK_VALIDITY_RETURN_NULL(c, c->state == PA_CONTEXT_READY, PA_ERR_BADSTATE);
uint32_t tag;
assert(c);
- assert(c->ref >= 1);
+ assert(PA_REFCNT_VALUE(c) >= 1);
assert(cb);
PA_CHECK_VALIDITY_RETURN_NULL(c, c->state == PA_CONTEXT_READY, PA_ERR_BADSTATE);
assert(pd);
assert(o);
- assert(o->ref >= 1);
+ assert(PA_REFCNT_VALUE(o) >= 1);
if (!o->context)
goto finish;
uint32_t tag;
assert(c);
- assert(c->ref >= 1);
+ assert(PA_REFCNT_VALUE(c) >= 1);
assert(cb);
PA_CHECK_VALIDITY_RETURN_NULL(c, c->state == PA_CONTEXT_READY, PA_ERR_BADSTATE);
assert(pd);
assert(o);
- assert(o->ref >= 1);
+ assert(PA_REFCNT_VALUE(o) >= 1);
if (!o->context)
goto finish;
uint32_t tag;
assert(c);
- assert(c->ref >= 1);
+ assert(PA_REFCNT_VALUE(c) >= 1);
assert(cb);
PA_CHECK_VALIDITY_RETURN_NULL(c, c->state == PA_CONTEXT_READY, PA_ERR_BADSTATE);
assert(pd);
assert(o);
- assert(o->ref >= 1);
+ assert(PA_REFCNT_VALUE(o) >= 1);
if (!o->context)
goto finish;
uint32_t tag;
assert(c);
- assert(c->ref >= 1);
+ assert(PA_REFCNT_VALUE(c) >= 1);
assert(cb);
PA_CHECK_VALIDITY_RETURN_NULL(c, c->state == PA_CONTEXT_READY, PA_ERR_BADSTATE);
assert(pd);
assert(o);
- assert(o->ref >= 1);
+ assert(PA_REFCNT_VALUE(o) >= 1);
if (!o->context)
goto finish;
uint32_t tag;
assert(c);
- assert(c->ref >= 1);
+ assert(PA_REFCNT_VALUE(c) >= 1);
assert(cb);
PA_CHECK_VALIDITY_RETURN_NULL(c, c->state == PA_CONTEXT_READY, PA_ERR_BADSTATE);
uint32_t tag;
assert(c);
- assert(c->ref >= 1);
+ assert(PA_REFCNT_VALUE(c) >= 1);
assert(volume);
PA_CHECK_VALIDITY_RETURN_NULL(c, c->state == PA_CONTEXT_READY, PA_ERR_BADSTATE);
uint32_t tag;
assert(c);
- assert(c->ref >= 1);
+ assert(PA_REFCNT_VALUE(c) >= 1);
assert(name);
assert(volume);
uint32_t tag;
assert(c);
- assert(c->ref >= 1);
+ assert(PA_REFCNT_VALUE(c) >= 1);
PA_CHECK_VALIDITY_RETURN_NULL(c, c->state == PA_CONTEXT_READY, PA_ERR_BADSTATE);
uint32_t tag;
assert(c);
- assert(c->ref >= 1);
+ assert(PA_REFCNT_VALUE(c) >= 1);
assert(name);
PA_CHECK_VALIDITY_RETURN_NULL(c, c->state == PA_CONTEXT_READY, PA_ERR_BADSTATE);
uint32_t tag;
assert(c);
- assert(c->ref >= 1);
+ assert(PA_REFCNT_VALUE(c) >= 1);
assert(volume);
PA_CHECK_VALIDITY_RETURN_NULL(c, c->state == PA_CONTEXT_READY, PA_ERR_BADSTATE);
uint32_t tag;
assert(c);
- assert(c->ref >= 1);
+ assert(PA_REFCNT_VALUE(c) >= 1);
PA_CHECK_VALIDITY_RETURN_NULL(c, c->state == PA_CONTEXT_READY, PA_ERR_BADSTATE);
PA_CHECK_VALIDITY_RETURN_NULL(c, idx != PA_INVALID_INDEX, PA_ERR_INVALID);
uint32_t tag;
assert(c);
- assert(c->ref >= 1);
+ assert(PA_REFCNT_VALUE(c) >= 1);
assert(volume);
PA_CHECK_VALIDITY_RETURN_NULL(c, c->state == PA_CONTEXT_READY, PA_ERR_BADSTATE);
uint32_t tag;
assert(c);
- assert(c->ref >= 1);
+ assert(PA_REFCNT_VALUE(c) >= 1);
assert(name);
assert(volume);
uint32_t tag;
assert(c);
- assert(c->ref >= 1);
+ assert(PA_REFCNT_VALUE(c) >= 1);
PA_CHECK_VALIDITY_RETURN_NULL(c, c->state == PA_CONTEXT_READY, PA_ERR_BADSTATE);
uint32_t tag;
assert(c);
- assert(c->ref >= 1);
+ assert(PA_REFCNT_VALUE(c) >= 1);
assert(name);
PA_CHECK_VALIDITY_RETURN_NULL(c, c->state == PA_CONTEXT_READY, PA_ERR_BADSTATE);
assert(pd);
assert(o);
- assert(o->ref >= 1);
+ assert(PA_REFCNT_VALUE(o) >= 1);
if (!o->context)
goto finish;
uint32_t tag;
assert(c);
- assert(c->ref >= 1);
+ assert(PA_REFCNT_VALUE(c) >= 1);
assert(cb);
PA_CHECK_VALIDITY_RETURN_NULL(c, c->state == PA_CONTEXT_READY, PA_ERR_BADSTATE);
uint32_t tag;
assert(c);
- assert(c->ref >= 1);
+ assert(PA_REFCNT_VALUE(c) >= 1);
assert(cb);
PA_CHECK_VALIDITY_RETURN_NULL(c, c->state == PA_CONTEXT_READY, PA_ERR_BADSTATE);
uint32_t tag;
assert(c);
- assert(c->ref >= 1);
+ assert(PA_REFCNT_VALUE(c) >= 1);
PA_CHECK_VALIDITY_RETURN_NULL(c, c->state == PA_CONTEXT_READY, PA_ERR_BADSTATE);
PA_CHECK_VALIDITY_RETURN_NULL(c, idx != PA_INVALID_INDEX, PA_ERR_INVALID);
assert(pd);
assert(o);
- assert(o->ref >= 1);
+ assert(PA_REFCNT_VALUE(o) >= 1);
if (!o->context)
goto finish;
uint32_t tag;
assert(c);
- assert(c->ref >= 1);
+ assert(PA_REFCNT_VALUE(c) >= 1);
PA_CHECK_VALIDITY_RETURN_NULL(c, c->state == PA_CONTEXT_READY, PA_ERR_BADSTATE);
PA_CHECK_VALIDITY_RETURN_NULL(c, name && *name, PA_ERR_INVALID);
assert(pd);
assert(o);
- assert(o->ref >= 1);
+ assert(PA_REFCNT_VALUE(o) >= 1);
if (!o->context)
goto finish;
uint32_t tag;
assert(c);
- assert(c->ref >= 1);
+ assert(PA_REFCNT_VALUE(c) >= 1);
assert(cb);
PA_CHECK_VALIDITY_RETURN_NULL(c, c->state == PA_CONTEXT_READY, PA_ERR_BADSTATE);
uint32_t tag;
assert(c);
- assert(c->ref >= 1);
+ assert(PA_REFCNT_VALUE(c) >= 1);
assert(cb);
PA_CHECK_VALIDITY_RETURN_NULL(c, c->state == PA_CONTEXT_READY, PA_ERR_BADSTATE);
uint32_t tag;
assert(c);
- assert(c->ref >= 1);
+ assert(PA_REFCNT_VALUE(c) >= 1);
PA_CHECK_VALIDITY_RETURN_NULL(c, c->state == PA_CONTEXT_READY, PA_ERR_BADSTATE);
PA_CHECK_VALIDITY_RETURN_NULL(c, name && *name, PA_ERR_INVALID);
uint32_t tag;
assert(c);
- assert(c->ref >= 1);
+ assert(PA_REFCNT_VALUE(c) >= 1);
PA_CHECK_VALIDITY_RETURN_NULL(c, c->state == PA_CONTEXT_READY, PA_ERR_BADSTATE);
PA_CHECK_VALIDITY_RETURN_NULL(c, name && *name, PA_ERR_INVALID);
uint32_t tag;
assert(c);
- assert(c->ref >= 1);
+ assert(PA_REFCNT_VALUE(c) >= 1);
PA_CHECK_VALIDITY_RETURN_NULL(c, c->state == PA_CONTEXT_READY, PA_ERR_BADSTATE);
PA_CHECK_VALIDITY_RETURN_NULL(c, idx != PA_INVALID_INDEX, PA_ERR_INVALID);
uint32_t tag;
assert(c);
- assert(c->ref >= 1);
+ assert(PA_REFCNT_VALUE(c) >= 1);
PA_CHECK_VALIDITY_RETURN_NULL(c, c->state == PA_CONTEXT_READY, PA_ERR_BADSTATE);
PA_CHECK_VALIDITY_RETURN_NULL(c, c->version >= 10, PA_ERR_NOTSUPPORTED);
uint32_t tag;
assert(c);
- assert(c->ref >= 1);
+ assert(PA_REFCNT_VALUE(c) >= 1);
PA_CHECK_VALIDITY_RETURN_NULL(c, c->state == PA_CONTEXT_READY, PA_ERR_BADSTATE);
PA_CHECK_VALIDITY_RETURN_NULL(c, c->version >= 10, PA_ERR_NOTSUPPORTED);
uint32_t tag;
assert(c);
- assert(c->ref >= 1);
+ assert(PA_REFCNT_VALUE(c) >= 1);
PA_CHECK_VALIDITY_RETURN_NULL(c, c->state == PA_CONTEXT_READY, PA_ERR_BADSTATE);
PA_CHECK_VALIDITY_RETURN_NULL(c, c->version >= 10, PA_ERR_NOTSUPPORTED);
uint32_t tag;
assert(c);
- assert(c->ref >= 1);
+ assert(PA_REFCNT_VALUE(c) >= 1);
PA_CHECK_VALIDITY_RETURN_NULL(c, c->state == PA_CONTEXT_READY, PA_ERR_BADSTATE);
PA_CHECK_VALIDITY_RETURN_NULL(c, c->version >= 10, PA_ERR_NOTSUPPORTED);
uint32_t tag;
assert(c);
- assert(c->ref >= 1);
+ assert(PA_REFCNT_VALUE(c) >= 1);
PA_CHECK_VALIDITY_RETURN_NULL(c, c->state == PA_CONTEXT_READY, PA_ERR_BADSTATE);
PA_CHECK_VALIDITY_RETURN_NULL(c, c->version >= 11, PA_ERR_NOTSUPPORTED);
uint32_t tag;
assert(c);
- assert(c->ref >= 1);
+ assert(PA_REFCNT_VALUE(c) >= 1);
PA_CHECK_VALIDITY_RETURN_NULL(c, c->state == PA_CONTEXT_READY, PA_ERR_BADSTATE);
PA_CHECK_VALIDITY_RETURN_NULL(c, c->version >= 11, PA_ERR_NOTSUPPORTED);
uint32_t tag;
assert(c);
- assert(c->ref >= 1);
+ assert(PA_REFCNT_VALUE(c) >= 1);
PA_CHECK_VALIDITY_RETURN_NULL(c, c->state == PA_CONTEXT_READY, PA_ERR_BADSTATE);
PA_CHECK_VALIDITY_RETURN_NULL(c, c->version >= 11, PA_ERR_NOTSUPPORTED);
uint32_t tag;
assert(c);
- assert(c->ref >= 1);
+ assert(PA_REFCNT_VALUE(c) >= 1);
PA_CHECK_VALIDITY_RETURN_NULL(c, c->state == PA_CONTEXT_READY, PA_ERR_BADSTATE);
PA_CHECK_VALIDITY_RETURN_NULL(c, c->version >= 11, PA_ERR_NOTSUPPORTED);
pa_assert(c);
o = pa_xnew(pa_operation, 1);
- o->ref = 1;
+ PA_REFCNT_INIT(o);
o->context = c;
o->stream = s;
pa_operation *pa_operation_ref(pa_operation *o) {
pa_assert(o);
- pa_assert(o->ref >= 1);
+ pa_assert(PA_REFCNT_VALUE(o) >= 1);
- o->ref++;
+ PA_REFCNT_INC(o);
return o;
}
void pa_operation_unref(pa_operation *o) {
pa_assert(o);
- pa_assert(o->ref >= 1);
+ pa_assert(PA_REFCNT_VALUE(o) >= 1);
- if ((--(o->ref)) == 0) {
+ if (PA_REFCNT_DEC(o) <= 0) {
pa_assert(!o->context);
pa_assert(!o->stream);
pa_xfree(o);
static void operation_set_state(pa_operation *o, pa_operation_state_t st) {
pa_assert(o);
- pa_assert(o->ref >= 1);
+ pa_assert(PA_REFCNT_VALUE(o) >= 1);
if (st == o->state)
return;
if ((o->state == PA_OPERATION_DONE) || (o->state == PA_OPERATION_CANCELED)) {
if (o->context) {
- pa_assert(o->ref >= 2);
+ pa_assert(PA_REFCNT_VALUE(o) >= 2);
PA_LLIST_REMOVE(pa_operation, o->context->operations, o);
pa_operation_unref(o);
void pa_operation_cancel(pa_operation *o) {
pa_assert(o);
- pa_assert(o->ref >= 1);
+ pa_assert(PA_REFCNT_VALUE(o) >= 1);
operation_set_state(o, PA_OPERATION_CANCELED);
}
void pa_operation_done(pa_operation *o) {
pa_assert(o);
- pa_assert(o->ref >= 1);
+ pa_assert(PA_REFCNT_VALUE(o) >= 1);
operation_set_state(o, PA_OPERATION_DONE);
}
pa_operation_state_t pa_operation_get_state(pa_operation *o) {
pa_assert(o);
- pa_assert(o->ref >= 1);
+ pa_assert(PA_REFCNT_VALUE(o) >= 1);
return o->state;
}
uint32_t tag;
assert(c);
- assert(c->ref >= 1);
+ assert(PA_REFCNT_VALUE(c) >= 1);
PA_CHECK_VALIDITY_RETURN_NULL(c, c->state == PA_CONTEXT_READY, PA_ERR_BADSTATE);
PA_CHECK_VALIDITY_RETURN_NULL(c, name && *name, PA_ERR_INVALID);
uint32_t tag;
assert(c);
- assert(c->ref >= 1);
+ assert(PA_REFCNT_VALUE(c) >= 1);
PA_CHECK_VALIDITY_RETURN_NULL(c, c->state == PA_CONTEXT_READY, PA_ERR_BADSTATE);
PA_CHECK_VALIDITY_RETURN_NULL(c, name && *name, PA_ERR_INVALID);
PA_CHECK_VALIDITY_RETURN_NULL(c, !map || (pa_channel_map_valid(map) && map->channels == ss->channels), PA_ERR_INVALID);
s = pa_xnew(pa_stream, 1);
- s->ref = 1;
+ PA_REFCNT_INIT(s);
s->context = c;
s->mainloop = c->mainloop;
void pa_stream_unref(pa_stream *s) {
assert(s);
- assert(s->ref >= 1);
+ assert(PA_REFCNT_VALUE(s) >= 1);
- if (--(s->ref) == 0)
+ if (PA_REFCNT_DEC(s) <= 0)
stream_free(s);
}
pa_stream* pa_stream_ref(pa_stream *s) {
assert(s);
- assert(s->ref >= 1);
+ assert(PA_REFCNT_VALUE(s) >= 1);
- s->ref++;
+ PA_REFCNT_INC(s);
return s;
}
pa_stream_state_t pa_stream_get_state(pa_stream *s) {
assert(s);
- assert(s->ref >= 1);
+ assert(PA_REFCNT_VALUE(s) >= 1);
return s->state;
}
pa_context* pa_stream_get_context(pa_stream *s) {
assert(s);
- assert(s->ref >= 1);
+ assert(PA_REFCNT_VALUE(s) >= 1);
return s->context;
}
uint32_t pa_stream_get_index(pa_stream *s) {
assert(s);
- assert(s->ref >= 1);
+ assert(PA_REFCNT_VALUE(s) >= 1);
PA_CHECK_VALIDITY_RETURN_ANY(s->context, s->state == PA_STREAM_READY, PA_ERR_BADSTATE, PA_INVALID_INDEX);
void pa_stream_set_state(pa_stream *s, pa_stream_state_t st) {
assert(s);
- assert(s->ref >= 1);
+ assert(PA_REFCNT_VALUE(s) >= 1);
if (s->state == st)
return;
uint32_t tag;
assert(s);
- assert(s->ref >= 1);
+ assert(PA_REFCNT_VALUE(s) >= 1);
PA_CHECK_VALIDITY(s->context, s->state == PA_STREAM_UNCONNECTED, PA_ERR_BADSTATE);
PA_CHECK_VALIDITY(s->context, !(flags & ~((direction != PA_STREAM_UPLOAD ?
pa_stream *sync_stream) {
assert(s);
- assert(s->ref >= 1);
+ assert(PA_REFCNT_VALUE(s) >= 1);
return create_stream(PA_STREAM_PLAYBACK, s, dev, attr, flags, volume, sync_stream);
}
pa_stream_flags_t flags) {
assert(s);
- assert(s->ref >= 1);
+ assert(PA_REFCNT_VALUE(s) >= 1);
return create_stream(PA_STREAM_RECORD, s, dev, attr, flags, NULL, NULL);
}
pa_memchunk chunk;
assert(s);
- assert(s->ref >= 1);
+ assert(PA_REFCNT_VALUE(s) >= 1);
assert(data);
PA_CHECK_VALIDITY(s->context, s->state == PA_STREAM_READY, PA_ERR_BADSTATE);
int pa_stream_peek(pa_stream *s, const void **data, size_t *length) {
assert(s);
- assert(s->ref >= 1);
+ assert(PA_REFCNT_VALUE(s) >= 1);
assert(data);
assert(length);
int pa_stream_drop(pa_stream *s) {
assert(s);
- assert(s->ref >= 1);
+ assert(PA_REFCNT_VALUE(s) >= 1);
PA_CHECK_VALIDITY(s->context, s->state == PA_STREAM_READY, PA_ERR_BADSTATE);
PA_CHECK_VALIDITY(s->context, s->direction == PA_STREAM_RECORD, PA_ERR_BADSTATE);
size_t pa_stream_writable_size(pa_stream *s) {
assert(s);
- assert(s->ref >= 1);
+ assert(PA_REFCNT_VALUE(s) >= 1);
PA_CHECK_VALIDITY_RETURN_ANY(s->context, s->state == PA_STREAM_READY, PA_ERR_BADSTATE, (size_t) -1);
PA_CHECK_VALIDITY_RETURN_ANY(s->context, s->direction != PA_STREAM_RECORD, PA_ERR_BADSTATE, (size_t) -1);
size_t pa_stream_readable_size(pa_stream *s) {
assert(s);
- assert(s->ref >= 1);
+ assert(PA_REFCNT_VALUE(s) >= 1);
PA_CHECK_VALIDITY_RETURN_ANY(s->context, s->state == PA_STREAM_READY, PA_ERR_BADSTATE, (size_t) -1);
PA_CHECK_VALIDITY_RETURN_ANY(s->context, s->direction == PA_STREAM_RECORD, PA_ERR_BADSTATE, (size_t) -1);
uint32_t tag;
assert(s);
- assert(s->ref >= 1);
+ assert(PA_REFCNT_VALUE(s) >= 1);
PA_CHECK_VALIDITY_RETURN_NULL(s->context, s->state == PA_STREAM_READY, PA_ERR_BADSTATE);
PA_CHECK_VALIDITY_RETURN_NULL(s->context, s->direction == PA_STREAM_PLAYBACK, PA_ERR_BADSTATE);
int cidx = 0;
assert(s);
- assert(s->ref >= 1);
+ assert(PA_REFCNT_VALUE(s) >= 1);
PA_CHECK_VALIDITY_RETURN_NULL(s->context, s->state == PA_STREAM_READY, PA_ERR_BADSTATE);
PA_CHECK_VALIDITY_RETURN_NULL(s->context, s->direction != PA_STREAM_UPLOAD, PA_ERR_BADSTATE);
assert(pd);
assert(s);
- assert(s->ref >= 1);
+ assert(PA_REFCNT_VALUE(s) >= 1);
pa_stream_ref(s);
uint32_t tag;
assert(s);
- assert(s->ref >= 1);
+ assert(PA_REFCNT_VALUE(s) >= 1);
PA_CHECK_VALIDITY(s->context, s->channel_valid, PA_ERR_BADSTATE);
PA_CHECK_VALIDITY(s->context, s->context->state == PA_CONTEXT_READY, PA_ERR_BADSTATE);
void pa_stream_set_read_callback(pa_stream *s, pa_stream_request_cb_t cb, void *userdata) {
assert(s);
- assert(s->ref >= 1);
+ assert(PA_REFCNT_VALUE(s) >= 1);
s->read_callback = cb;
s->read_userdata = userdata;
void pa_stream_set_write_callback(pa_stream *s, pa_stream_request_cb_t cb, void *userdata) {
assert(s);
- assert(s->ref >= 1);
+ assert(PA_REFCNT_VALUE(s) >= 1);
s->write_callback = cb;
s->write_userdata = userdata;
void pa_stream_set_state_callback(pa_stream *s, pa_stream_notify_cb_t cb, void *userdata) {
assert(s);
- assert(s->ref >= 1);
+ assert(PA_REFCNT_VALUE(s) >= 1);
s->state_callback = cb;
s->state_userdata = userdata;
void pa_stream_set_overflow_callback(pa_stream *s, pa_stream_notify_cb_t cb, void *userdata) {
assert(s);
- assert(s->ref >= 1);
+ assert(PA_REFCNT_VALUE(s) >= 1);
s->overflow_callback = cb;
s->overflow_userdata = userdata;
void pa_stream_set_underflow_callback(pa_stream *s, pa_stream_notify_cb_t cb, void *userdata) {
assert(s);
- assert(s->ref >= 1);
+ assert(PA_REFCNT_VALUE(s) >= 1);
s->underflow_callback = cb;
s->underflow_userdata = userdata;
void pa_stream_set_latency_update_callback(pa_stream *s, pa_stream_notify_cb_t cb, void *userdata) {
assert(s);
- assert(s->ref >= 1);
+ assert(PA_REFCNT_VALUE(s) >= 1);
s->latency_update_callback = cb;
s->latency_update_userdata = userdata;
assert(pd);
assert(o);
- assert(o->ref >= 1);
+ assert(PA_REFCNT_VALUE(o) >= 1);
if (!o->context)
goto finish;
uint32_t tag;
assert(s);
- assert(s->ref >= 1);
+ assert(PA_REFCNT_VALUE(s) >= 1);
PA_CHECK_VALIDITY_RETURN_NULL(s->context, s->state == PA_STREAM_READY, PA_ERR_BADSTATE);
PA_CHECK_VALIDITY_RETURN_NULL(s->context, s->direction != PA_STREAM_UPLOAD, PA_ERR_BADSTATE);
uint32_t tag;
assert(s);
- assert(s->ref >= 1);
+ assert(PA_REFCNT_VALUE(s) >= 1);
PA_CHECK_VALIDITY_RETURN_NULL(s->context, s->state == PA_STREAM_READY, PA_ERR_BADSTATE);
uint32_t tag;
assert(s);
- assert(s->ref >= 1);
+ assert(PA_REFCNT_VALUE(s) >= 1);
assert(name);
PA_CHECK_VALIDITY_RETURN_NULL(s->context, s->state == PA_STREAM_READY, PA_ERR_BADSTATE);
pa_usec_t usec = 0;
assert(s);
- assert(s->ref >= 1);
+ assert(PA_REFCNT_VALUE(s) >= 1);
PA_CHECK_VALIDITY(s->context, s->state == PA_STREAM_READY, PA_ERR_BADSTATE);
PA_CHECK_VALIDITY(s->context, s->direction != PA_STREAM_UPLOAD, PA_ERR_BADSTATE);
static pa_usec_t time_counter_diff(pa_stream *s, pa_usec_t a, pa_usec_t b, int *negative) {
assert(s);
- assert(s->ref >= 1);
+ assert(PA_REFCNT_VALUE(s) >= 1);
if (negative)
*negative = 0;
int64_t cindex;
assert(s);
- assert(s->ref >= 1);
+ assert(PA_REFCNT_VALUE(s) >= 1);
assert(r_usec);
PA_CHECK_VALIDITY(s->context, s->state == PA_STREAM_READY, PA_ERR_BADSTATE);
const pa_timing_info* pa_stream_get_timing_info(pa_stream *s) {
assert(s);
- assert(s->ref >= 1);
+ assert(PA_REFCNT_VALUE(s) >= 1);
PA_CHECK_VALIDITY_RETURN_NULL(s->context, s->state == PA_STREAM_READY, PA_ERR_BADSTATE);
PA_CHECK_VALIDITY_RETURN_NULL(s->context, s->direction != PA_STREAM_UPLOAD, PA_ERR_BADSTATE);
const pa_sample_spec* pa_stream_get_sample_spec(pa_stream *s) {
assert(s);
- assert(s->ref >= 1);
+ assert(PA_REFCNT_VALUE(s) >= 1);
return &s->sample_spec;
}
const pa_channel_map* pa_stream_get_channel_map(pa_stream *s) {
assert(s);
- assert(s->ref >= 1);
+ assert(PA_REFCNT_VALUE(s) >= 1);
return &s->channel_map;
}
const pa_buffer_attr* pa_stream_get_buffer_attr(pa_stream *s) {
assert(s);
- assert(s->ref >= 1);
+ assert(PA_REFCNT_VALUE(s) >= 1);
PA_CHECK_VALIDITY_RETURN_NULL(s->context, s->state == PA_STREAM_READY, PA_ERR_BADSTATE);
PA_CHECK_VALIDITY_RETURN_NULL(s->context, s->direction != PA_STREAM_UPLOAD, PA_ERR_BADSTATE);
uint32_t tag;
assert(c);
- assert(c->ref >= 1);
+ assert(PA_REFCNT_VALUE(c) >= 1);
PA_CHECK_VALIDITY_RETURN_NULL(c, c->state == PA_CONTEXT_READY, PA_ERR_BADSTATE);
void pa_context_set_subscribe_callback(pa_context *c, pa_context_subscribe_cb_t cb, void *userdata) {
assert(c);
- assert(c->ref >= 1);
+ assert(PA_REFCNT_VALUE(c) >= 1);
c->subscribe_callback = cb;
c->subscribe_userdata = userdata;