summaryrefslogtreecommitdiffstats
path: root/core.h
diff options
context:
space:
mode:
authorMark Farrugia <mark.farrugia@fiberdyne.com.au>2019-03-27 17:47:26 +1100
committerMark Farrugia <mark.farrugia@fiberdyne.com.au>2019-03-27 17:49:12 +1100
commitc22d65351d533a2077caae117e3baf5558d20963 (patch)
treee61b7162bbbe6939eeb1afddaf53001aba683dab /core.h
parent07068446e60502bbd4b7b3a5df16a6246183e1ed (diff)
Rework routing system
- Add 'route' to snd_avirt_stream, remove from audio path - Add route checking - ensure that source ap and ink ap have compatible hw params - Add private data support for both source and sink Audio Paths, to ensure that the PCM can hold multiple private data(s). - Add ability to use copy_kernel and exttriggers from AVIRT instead of from Audio Paths - Reintroduce pcm_trigger and pcm_prepare, so that they may be called appropriately from AVIRT, rather than child Audio Paths. Signed-off-by: Mark Farrugia <mark.farrugia@fiberdyne.com.au>
Diffstat (limited to 'core.h')
-rw-r--r--core.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/core.h b/core.h
index e4fb7a4..f915c04 100644
--- a/core.h
+++ b/core.h
@@ -128,6 +128,18 @@ struct snd_avirt_audiopath *snd_avirt_audiopath_get(const char *uid);
struct snd_avirt_route *snd_avirt_route_create(const char *name, int direction);
/**
+ * snd_avirt_route_endpoint_pos - get route endpoint position for Audio Path
+ * @pcm: The PCM whose route to inspect.
+ * @ap_uid: The Audio Path UID to get
+ * @endpoint: The route position (SND_AVIRT_ROUTE_SOURCE or SND_AVIRT_ROUTE_SINK)
+ * of the Audio Path in it's route (if any).
+ * @return: 0 if an Audio Path is found in the route, -1 if there is no route,
+ * or -2 otherwise.
+ */
+int snd_avirt_route_endpoint_pos(struct snd_pcm *pcm, const char *ap_uid,
+ snd_avirt_route_endpoint *endpoint);
+
+/**
* snd_avirt_stream_from_config_item - Convert config_item to a snd_avirt_stream
* @item: The config_item to convert from
* @return: The item's snd_avirt_stream if successful, NULL otherwise