diff options
author | Mark Farrugia <mark.farrugia@fiberdyne.com.au> | 2019-03-27 17:47:26 +1100 |
---|---|---|
committer | Mark Farrugia <mark.farrugia@fiberdyne.com.au> | 2019-03-27 17:47:48 +1100 |
commit | 382476f00747316ee01dcc410a31cc27830c18ca (patch) | |
tree | 81ffeaf255f8bdf41ee60de8a3503247d1123de6 /core.h | |
parent | 5bf4dc0f5f50bb5adafb2a43e19007619d195748 (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.h | 12 |
1 files changed, 12 insertions, 0 deletions
@@ -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 |