summaryrefslogtreecommitdiffstats
path: root/sound
diff options
context:
space:
mode:
authorMark Farrugia <mark.farrugia@fiberdyne.com.au>2019-04-01 11:58:08 +1100
committerMark Farrugia <mark.farrugia@fiberdyne.com.au>2019-04-01 11:58:59 +1100
commit92c383e87fffd5fd22c553e30b9fc94f2cb5f9c0 (patch)
tree28d2621bb423b302ced5475514f03cb06b917715 /sound
parentc22d65351d533a2077caae117e3baf5558d20963 (diff)
Add 'internal' streams for routing, revamp stream finalisation
Uses the ALSA internal PCM API to create streams purely used for internal routing purposes. Adds the 'try_complete' functions for both streams and routes in an attempt to standardize the finalization of a stream or route object. Signed-off-by: Mark Farrugia <mark.farrugia@fiberdyne.com.au>
Diffstat (limited to 'sound')
-rw-r--r--sound/avirt.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/sound/avirt.h b/sound/avirt.h
index ecb0a21..9259d83 100644
--- a/sound/avirt.h
+++ b/sound/avirt.h
@@ -63,6 +63,7 @@ struct snd_avirt_route {
unsigned int channels; /* Route stream channel count */
unsigned int direction; /* Route stream direction */
struct snd_avirt_audiopath *endpoint_ap[2]; /* Source/sink */
+ struct snd_avirt_stream *endpoint_stream[2]; /* Router PCM */
struct config_item item; /* configfs item reference */
};
@@ -91,6 +92,7 @@ struct snd_avirt_stream {
unsigned int channels; /* Stream channel count */
unsigned int device; /* Stream PCM device no. */
unsigned int direction; /* Stream direction */
+ bool internal; /* Stream is internal only? */
struct snd_pcm *pcm; /* ALSA PCM */
struct snd_pcm_ops *pcm_ops; /* ALSA PCM ops */
struct snd_avirt_route *route; /* Associated route, if any */