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:33 +1100
commit9e19ac94121963f26f85df1685ac346cc698fe4b (patch)
tree84a3ed7c35bc70d0b04795e01d9710c5218452b0 /sound
parent382476f00747316ee01dcc410a31cc27830c18ca (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 */