aboutsummaryrefslogtreecommitdiffstats
path: root/src/portaudio.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/portaudio.c')
-rw-r--r--src/portaudio.c24
1 files changed, 16 insertions, 8 deletions
diff --git a/src/portaudio.c b/src/portaudio.c
index 6a4316d..44dba2e 100644
--- a/src/portaudio.c
+++ b/src/portaudio.c
@@ -194,28 +194,36 @@ jalv_backend_open(Jalv* jalv)
}
void
-jalv_backend_close(Jalv* ZIX_UNUSED(jalv))
+jalv_backend_close(Jalv* jalv)
{
- Pa_Terminate();
+ if (jalv->backend) {
+ PaError st = paNoError;
+ if (jalv->backend->stream && (st = Pa_CloseStream(jalv->backend->stream))) {
+ jalv_log(JALV_LOG_ERR, "Error closing audio (%s)\n", Pa_GetErrorText(st));
+ }
+
+ if ((st = Pa_Terminate())) {
+ jalv_log(
+ JALV_LOG_ERR, "Error terminating audio (%s)\n", Pa_GetErrorText(st));
+ }
+ }
}
void
jalv_backend_activate(Jalv* jalv)
{
- const int st = Pa_StartStream(jalv->backend->stream);
+ const PaError st = Pa_StartStream(jalv->backend->stream);
if (st != paNoError) {
- jalv_log(
- JALV_LOG_ERR, "Error starting audio stream (%s)\n", Pa_GetErrorText(st));
+ jalv_log(JALV_LOG_ERR, "Error starting audio (%s)\n", Pa_GetErrorText(st));
}
}
void
jalv_backend_deactivate(Jalv* jalv)
{
- const int st = Pa_CloseStream(jalv->backend->stream);
+ const PaError st = Pa_StopStream(jalv->backend->stream);
if (st != paNoError) {
- jalv_log(
- JALV_LOG_ERR, "Error closing audio stream (%s)\n", Pa_GetErrorText(st));
+ jalv_log(JALV_LOG_ERR, "Error stopping audio (%s)\n", Pa_GetErrorText(st));
}
}