summaryrefslogtreecommitdiffstats
path: root/slv2/plugin.h
diff options
context:
space:
mode:
Diffstat (limited to 'slv2/plugin.h')
-rw-r--r--slv2/plugin.h21
1 files changed, 21 insertions, 0 deletions
diff --git a/slv2/plugin.h b/slv2/plugin.h
index 01dfc60..2b2a295 100644
--- a/slv2/plugin.h
+++ b/slv2/plugin.h
@@ -158,6 +158,27 @@ slv2_plugin_get_property(const SLV2Plugin* p,
uint32_t
slv2_plugin_get_num_ports(const SLV2Plugin* p);
+/** Return whether or not the plugin introduces (and reports) latency.
+ *
+ * The index of the latency port can be found with slv2_plugin_get_latency_port
+ * ONLY if this function returns true.
+ */
+bool
+slv2_plugin_has_latency(const SLV2Plugin* p);
+
+/** Return the index of the plugin's latency port, or the empty string if the
+ * plugin has no latency.
+ *
+ * It is a fatal error to call this on a plugin without checking if the port
+ * exists by first calling slv2_plugin_has_latency.
+ *
+ * Any plugin that introduces unwanted latency that should be compensated for
+ * (by hosts with the ability/need) MUST provide this port, which is a control
+ * rate output port that reports the latency for each cycle in frames.
+ */
+uint32_t
+slv2_plugin_get_latency_port(const SLV2Plugin* p);
+
/** @} */