]> code.delx.au - pulseaudio/blobdiff - src/pulsecore/asyncmsgq.h
remap: Change remapping function argument type from void to int16_t / float as approp...
[pulseaudio] / src / pulsecore / asyncmsgq.h
index 2f188376b4ef116cc9dc5cab4c3672cc3ff290a5..1251c735e501e232660ecb3b8c2a2eb5b322d802 100644 (file)
@@ -1,8 +1,6 @@
 #ifndef foopulseasyncmsgqhfoo
 #define foopulseasyncmsgqhfoo
 
-/* $Id$ */
-
 /***
   This file is part of PulseAudio.
 
@@ -45,7 +43,7 @@
  *    A memchunk (may be NULL)
  *
  * There are two functions for submitting messages: _post and
- * _send. The fromer just enqueues the message asynchronously, the
+ * _send. The former just enqueues the message asynchronously, the
  * latter waits for completion, synchronously. */
 
 enum {
@@ -54,21 +52,32 @@ enum {
 
 typedef struct pa_asyncmsgq pa_asyncmsgq;
 
-pa_asyncmsgq* pa_asyncmsgq_new(size_t size);
+pa_asyncmsgq* pa_asyncmsgq_new(unsigned size);
 pa_asyncmsgq* pa_asyncmsgq_ref(pa_asyncmsgq *q);
+
 void pa_asyncmsgq_unref(pa_asyncmsgq* q);
 
 void pa_asyncmsgq_post(pa_asyncmsgq *q, pa_msgobject *object, int code, const void *userdata, int64_t offset, const pa_memchunk *memchunk, pa_free_cb_t userdata_free_cb);
 int pa_asyncmsgq_send(pa_asyncmsgq *q, pa_msgobject *object, int code, const void *userdata, int64_t offset, const pa_memchunk *memchunk);
 
-int pa_asyncmsgq_get(pa_asyncmsgq *q, pa_msgobject **object, int *code, void **userdata, int64_t *offset, pa_memchunk *memchunk, int wait);
+int pa_asyncmsgq_get(pa_asyncmsgq *q, pa_msgobject **object, int *code, void **userdata, int64_t *offset, pa_memchunk *memchunk, bool wait);
 int pa_asyncmsgq_dispatch(pa_msgobject *object, int code, void *userdata, int64_t offset, pa_memchunk *memchunk);
 void pa_asyncmsgq_done(pa_asyncmsgq *q, int ret);
 int pa_asyncmsgq_wait_for(pa_asyncmsgq *a, int code);
+int pa_asyncmsgq_process_one(pa_asyncmsgq *a);
+
+void pa_asyncmsgq_flush(pa_asyncmsgq *a, bool run);
+
+/* For the reading side */
+int pa_asyncmsgq_read_fd(pa_asyncmsgq *q);
+int pa_asyncmsgq_read_before_poll(pa_asyncmsgq *a);
+void pa_asyncmsgq_read_after_poll(pa_asyncmsgq *a);
+
+/* For the write side */
+int pa_asyncmsgq_write_fd(pa_asyncmsgq *q);
+void pa_asyncmsgq_write_before_poll(pa_asyncmsgq *a);
+void pa_asyncmsgq_write_after_poll(pa_asyncmsgq *a);
 
-/* Just for the reading side */
-int pa_asyncmsgq_get_fd(pa_asyncmsgq *q);
-int pa_asyncmsgq_before_poll(pa_asyncmsgq *a);
-void pa_asyncmsgq_after_poll(pa_asyncmsgq *a);
+bool pa_asyncmsgq_dispatching(pa_asyncmsgq *a);
 
 #endif