summaryrefslogtreecommitdiffstats
path: root/core.h
diff options
context:
space:
mode:
authorMark Farrugia <mark.farrugia@fiberdyne.com.au>2019-04-03 17:41:32 +1100
committerMark Farrugia <mark.farrugia@fiberdyne.com.au>2019-04-08 13:57:54 +1000
commit8e151019a32b733420e2eb3006a5edaac5bc9589 (patch)
tree0117c22646a7d880b71b1908957a00a347fdf020 /core.h
parent16912fcce2802752ba11b884d920c71cae5eb1c9 (diff)
Introduce 'unconfigure' callback
The 'unconfigure' callback can be used to clean up the 'configured' state of an Audio Path, for when it is desired to reset the streams, and/or reload a different stream configuration. To destroy the streams, we must attempt to force their PCMs closed. Take note though, that if a PCM is being written to when an unconfigure command is issued, system instability may occur. Signed-off-by: Mark Farrugia <mark.farrugia@fiberdyne.com.au>
Diffstat (limited to 'core.h')
-rw-r--r--core.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/core.h b/core.h
index 6f63e8c..c39002a 100644
--- a/core.h
+++ b/core.h
@@ -81,6 +81,8 @@ void snd_avirt_audiopath_destroy_obj(struct snd_avirt_audiopath_obj *p);
*/
int snd_avirt_streams_configure(void);
+int snd_avirt_streams_unconfigure(void);
+
/**
* snd_avirt_streams_configured - Check if streams have been configured or not
* @return: true if configured, false otherwise
@@ -122,6 +124,8 @@ int snd_avirt_route_try_complete(struct snd_avirt_route *route);
* @return: 0 on success, negative ERRNO on failure
*/
int snd_avirt_stream_try_complete(struct snd_avirt_stream *stream);
+void snd_avirt_stream_try_destroy(struct snd_avirt_stream *stream);
+
/**
* snd_avirt_stream_set_map - Set Audio Path mapping for a given stream
* @stream: The stream to assign the mapping to.