From b5f75a7ec8eac8bf08ca6756a7a227fc81006433 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Duval?= Date: Mon, 7 Jul 2008 20:45:54 +0000 Subject: [PATCH] forgot to close the stream before deletion git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26310 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/add-ons/kernel/drivers/audio/echo/echo.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/add-ons/kernel/drivers/audio/echo/echo.cpp b/src/add-ons/kernel/drivers/audio/echo/echo.cpp index ee58496c4c..8a82b4dfae 100644 --- a/src/add-ons/kernel/drivers/audio/echo/echo.cpp +++ b/src/add-ons/kernel/drivers/audio/echo/echo.cpp @@ -385,9 +385,19 @@ void echo_stream_delete(echo_stream *stream) { cpu_status status; + ECHOGALS_CLOSEAUDIOPARAMETERS close_params; LOG(("echo_stream_delete\n")); echo_stream_halt(stream); + + if (stream->pipe >= 0) { + close_params.wPipeIndex = stream->pipe; + status = stream->card->pEG->CloseAudio(&close_params); + if (status != ECHOSTATUS_OK && status != ECHOSTATUS_CHANNEL_NOT_OPEN) { + PRINT(("echo_stream_set_audioparms : CloseAudio failed\n")); + PRINT((" status: %s \n", pStatusStrs[status])); + } + } if(stream->buffer) echo_mem_free(stream->card, stream->buffer->log_base);