summaryrefslogtreecommitdiffstats
path: root/src/pulsecore/sink.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/pulsecore/sink.h')
-rw-r--r--src/pulsecore/sink.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/pulsecore/sink.h b/src/pulsecore/sink.h
index 7a8cdaf1..13033960 100644
--- a/src/pulsecore/sink.h
+++ b/src/pulsecore/sink.h
@@ -42,6 +42,7 @@ typedef struct pa_device_port pa_device_port;
#include <pulsecore/rtpoll.h>
#include <pulsecore/card.h>
#include <pulsecore/queue.h>
+#include <pulsecore/thread-mq.h>
#define PA_MAX_INPUTS_PER_SINK 32
@@ -343,4 +344,10 @@ pa_usec_t pa_sink_get_latency_within_thread(pa_sink *s);
pa_device_port *pa_device_port_new(const char *name, const char *description, size_t extra);
void pa_device_port_free(pa_device_port *p);
+/* Verify that we called in IO context (aka 'thread context), or that
+ * the sink is not yet set up, i.e. the thread not set up yet. See
+ * pa_assert_io_context() in thread-mq.h for more information. */
+#define pa_sink_assert_io_context(s) \
+ pa_assert(pa_thread_mq_get() || !PA_SINK_IS_LINKED((s)->state))
+
#endif