From 8e151019a32b733420e2eb3006a5edaac5bc9589 Mon Sep 17 00:00:00 2001 From: Mark Farrugia Date: Wed, 3 Apr 2019 17:41:32 +1100 Subject: 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 --- core.h | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'core.h') 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. -- cgit 1.2.3-korg